X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fforms.py;h=9bcf8fa6ab74029fc7a4f23cbdb3be7483cf1088;hb=8e47d1e76551223a1997d9383ac0bb987e04dfad;hp=f49c7520c1723e94d41a46daf652d9ca3f47dafb;hpb=5780feb87f14d38f180230c0f30fd6e773cc3654;p=myslice.git diff --git a/portal/forms.py b/portal/forms.py index f49c7520..9bcf8fa6 100644 --- a/portal/forms.py +++ b/portal/forms.py @@ -27,23 +27,64 @@ from portal.models import PendingUser, PendingSlice #from crispy_forms.layout import Submit from django.utils.translation import ugettext_lazy as _ +# xxx painful, but... +# bootstrap3 requires the fields to be tagged class='form-control' +# my first idea was to add this in the view template of course, BUT +# I can't find a way to access the 'type=' value for a given field +# I've looked rather deeply out there but to no avail so far +# so as we have a demo coming up soon, and until we can come with a less intrusive way to handle this... +# +# initial version was +#class ContactForm(forms.Form): +# first_name = forms.CharField() +# last_name = forms.CharField() +# affiliation = forms.CharField() +# subject = forms.CharField(max_length=100) +# message = forms.CharField(widget=forms.Textarea) +# email = forms.EmailField() +# cc_myself = forms.BooleanField(required=False) + class ContactForm(forms.Form): - first_name = forms.CharField() - last_name = forms.CharField() - affiliation = forms.CharField() - subject = forms.CharField(max_length=100) - message = forms.CharField(widget=forms.Textarea) - email = forms.EmailField() - cc_myself = forms.BooleanField(required=False) + first_name = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'})) + last_name = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'})) + affiliation = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'})) + email = forms.EmailField(widget=forms.TextInput(attrs={'class':'form-control'})) + subject = forms.CharField(max_length=100,widget=forms.TextInput(attrs={'class':'form-control'})) + message = forms.CharField(widget=forms.Textarea(attrs={'class':'form-control'})) + cc_myself = forms.BooleanField(required=False,widget=forms.CheckboxInput(attrs={'class':'form-control'})) 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) +# 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) + + slice_name = forms.CharField( + widget=forms.TextInput(attrs={'class':'form-control'}), + help_text="The name for the slice you wish to create") + authority_hrn = forms.ChoiceField( + widget = forms.Select(attrs={'class':'form-control'}), + choices = [], + help_text = "An authority responsible for vetting your slice") + number_of_nodes = forms.DecimalField( + widget = forms.TextInput(attrs={'class':'form-control'}), + help_text = "The number of nodes you expect to request (informative)") + type_of_nodes = forms.CharField( + widget = forms.TextInput(attrs={'class':'form-control'}), + help_text = "The type of nodes you expect to request (informative)") + purpose = forms.CharField( + widget = forms.Textarea(attrs={'class':'form-control'}), + help_text = "The purpose of your experiment (informative)") + email = forms.EmailField( + widget = forms.TextInput(attrs={'class':'form-control'}), + help_text = "Your email address") + cc_myself = forms.BooleanField( + widget = forms.CheckboxInput(attrs={'class':'form-control'}), + required = False, + help_text = "If you'd like to be cc'ed on the request email") def __init__(self, *args, **kwargs): initial = kwargs.get('initial', {}) @@ -62,5 +103,8 @@ class SliceRequestForm(forms.Form): 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) + self.fields['authority_hrn'] = forms.ChoiceField( + widget = forms.Select(attrs={'class':'form-control'}), + choices = authority_hrn, + help_text = "An authority responsible for vetting your slice")