Select Git revision
Forked from
KIF / AKPlanning
Source project has a limited visibility.
-
Benjamin Hättasch authored
Improve blank and unique constraints of model: - allow blank starting times of slotes to store durations before scheduling and adapt string representation - change unique constraint from name and shortname of AK to unique for each event only Implement handling of tags for submission and update (auto-creation) by using a semicolon-separated text file instead of multiple choice field Implement handling of durations for submission Automatically generate short name Use different forms for submission and update Use special adapted template for AK updates instead of submission template Fix EventSlugMixin for POST requests
Benjamin Hättasch authoredImprove blank and unique constraints of model: - allow blank starting times of slotes to store durations before scheduling and adapt string representation - change unique constraint from name and shortname of AK to unique for each event only Implement handling of tags for submission and update (auto-creation) by using a semicolon-separated text file instead of multiple choice field Implement handling of durations for submission Automatically generate short name Use different forms for submission and update Use special adapted template for AK updates instead of submission template Fix EventSlugMixin for POST requests
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
forms.py 2.59 KiB
from bootstrap_datepicker_plus import DateTimePickerInput
from django import forms
from django.forms.utils import ErrorList
from django.utils.translation import ugettext_lazy as _
from AKModel.models import Event, AKCategory, AKRequirement
class NewEventWizardStartForm(forms.ModelForm):
class Meta:
model = Event
fields = ['name', 'slug', 'timezone']
is_init = forms.BooleanField(initial=True, widget=forms.HiddenInput)
class NewEventWizardSettingsForm(forms.ModelForm):
class Meta:
model = Event
exclude = []
widgets = {
'name': forms.HiddenInput(),
'slug': forms.HiddenInput(),
'timezone': forms.HiddenInput(),
'active': forms.HiddenInput(),
'plan_hidden': forms.HiddenInput(),
'start': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
'end': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
'reso_deadline': DateTimePickerInput(options={"format": "YYYY-MM-DD HH:mm"}),
}
class NewEventWizardPrepareImportForm(forms.Form):
import_event = forms.ModelChoiceField(
queryset=Event.objects.all(),
label=_("Copy ak requirements and ak categories of existing event"),
help_text=_("You can choose what to copy in the next step")
)
class NewEventWizardImportForm(forms.Form):
import_categories = forms.ModelMultipleChoiceField(
queryset=AKCategory.objects.all(),
widget=forms.CheckboxSelectMultiple,
label=_("Copy ak categories"),
required=False,
)
import_requirements = forms.ModelMultipleChoiceField(
queryset=AKRequirement.objects.all(),
widget=forms.CheckboxSelectMultiple,
label=_("Copy ak requirements"),
required=False,
)
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=ErrorList,
label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None,
renderer=None):
super().__init__(data, files, auto_id, prefix, initial, error_class, label_suffix, empty_permitted, field_order,
use_required_attribute, renderer)
self.fields["import_categories"].queryset = self.fields["import_categories"].queryset.filter(event=self.initial["import_event"])
self.fields["import_requirements"].queryset = self.fields["import_requirements"].queryset.filter(event=self.initial["import_event"])
class NewEventWizardActivateForm(forms.ModelForm):
class Meta:
fields = ["active"]
model = Event