diff --git a/abonapp/forms.py b/abonapp/forms.py index cb32d01..5129c43 100644 --- a/abonapp/forms.py +++ b/abonapp/forms.py @@ -27,6 +27,19 @@ def generate_random_password(): class AbonForm(forms.ModelForm): + def __init__(self, abon_group=None, *args, **kwargs): + super(AbonForm, self).__init__(*args, **kwargs) + if abon_group is not None: + abon_group_queryset = models.AbonStreet.objects.filter(group=abon_group) + elif self.instance is not None and self.instance.group is not None: + abon_group_queryset = models.AbonStreet.objects.filter(group=self.instance.group) + elif 'group' in self.initial.keys() and self.initial['group'] is not None: + abon_group_queryset = models.AbonStreet.objects.filter(group=self.initial['group']) + else: + abon_group_queryset = None + if abon_group_queryset is not None: + self.fields['street'].queryset = abon_group_queryset + username = forms.CharField(max_length=127, required=False, initial=generate_random_username, widget=forms.TextInput(attrs={ 'placeholder': _('login'), 'class': "form-control",