from django import forms from django.utils.translation import ugettext_lazy as _ from material import Fieldset from aleksis.core.forms import EditGroupForm from aleksis.core.models import Group from aleksis.core.util.core_helpers import get_site_preferences class UntisUploadForm(forms.Form): untis_xml = forms.FileField(label=_("Untis XML export")) class GroupSubjectForm(forms.ModelForm): child_groups = forms.ModelMultipleChoiceField(queryset=Group.objects.all()) class Meta: model = Group fields = [ "name", "short_name", "untis_subject", ] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["name"].widget = forms.HiddenInput() self.fields["short_name"].widget = forms.HiddenInput() GroupSubjectFormset = forms.modelformset_factory( Group, form=GroupSubjectForm, max_num=0, extra=0 ) if get_site_preferences()["untis_mysql__use_course_groups"]: EditGroupForm.add_node_to_layout(Fieldset(_("UNTIS import"), "untis_subject"))