nk20/apps/activity/forms.py

54 lines
1.8 KiB
Python
Raw Normal View History

2020-03-27 00:31:54 +00:00
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from django import forms
2020-03-27 17:02:22 +00:00
from django.contrib.contenttypes.models import ContentType
from member.models import Club
2020-03-27 21:48:20 +00:00
from note.models import NoteUser, Note
from note_kfet.inputs import DateTimePickerInput, AutocompleteModelSelect
2020-03-27 00:31:54 +00:00
2020-03-27 17:02:22 +00:00
from .models import Activity, Guest
2020-03-27 00:31:54 +00:00
class ActivityForm(forms.ModelForm):
class Meta:
model = Activity
exclude = ('creater', 'valid', 'open', )
widgets = {
"organizer": AutocompleteModelSelect(
model=Club,
attrs={"api_url": "/api/members/club/"},
),
2020-03-27 21:48:20 +00:00
"note": AutocompleteModelSelect(
model=Note,
attrs={
"api_url": "/api/note/note/",
'placeholder': 'Note de l\'événement sur laquelle envoyer les crédits d\'invitation ...'
},
),
"attendees_club": AutocompleteModelSelect(
model=Club,
attrs={"api_url": "/api/members/club/"},
),
"date_start": DateTimePickerInput(),
"date_end": DateTimePickerInput(),
}
2020-03-27 17:02:22 +00:00
class GuestForm(forms.ModelForm):
class Meta:
model = Guest
fields = ('last_name', 'first_name', 'inviter', )
widgets = {
"inviter": AutocompleteModelSelect(
NoteUser,
attrs={
'api_url': '/api/note/note/',
# We don't evaluate the content type at launch because the DB might be not initialized
'api_url_suffix':
2020-03-27 21:48:20 +00:00
lambda: '&polymorphic_ctype=' + str(ContentType.objects.get_for_model(NoteUser).pk),
2020-03-27 17:02:22 +00:00
'placeholder': 'Note ...',
},
),
}