Nouveaux champs dans "Activités en Francophonie".
authorEric Mc Sween <eric.mcsween@gmail.com>
Tue, 16 Nov 2010 16:51:16 +0000 (11:51 -0500)
committerEric Mc Sween <eric.mcsween@gmail.com>
Tue, 16 Nov 2010 16:51:16 +0000 (11:51 -0500)
auf_savoirs_en_partage/chercheurs/forms.py
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/sql/2010-11-16.sql [new file with mode: 0644]
auf_savoirs_en_partage/templates/chercheurs/chercheur_form.html
auf_savoirs_en_partage/templates/chercheurs/fiche.html

index db2851d..6a2fdb7 100644 (file)
@@ -44,8 +44,12 @@ class ChercheurForm(forms.ModelForm):
         help_text="e.g. conseil scientifique, conseil associatif, commission régionale d'experts",
         choices=OUI_NON_CHOICES, widget=forms.RadioSelect()
     )
+    membre_instance_auf_details = forms.CharField(label="Préciser laquelle et votre fonction", required=False)
     membre_instance_auf_dates = forms.CharField(label="Préciser les dates", required=False)
-    expert_oif = forms.ChoiceField(label="Êtes-vous expert de l'OIF?", choices=OUI_NON_CHOICES, widget=forms.RadioSelect())
+    expert_oif = forms.ChoiceField(label="Avez-vous déjà été sollicité par l'OIF?", choices=OUI_NON_CHOICES, widget=forms.RadioSelect())
+    expert_oif_details = forms.CharField(label="Préciser à quel titre", required=False,
+                                         help_text="Fonction dans l'organisation, participation à une étude ou à une action, etc.")
+    expert_oif_dates = forms.CharField(label="Préciser les dates", required=False)
     membre_association_francophone = forms.ChoiceField(
         label="Êtes-vous membre d'une association ou d'une société savante francophone?",
         help_text="e.g. FIPF, Collège international de philosophie, AISLF, etc.",
@@ -68,14 +72,23 @@ class ChercheurForm(forms.ModelForm):
                   'etablissement_autre_nom', 'etablissement_autre_pays',
                   'discipline', 'theme_recherche', 'groupe_recherche', 'mots_cles',
                   'url_site_web', 'url_blog', 'url_reseau_social',
-                  'membre_instance_auf', 'membre_instance_auf_dates',
-                  'expert_oif', 'membre_association_francophone', 'membre_association_francophone_details',
+                  'membre_instance_auf', 'membre_instance_auf_details', 'membre_instance_auf_dates',
+                  'expert_oif', 'expert_oif_details', 'expert_oif_dates',
+                  'membre_association_francophone',
+                  'membre_association_francophone_details',
                   'membre_reseau_institutionnel', 'membre_reseau_institutionnel_details',
                   'membre_reseau_institutionnel_dates')
         
     def clean_membre_instance_auf(self):
         return bool(int(self.cleaned_data['membre_instance_auf']))
     
+    def clean_membre_instance_auf_details(self):
+        membre = self.cleaned_data.get('membre_instance_auf')
+        details = self.cleaned_data.get('membre_instance_auf_details')
+        if membre and not details:
+            raise forms.ValidationError('Veuillez préciser')
+        return details
+
     def clean_membre_instance_auf_dates(self):
         membre = self.cleaned_data.get('membre_instance_auf')
         dates = self.cleaned_data.get('membre_instance_auf_dates')
@@ -86,6 +99,20 @@ class ChercheurForm(forms.ModelForm):
     def clean_expert_oif(self):
         return bool(int(self.cleaned_data['expert_oif']))
 
+    def clean_expert_oif_details(self):
+        expert = self.cleaned_data.get('expert_oif')
+        details = self.cleaned_data.get('expert_oif_details')
+        if expert and not details:
+            raise forms.ValidationError('Veuillez préciser')
+        return details
+
+    def clean_expert_oif_dates(self):
+        expert = self.cleaned_data.get('expert_oif')
+        dates = self.cleaned_data.get('expert_oif_dates')
+        if expert and not dates:
+            raise forms.ValidationError('Veuillez préciser les dates')
+        return dates
+
     def clean_membre_association_francophone(self):
         return bool(int(self.cleaned_data['membre_association_francophone']))
 
