fix #1464, #1463
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 16 May 2011 14:46:59 +0000 (10:46 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 16 May 2011 14:46:59 +0000 (10:46 -0400)
project/dae/forms.py
project/dae/templates/dae/embauche_consulter.html
project/dae/templates/dae/poste_consulter.html
project/dae/views.py
project/dae/workflow.py

index a4a8f96..c8eab2a 100644 (file)
@@ -318,6 +318,7 @@ class DossierForm(forms.ModelForm):
 
 WF_HELP_TEXT = """Ce champs affiche par défaut l'étape de traitement de la demande.
 La liste déroulante vous permet de sélectionner l'étape suivante."""
+WF_HELP_TEXT = ""
 
 class PosteWorkflowForm(WorkflowFormMixin):
    
index 65801c4..178cab6 100644 (file)
   </table>
 
   <fieldset>
-  <h2>Validation</h2>
+  <h2>Validations</h2>
   
   <ul>
   {% for commentaire in dossier.historique_desc %}
       <li>{{ commentaire }}</li>
   {% endfor %}
   </ul>
+
+  <h2>Votre validation (ou commentaire)</h2>
+  <p>Ce dossier est présentement à l'état <span class="note">{{ poste.get_etat_display }}</span>.</p>
+  <ul>
+      <li>Si vous laissez le statut actuel, votre commentaire sera enregistré.</li>
+      <li>Si vous sélectionnez un autre statut, votre action sera considérée comme une validation, mais vous pourrez toujours ajouter un commentaire par la suite.</li>
+  </ul>
   
   <form action="" method="post">
   <table>
index c0cdb1a..e627482 100644 (file)
@@ -21,7 +21,7 @@ Demande d'autorisation d'embauche
 {% include "dae/poste_resume.html" %}
 
 <fieldset>
-<h2>Validation</h2>
+<h2>Validations</h2>
 
 <ul>
 {% for commentaire in poste.historique_desc %}
@@ -29,6 +29,13 @@ Demande d'autorisation d'embauche
 {% endfor %}
 </ul>
 
+<h2>Votre validation (ou commentaire)</h2>
+<p>Ce poste est présentement à l'état <span class="note">{{ poste.get_etat_display }}</span>.</p>
+<ul>
+    <li>Si vous laissez le statut actuel, votre commentaire sera enregistré.</li>
+    <li>Si vous sélectionnez un autre statut, votre action sera considérée comme une validation, mais vous pourrez toujours ajouter un commentaire par la suite.</li>
+</ul>
+
 <form action="" method="post">
 <table>
 {{ validationForm }}
index 6a318a6..84217ad 100644 (file)
@@ -354,7 +354,7 @@ def embauche(request, key=None, dossier_id=None):
 def embauches_liste(request):
     """ Liste des embauches. """
     vars = dict()
-    vars['embauches_a_traiter'] = dae.Dossier.objects.ma_region_ou_service(request.user).order_by('-date_creation')
+    vars['embauches_a_traiter'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
     vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
     vars['embauches_non_retenues'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=True).order_by('-date_creation')
     return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))
index ef7a037..7098a04 100644 (file)
@@ -31,6 +31,7 @@ dae_groupes = (grp_administrateurs, grp_gestionnaires, grp_directeurs_bureau, gr
                grp_directeurs_service, grp_correspondants_rh, )
 
 # codes états
+POSTE_ETAT_REFUSE = 'REFUSE'
 POSTE_ETAT_BROUILLON = 'BROUILLON'
 POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE = 'DIRECTEUR_BUR_SRV'
 POSTE_ETAT_ADMINISTRATEUR = 'ADMINISTRATEUR'
@@ -42,6 +43,7 @@ POSTE_ETAT_DRH_FINALISATION = 'DRH_FINALISATION'
 ETATS_EDITABLE = (POSTE_ETAT_BROUILLON, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DRH_CONTROLE)
 
 #codes actions
+POSTE_ACTION_ENVOYER_REFUSE = POSTE_ETAT_REFUSE
 POSTE_ACTION_ENVOYER_BROUILLON = POSTE_ETAT_BROUILLON
 POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU_OU_SERVICE = POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE
 POSTE_ACTION_ENVOYER_ADMINISTRATEUR = POSTE_ETAT_ADMINISTRATEUR
@@ -52,7 +54,8 @@ POSTE_ACTION_ENVOYER_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION
 
 #libellés états
 POSTE_ETATS = {
-    POSTE_ETAT_BROUILLON : u"Proposition",
+    POSTE_ETAT_REFUSE : u"Refusé",
+    POSTE_ETAT_BROUILLON : u"En rédaction",
     POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE : u"Directeur de bureau, pôle ou service",
     POSTE_ETAT_ADMINISTRATEUR : u"Validation de l'adminstrateur",
     POSTE_ETAT_DRH_CONTROLE : u"Validation DRH",
@@ -63,6 +66,11 @@ POSTE_ETATS = {
 
 # définition du worflow séquentiel
 POSTE_ACTIONS = {
+    POSTE_ACTION_ENVOYER_REFUSE : {
+        'nom' : u'Refuser',
+        'etat_initial' : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_POLE_FINANCIER, POSTE_ETAT_HAUTE_DIRECTION),
+        'etat_final' : POSTE_ETAT_REFUSE,
+    },
     POSTE_ACTION_ENVOYER_BROUILLON : {
         'nom' : u'Créer',
         'etat_initial' : None,
@@ -108,6 +116,8 @@ class PosteWorkflow(WorkflowMixin):
     class Meta:
         abstract = True
 
+    def acces_refuse(self, action, request):
+        return True
 
     def acces_directeur_bur_srv(self, action, request):
         for g in request.user.groups.all():
@@ -174,10 +184,10 @@ MAP_GROUPE_ETATS_A_FAIRE = {
     grp_gestionnaires : (),
     grp_service_utilisateurs : (),
     grp_correspondants_rh : (),
-    grp_administrateurs : (POSTE_ETAT_ADMINISTRATEUR, ),
-    grp_directeurs_bureau : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, ),
-    grp_drh : (POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DRH_FINALISATION, ),
-    grp_pole_financier : (DOSSIER_ETAT_POLE_FINANCIER, ),
-    grp_haute_direction : (DOSSIER_ETAT_HAUTE_DIRECTION, ),
-    grp_directeurs_service : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, ),
+    grp_administrateurs : (POSTE_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_ADMINISTRATEUR,),
+    grp_directeurs_bureau : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,),
+    grp_drh : (POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DRH_FINALISATION, DOSSIER_ETAT_DRH_CONTROLE, DOSSIER_ETAT_DRH_FINALISATION,),
+    grp_pole_financier : (POSTE_ETAT_POLE_FINANCIER, DOSSIER_ETAT_POLE_FINANCIER, ),
+    grp_haute_direction : (POSTE_ETAT_HAUTE_DIRECTION, DOSSIER_ETAT_HAUTE_DIRECTION, ),
+    grp_directeurs_service : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,),
 }