nk20/apps/activity/forms.py

47 lines
1.5 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 17:02:22 +00:00
from note.models import NoteUser
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
fields = '__all__'
widgets = {
"organizer": AutocompleteModelSelect(
model=Club,
attrs={"api_url": "/api/members/club/"},
),
"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':
lambda value: '&polymorphic_ctype=' + str(ContentType.objects.get_for_model(NoteUser).pk),
'placeholder': 'Note ...',
},
),
}