validation WF poste + dossier
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 29 Apr 2011 14:29:50 +0000 (10:29 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 29 Apr 2011 14:29:50 +0000 (10:29 -0400)
buildout.cfg
project/dae/forms.py
project/dae/templates/dae/embauche_consulter.html
project/dae/templates/dae/poste_consulter.html
project/dae/views.py
project/settings.py

index fbe9288..e97170e 100644 (file)
@@ -28,7 +28,7 @@ south = 0.7
 auf.django.skin = 0.15dev
 auf.django.auth = 0.5.2dev
 django-reversion = 1.3.3
-auf.django.workflow = 0.8dev
+auf.django.workflow = 0.9dev
 django-ajax-selects = 1.1.4
 
 [django] 
index bae2e9a..80b2774 100644 (file)
@@ -246,3 +246,15 @@ class DossierForm(forms.ModelForm):
                        contrat_date_debut=admin_widgets.AdminDateWidget(),
                        contrat_date_fin=admin_widgets.AdminDateWidget(),
                     )
+
+class PosteWorkflowForm(WorkflowFormMixin):
+    
+    class Meta:
+        fields = ('etat', )
+        model = dae.Poste
+
+class DossierWorkflowForm(WorkflowFormMixin):
+    
+    class Meta:
+        fields = ('etat', )
+        model = dae.Dossier
index 5e5122f..531ad45 100644 (file)
@@ -11,7 +11,7 @@
 
 {% block main %}
 <h1 class="gauche">Demandes d'autorisation d'engagement de personnel</h1>
-<a class="droite bouton-modifier" href="{% url embauche dossier.poste.key dossier.id %}">Modifier<a>
+<a class="droite bouton-modifier" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>
 <div class="visualClear"></div>
 
 <h2 class="section">SECTION 1 - POSTE</h2>
     </td>
   </tr>
   </table>
+
+  <fieldset>
+  <h2>Validation</h2>
+  
+  <ul>
+  {% for commentaire in dossier.historique_desc %}
+      <li>{{ commentaire }}</li>
+  {% endfor %}
+  </ul>
+  
+  <form action="" method="post">
+  <table>
+  {{ validationForm }}
+  </table>
+  <input type="submit" value="valider" />
+  </form>
+  </fieldset>
+    
 {% endblock %}
 
index b32869d..6312405 100644 (file)
@@ -12,9 +12,29 @@ Demande d'autorisation d'embauche
 {% endblock %}
 
 {% block main %}
+
 <h1 class="gauche">Demande d'autorisation de création de poste</h1>
-<a class="droite bouton-modifier" href="{% url poste poste.key %}">Modifier<a>
+<a class="droite bouton-modifier" href="{% url poste poste.key %}">Modifier</a>
 <div class="visualClear"></div>
 
 {% include "dae/poste_resume.html" %}
+
+<fieldset>
+<h2>Validation</h2>
+
+<ul>
+{% for commentaire in poste.historique_desc %}
+    <li>{{ commentaire }}</li>
+{% endfor %}
+</ul>
+
+<form action="" method="post">
+<table>
+{{ validationForm }}
+</table>
+<input type="submit" value="valider" />
+</form>
+</fieldset>
+
+
 {% endblock %}
index cd6371c..1076271 100644 (file)
@@ -28,7 +28,17 @@ def index(request):
 def poste_consulter(request, key):
     source, id = key.split('-')
     poste = get_object_or_404(dae.Poste, pk=id)
-    vars = {'poste' : poste,  }
+    
+    if request.POST:
+        validationForm = PosteWorkflowForm(request.POST, instance=poste, request=request)
+        if validationForm.is_valid():
+            validationForm.save()
+            messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
+            return redirect('poste_consulter', key=key)
+    else:
+        validationForm = PosteWorkflowForm(instance=poste, request=request)
+    
+    vars = {'poste' : poste, 'validationForm' : validationForm, }
     return render_to_response('dae/poste_consulter.html', vars, RequestContext(request))
 
 @admin_required
@@ -119,9 +129,20 @@ def get_dossiers_connexes(poste):
 @admin_required
 def embauche_consulter(request, dossier_id):
     dossier = get_object_or_404(dae.Dossier, pk=dossier_id)
+
+    if request.POST:
+        validationForm = DossierWorkflowForm(request.POST, instance=dossier, request=request)
+        if validationForm.is_valid():
+            validationForm.save()
+            messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
+            return redirect('embauche_consulter', dossier_id=dossier.id)
+    else:
+        validationForm = DossierWorkflowForm(instance=dossier, request=request)
+    
     vars = {
         'dossier' : dossier,
         'comparaison_dossiers' : get_dossiers_connexes(dossier.poste),
+        'validationForm' : validationForm,
         }
     return render_to_response('dae/embauche_consulter.html', vars, RequestContext(request))
 
index 5c8459c..5e28e97 100644 (file)
@@ -64,6 +64,7 @@ INSTALLED_APPS = (
     'ajax_select',
     'south',
     'reversion',
+    'auf.django.workflow',
     #'project.rh', 
     'project.rh_v1',
     'project.dae',