index b197e3a..c1863d7 100644 (file)
@@ -172,8 +172,11 @@ class Chercheur(models.Model):
     
     # Activités en francophonie
     membre_instance_auf = models.BooleanField(default=False, verbose_name="est ou a déjà été membre d'une instance de l'AUF")
+    membre_instance_auf_details = models.CharField(max_length=255, blank=True, verbose_name="détails")
     membre_instance_auf_dates = models.CharField(max_length=255, blank=True, verbose_name="dates")
-    expert_oif = models.BooleanField(default=False, verbose_name="est un expert de l'OIF")
+    expert_oif = models.BooleanField(default=False, verbose_name="a été sollicité par l'OIF")
+    expert_oif_details = models.CharField(max_length=255, blank=True, verbose_name="détails")
+    expert_oif_dates = models.CharField(max_length=255, blank=True, verbose_name="dates")
     membre_association_francophone = models.BooleanField(default=False, verbose_name="est membre d'une association francophone")
     membre_association_francophone_details = models.CharField(max_length=255, blank=True, verbose_name="nom de l'association")
     membre_reseau_institutionnel = models.BooleanField(
diff --git a/auf_savoirs_en_partage/sql/2010-11-16.sql b/auf_savoirs_en_partage/sql/2010-11-16.sql
new file mode 100644 (file)
index 0000000..690c100
--- /dev/null
@@ -0,0 +1,4 @@
+ALTER TABLE chercheurs_chercheur
+    ADD COLUMN `membre_instance_auf_details` varchar(255) NOT NULL,
+    ADD COLUMN `expert_oif_details` varchar(255) NOT NULL,
+    ADD COLUMN `expert_oif_dates` varchar(255) NOT NULL;
index 60ac354..d0385f8 100644 (file)
     <legend>Activités en Francophonie</legend>
     <table class="horizontal-radio-buttons">
         {% form_field forms.chercheur.membre_instance_auf %}
+        {% form_field forms.chercheur.membre_instance_auf_details %}
         {% form_field forms.chercheur.membre_instance_auf_dates %}
         {% form_field forms.chercheur.expert_oif %}
+        {% form_field forms.chercheur.expert_oif_details %}
+        {% form_field forms.chercheur.expert_oif_dates %}
         {% form_field forms.chercheur.membre_association_francophone %}
         {% form_field forms.chercheur.membre_association_francophone_details %}
         {% form_field forms.chercheur.membre_reseau_institutionnel %}
index 346b393..82344c3 100644 (file)
         {% if chercheur.membre_instance_auf %}
         <tr>
             <td class="label">Membre d'une instance de l'AUF</td>
-            <td>{{ chercheur.membre_instance_auf_dates }}</td>
+            <td>{{ chercheur.membre_instance_auf_details }}, {{ chercheur.membre_instance_auf_dates }}</td>
         </tr>
         {% endif %}
         {% if chercheur.expert_oif %}
         <tr>
             <td class="label">Expert de l'OIF</td>
-            <td>oui</td>
+            <td>{{ chercheur.expert_oif_details }}, {{ chercheur.expert_oif_dates }}</td>
         </tr>
         {% endif %}
         {% if chercheur.membre_association_francophone %}
@@ -96,7 +96,7 @@
         {% if chercheur.membre_reseau_institutionnel %}
         <tr>
             <td class="label">Membre d'instances d'un réseau institutionnel de l'AUF</td>
-            <td>{{ chercheur.membre_reseau_institutionnel_details }}
+            <td>{{ chercheur.membre_reseau_institutionnel_details }},
                 {{ chercheur.membre_reseau_institutionnel_dates }}</td>
         </tr>
         {% endif %}