Skip to content
Snippets Groups Projects
Select Git revision
  • 18fd5d61c2709b04a688f5973d03514aa73f151d
  • renovate/django-split-settings-1.x
  • renovate/djangorestframework-3.x
  • main
  • 520-improve-trackmanager
  • 520-fix-scheduling
  • 520-akowner
  • 520-status
  • 520-message-resolved
  • 520-improve-scheduling-2
  • renovate/django-bootstrap5-24.x
  • 520-improve-submission
  • 520-improve-scheduling
  • 520-improve-wall
  • 520-fix-event-wizard-datepicker
  • 520-upgrades
  • renovate/tzdata-2023.x
  • renovate/django-5.x
  • renovate/fontawesomefree-6.x
  • renovate/sphinx-rtd-theme-2.x
  • renovate/sphinxcontrib-apidoc-0.x
21 results

forms.py

Blame
  • Forked from KIF / AKPlanning
    Source project has a limited visibility.
    • Benjamin Hättasch's avatar
      c8c87946
      Introduce and use wizard for event creation and configuration · c8c87946
      Benjamin Hättasch authored
      The wizard is used instead of the normal built-in creation workflow
      It consists of multiple steps to specify the most fundamental settings (especially the timezone), further settings, copying AKCategories and AKRequirements from existing events and activating the event once the basic configuration is done
      The steps after the creation (first two steps) can be skipped
      c8c87946
      History
      Introduce and use wizard for event creation and configuration
      Benjamin Hättasch authored
      The wizard is used instead of the normal built-in creation workflow
      It consists of multiple steps to specify the most fundamental settings (especially the timezone), further settings, copying AKCategories and AKRequirements from existing events and activating the event once the basic configuration is done
      The steps after the creation (first two steps) can be skipped
    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