X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fforms.py;h=7abc0e4132e309334e19718cab6462db6e4c94bd;hb=c7866026c1b4605f68dfd58cb91a53c874663b64;hp=46a60bd4716f8cb854f5c0b02b5a7f9c649db975;hpb=129b1502b5188c74f48e82da6c20c3b63350936c;p=myslice.git diff --git a/portal/forms.py b/portal/forms.py index 46a60bd4..7abc0e41 100644 --- a/portal/forms.py +++ b/portal/forms.py @@ -105,12 +105,12 @@ from django.utils.translation import ugettext_lazy as _ # DEPRECATED # # DEPRECATED # class Meta: # DEPRECATED # model = PendingUser - -class SliceRequestForm(forms.ModelForm): - slice_name = forms.CharField( widget=forms.TextInput ) - class Meta: - model = PendingSlice - +# DEPRECATED # +# DEPRECATED #class SliceRequestForm(forms.ModelForm): +# DEPRECATED # slice_name = forms.CharField( widget=forms.TextInput ) +# DEPRECATED # class Meta: +# DEPRECATED # model = PendingSlice +# DEPRECATED # # DEPRECATED #class RegisterUserStep2Form(forms.ModelForm): # DEPRECATED # class Meta: # DEPRECATED # model = PendingUser @@ -126,10 +126,29 @@ class ContactForm(forms.Form): class SliceRequestForm(forms.Form): slice_name = forms.CharField() + authority_hrn = forms.ChoiceField(choices=[(1, 'un')]) number_of_nodes = forms.DecimalField() type_of_nodes = forms.CharField() purpose = forms.CharField(widget=forms.Textarea) email = forms.EmailField() cc_myself = forms.BooleanField(required=False) + def __init__(self, *args, **kwargs): + initial = kwargs.get('initial', {}) + authority_hrn = initial.get('authority_hrn', None) + + # set just the initial value + # in the real form needs something like this {'authority_hrn':'a'} + # but in this case you want {'authority_hrn':('a', 'letter_a')} + if authority_hrn: + kwargs['initial']['authority_hrn'] = authority_hrn[0] + + # create the form + super(SliceRequestForm, self).__init__(*args, **kwargs) + + # self.fields only exist after, so a double validation is needed + if authority_hrn:# and authority_hrn[0] not in (c[0] for c in authority_hrn): + # XXX This does not work, the choicefield is not updated... + #self.fields['authority_hrn'].choices.extend(authority_hrn) + self.fields['authority_hrn'] = forms.ChoiceField( choices=authority_hrn)