tweaked the contact view for bootstrap3
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 25 Sep 2013 09:02:09 +0000 (11:02 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 25 Sep 2013 09:02:09 +0000 (11:02 +0200)
portal/forms.py
portal/templates/contact.html

index f49c752..303fbdb 100644 (file)
@@ -27,14 +27,31 @@ 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 <input> 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()
index bd37415..71318ee 100644 (file)
@@ -7,8 +7,6 @@
 {% block unfold1_main %}
 
 <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}/css/onelab.css" />
-<!-- xxx ideally only onelab.css but ... xxx -->
-<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}/css/registration.css" />
 <div class="onelab-title well well-lg">
   <h2>Onelab Support</h2>
   <h4>If you have already registered, then please <a href="mailto:support@myslice.info">send an e-mail</a>
 </div>
 
 <div class='well'>
-<form class="cmxform" id="commentForm" action="#" method="post">{% csrf_token %}
+<form class="cmxform form-horizontal" id="commentForm" action="#" method="post" role="form">{% csrf_token %}
 <fieldset>
-{{ form.as_p }}
-<p style="text-align: center;width: 80%;">
-  <input class="btn" type="submit" value="Submit" />
-</p>
+  {% for field in form %}
+  <div class="form-group">
+    <label for="{{ field.html_name }}" class="col-md-4 control-label">{{ field.label }}</label>
+    <div class="col-md-4">
+<!--      <input type="{{ field.my_html_type }}" name="{{ field.html_name }}" 
+            class="required form-control" value="{{ field.value }}" 
+            placeholder="{{ field.label }}" /> -->
+          {{ field }} <p class="hint">{{ field.help_text }}</p>
+    </div>
+  </div>
+{% endfor %}
+<div class="col-md-offset-4 col-md-4">
+  <button class="submit btn btn-default" type="submit">Submit</button>
+</div>
 </fieldset>
 </form>
 </div>