Utiliser des boutons radio oui/non plutôt qu'un checkbox pour la question
authorEric Mc Sween <eric.mcsween@gmail.com>
Thu, 4 Nov 2010 21:28:03 +0000 (17:28 -0400)
committerEric Mc Sween <eric.mcsween@gmail.com>
Thu, 4 Nov 2010 21:28:03 +0000 (17:28 -0400)
"afficher l'organisme demandeur?" dans la fiche du chercheur.

auf_savoirs_en_partage/chercheurs/forms.py
auf_savoirs_en_partage/chercheurs/models.py
auf_savoirs_en_partage/templates/chercheurs/chercheur_form.html

index 58f852f..db2dec2 100644 (file)
@@ -109,10 +109,18 @@ class TheseForm(PublicationForm):
         fields = ('titre', 'annee', 'editeur', 'lieu_edition', 'nb_pages', 'url')
         
 class ExpertiseForm(forms.ModelForm):
+    OUI_NON_CHOICES = ((1, 'Oui'), (0, 'Non'))
+    organisme_demandeur_visible = forms.ChoiceField(choices=OUI_NON_CHOICES,
+                                                    label="Voulez-vous que l'organisme demandeur soit visible sur votre fiche?",
+                                                    widget=forms.RadioSelect())
     class Meta:
         model = Expertise
         fields = ('nom', 'date', 'organisme_demandeur', 'organisme_demandeur_visible')        
 
+    def clean_organisme_demandeur_visible(self):
+        """Transforme la valeur du champ en booléen"""
+        return bool(int(self.cleaned_data['organisme_demandeur_visible']))
+
 class ChercheurFormGroup(object):
     """Groupe de formulaires nécessaires pour l'inscription et l'édition
        d'un chercheur."""
index d460b0d..ebb24c6 100644 (file)
@@ -177,8 +177,8 @@ class Expertise(models.Model):
     nom = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Objet de la dernière expertise')
     date = models.CharField(max_length=255, blank=True)
     lieu = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Lieu de la dernière expertise')
-    organisme_demandeur = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Organisme commanditaire')
-    organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme commanditaire")
+    organisme_demandeur = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Organisme demandeur')
+    organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme demandeur")
     actif = models.BooleanField(editable = False, db_column='actif')
 
     def __unicode__(self):
index 7429b1b..8661808 100644 (file)
@@ -61,7 +61,7 @@
         </table>
     </fieldset>
 
-    <fieldset>
+    <fieldset class="horizontal-radio-buttons">
         <legend>Expertise</legend>
         <div>
             {% with forms.expertise as form %}