#2783
[auf_rh_dae.git] / project / rh / forms.py
index 1bdbe19..903828c 100644 (file)
@@ -30,6 +30,20 @@ class DossierForm(forms.ModelForm, FormDate):
     class Model:
         model = Dossier
 
+    def clean_principal(self):
+        employe = self.cleaned_data['employe']
+        principal = self.cleaned_data['principal']
+        dossiers_encours = employe.dossiers_encours()
+        dossiers_principaux = [dossier for dossier in dossiers_encours if \
+                dossier.principal and dossier != self.instance]
+        if principal and len(dossiers_principaux) > 0:
+            raise forms.ValidationError(u"Il y a déjà un dossier principal \
+                    actuellement en vigueur %s" % dossiers_principaux)
+        if not principal and  len(dossiers_principaux) == 0:
+            raise forms.ValidationError(u"Il y n'a aucun dossier principal actuellement en vigueur")
+        return principal
+
+
 class ContratForm(forms.ModelForm, FormDate):
 
     class Model: