from django import forms from django.forms import DateInput from ugssim.models import * from ugssim.models import Address from django import forms class UGSModelForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(forms.ModelForm, self).__init__(*args, **kwargs) # 'description should be the first field # value = self.fields.pop('description') # copy = self.fields.copy() # new_pos = self.fields.keyOrder.index('b') # self.fields = {'description': value} # self.fields.update(copy) # set 'form-control' as standard calls for name, field in self.fields.items(): # if field.widget.__class__ == forms.widgets.TextInput: if 'class' in field.widget.attrs: field.widget.attrs['class'] += 'form-control' else: field.widget.attrs.update({'class': 'form-control'}) class AddressForm(UGSModelForm): class Meta: model = Address # die ID muss hier wieder rein, weil sonst die Zuordnung nicht klappt oder die user ID muss primaery key werden fields = ['user', 'first_name', 'surname', 'birthday', 'street', 'number', 'postcode', 'city'] widgets = { 'birthday': forms.DateInput( format='%Y-%m-%d', attrs={ 'type': 'date' } ), #'user': forms.HiddenInput() } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # Fügt onchange zu allen Formularfeldern hinzu. for field in self.fields: self.fields[field].widget.attrs.update({'onchange': 'saveAddress(this.form)'}) # self.fields['user'].queryset = User.objects.none() class SummaryForm(UGSModelForm): class Meta: model = Summary fields = '__all__' widgets = { 'text': forms.Textarea(attrs={'rows': 10}) } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # Fügt onchange zu allen Formularfeldern hinzu. for field in self.fields: self.fields[field].widget.attrs.update({'onchange': 'saveAddress(this.form)'}) class SalesAreaTypeForm(UGSModelForm): class Meta: model = SalesAreaType fields = '__all__' class SalesAreaForm(UGSModelForm): class Meta: model = SalesArea fields = '__all__' class CompanyDataForm(UGSModelForm): class Meta: model = CompanyData fields = '__all__'