]> git.parisson.com Git - teleforma.git/commitdiff
Registration form minor changes. All
authorYoan Le Clanche <yoanl@pilotsystems.net>
Fri, 4 Oct 2019 14:09:43 +0000 (16:09 +0200)
committerYoan Le Clanche <yoanl@pilotsystems.net>
Fri, 4 Oct 2019 14:09:43 +0000 (16:09 +0200)
teleforma/admin.py
teleforma/forms.py
teleforma/static/teleforma/js/datepicker-fr.js [new file with mode: 0644]
teleforma/templates/registration/registration_form.html

index b4fd1fdfbf0b9221039f46c3c808cccd5555150f..e5e86dc61db1f4b46b0232e6792ae0fd3d79bfbf 100644 (file)
@@ -307,7 +307,7 @@ class AppointmentAdmin(admin.ModelAdmin):
         response['Content-Disposition'] = 'attachment; filename=rendezvous.csv'
         writer = csv.writer(response)
 
-        writer.writerow(['date', 'creneau', 'nom', 'prenom', 'iej', 'jury'])
+        writer.writerow(['date', 'creneau', 'nom', 'prenom', 'email', 'iej', 'jury'])
         def csv_encode(item):
             if isinstance(item, unicode):
                 return item.encode('utf-8')
@@ -318,7 +318,7 @@ class AppointmentAdmin(admin.ModelAdmin):
             user = app.student
             student = user.student.all()[0]
 
-            row = [ app.day.strftime('%d/%m/%Y'), app.start, user.last_name, user.first_name, student.iej, app.jury.name ]
+            row = [ app.day.strftime('%d/%m/%Y'), app.start, user.last_name, user.first_name, user.email, student.iej, app.jury.name ]
             row = [ csv_encode(col) for col in row ]
 
             writer.writerow(row)
index 05eb516d6e3659d7877ddd92e29761bdee070e03..9cadc2461ed26d24c75d6cfe84c86a1000d3b766 100644 (file)
@@ -6,7 +6,8 @@ from models.core import Period, CourseType
 from models.crfpa import IEJ, Training
 from teleforma.models import *
 from django.forms import ModelForm, ModelChoiceField, ModelMultipleChoiceField, BooleanField, ImageField, CharField, \
-    DateField, FileInput
+    DateField, FileInput, ChoiceField
+from django.forms.extras.widgets import SelectDateWidget
 from postman.forms import WriteForm as PostmanWriteForm
 from postman.fields import BasicCommaSeparatedUserField
 
@@ -21,6 +22,11 @@ from itertools import cycle
 from django.core.files.images import get_image_dimensions
 from PIL import Image
 
+LEVEL_CHOICES = [
+    ('', '---------'),
+    ('M1', 'M1'),
+    ('M2', 'M2'),
+]
 
 def get_unique_username(first_name, last_name):
     username = slugify(first_name)[0] + '.' + slugify(last_name)
@@ -58,35 +64,30 @@ class UserForm(ModelForm):
     city = CharField(label=_('City'), max_length=255)
     country = CharField(label=_('Country'), max_length=255)
     telephone = CharField(label=_('Telephone'), max_length=255)
-    birthday = DateField(label=_('birthday'), help_text="jj/mm/aaaa")
+    birthday = DateField(label=_('birthday'), help_text="Au format jj/mm/aaaa")
     # student
     portrait = ImageField(widget=FileInput(attrs={'accept': "image/*;capture=camera"}),
                           help_text="Veuillez utiliser une photo au format d'identité.")
+    level = ChoiceField(label=_('studying level'), choices=LEVEL_CHOICES)
     iej = ModelChoiceField(label='IEJ',
-                           queryset=IEJ.objects.all(),
-                           required=False)
+                           queryset=IEJ.objects.all())
     period = ModelChoiceField(label='Période',
                               queryset=Period.objects.filter(is_open=True,
                                                              date_inscription_start__lte=datetime.datetime.now(),
-                                                             date_inscription_end__gte=datetime.datetime.now()),
-                              required=False)
+                                                             date_inscription_end__gte=datetime.datetime.now()))
     trainings = ModelMultipleChoiceField(label='Formations',
-                                         queryset=Training.objects.filter(available=True),
-                                         required=False)
+                                         queryset=Training.objects.filter(available=True))
     platform_only = BooleanField(label=_('e-learning platform only'),
                                  required=False)
     procedure = ModelChoiceField(label=_('procedure'),
                                  help_text="Matière de procédure",
-                                 queryset=Course.objects.filter(procedure=True),
-                                 required=False)
+                                 queryset=Course.objects.filter(procedure=True))
     written_speciality = ModelChoiceField(label=_('written speciality'),
                                           queryset=Course.objects.filter(written_speciality=True),
-                                          help_text="Matière juridique de spécialité",
-                                          required=False)
+                                          help_text="Matière juridique de spécialité")
     oral_1 = ModelChoiceField(label=_('oral de langue (option)'),
                               help_text="Matière d’oral de langue (en option)",
-                              queryset=Course.objects.filter(oral_1=True),
-                              required=False)
+                              queryset=Course.objects.filter(oral_1=True))
     promo_code = CharField(label=_('promo code'), max_length=100, required=False)
     # no model
     captcha = CaptchaField()
@@ -143,6 +144,7 @@ class UserForm(ModelForm):
             profile.save()
         student = Student(user=user,
                           portrait=data['portrait'],
+                          level=data.get('level'),
                           iej=data.get('iej'),
                           period=data.get('period'),
                           platform_only=data.get('platform_only'),
diff --git a/teleforma/static/teleforma/js/datepicker-fr.js b/teleforma/static/teleforma/js/datepicker-fr.js
new file mode 100644 (file)
index 0000000..9e39fbd
--- /dev/null
@@ -0,0 +1,39 @@
+/* French initialisation for the jQuery UI date picker plugin. */
+/* Written by Keith Wood (kbwood{at}iinet.com.au),
+                         Stéphane Nahmani (sholby@sholby.net),
+                         Stéphane Raimbault <stephane.raimbault@gmail.com> */
+( function( factory ) {
+       if ( typeof define === "function" && define.amd ) {
+
+               // AMD. Register as an anonymous module.
+               define( [ "../widgets/datepicker" ], factory );
+       } else {
+
+               // Browser globals
+               factory( jQuery.datepicker );
+       }
+}( function( datepicker ) {
+
+datepicker.regional.fr = {
+       closeText: "Fermer",
+       prevText: "Précédent",
+       nextText: "Suivant",
+       currentText: "Aujourd'hui",
+       monthNames: [ "janvier", "février", "mars", "avril", "mai", "juin",
+               "juillet", "août", "septembre", "octobre", "novembre", "décembre" ],
+       monthNamesShort: [ "janv.", "févr.", "mars", "avr.", "mai", "juin",
+               "juil.", "août", "sept.", "oct.", "nov.", "déc." ],
+       dayNames: [ "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" ],
+       dayNamesShort: [ "dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam." ],
+       dayNamesMin: [ "D","L","M","M","J","V","S" ],
+       weekHeader: "Sem.",
+       dateFormat: "dd/mm/yy",
+       firstDay: 1,
+       isRTL: false,
+       showMonthAfterYear: false,
+       yearSuffix: "" };
+datepicker.setDefaults( datepicker.regional.fr );
+
+return datepicker.regional.fr;
+
+} ) );
index 2b4f04c53a73ef22a0d9e54b2f6e82f5a493c7b9..79f880b99904cbaddba75a9f2d7e9b0604f2ba94 100644 (file)
@@ -3,6 +3,24 @@
 {% load telemeta_utils %}
 {% load teleforma_tags %}
 
+{% block extra_javascript %}
+    <script src="/static/teleforma/js/datepicker-fr.js" type="text/javascript"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $("[name='birthday']").datepicker({
+                dateFormat:'dd/mm/yy',
+                changeMonth: true,
+                changeYear: true,
+                yearRange: "-100:+0"
+            });
+        });
+    </script>
+{% endblock %}
+
+{% block extra_stylesheets %}
+<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
+{% endblock %}
+
 {% block title %}
     <center>{% trans "Pre-registration" %} - {% description %}</center>{% endblock %}
 
 
                 {% for field in form.visible_fields %}
                     {% if field.name != 'accept' %}
-                    <tr>
-                        <th>{{ field.label_tag }}</th>
-                        <td>
-                            {{ field.errors }}
-                            {{ field }}
-                            <br/>
-                            <span class="helptext">
+                        <tr>
+                            <th>{{ field.label_tag }}</th>
+                            <td>
+                                {{ field.errors }}
+                                {{ field }}
+                                <br/>
+                                <span class="helptext">
                             {{ field.help_text }}
                         </span>
-                        </td>
-                    </tr>
+                            </td>
+                        </tr>
                     {% endif %}
                 {% endfor %}
                 {% for field in form.visible_fields %}
                     {% if field.name == 'accept' %}
-                    <tr>
-                        <th>J'accepte les <a href="http://crfpa.pre-barreau.com/tarifs/conditions-generales-dinscription">conditions générales d'inscription</a></th>
-                        <td>
-                            {{ field.errors }}
-                            {{ field }}
-                            <br/>
-                            <span class="helptext">
+                        <tr>
+                            <th>J'accepte les <a
+                                    href="http://crfpa.pre-barreau.com/tarifs/conditions-generales-dinscription">conditions
+                                générales d'inscription</a></th>
+                            <td>
+                                {{ field.errors }}
+                                {{ field }}
+                                <br/>
+                                <span class="helptext">
                             {{ field.help_text }}
                         </span>
-                        </td>
-                    </tr>
+                            </td>
+                        </tr>
                     {% endif %}
                 {% endfor %}
             </table>