ajout de marquage traité pour les rapports de modif
[auf_rh_dae.git] / project / rh / historique.py
index c7f7e9a..3b4052f 100644 (file)
@@ -1,6 +1,17 @@
 # -*- coding: utf-8 -*-
 
 from django.core.urlresolvers import reverse
+from django import forms
+from django.db import models
+from reversion.models import Revision
+
+class ModificationTraite(models.Model):
+    """
+    Classe utilisée pour marquer les révisions de reversion traitée par
+    les DRH.
+    """
+    revision = models.ForeignKey('reversion.Revision')
+    
 
 def format_revisions(qs):
     results = []
@@ -27,6 +38,7 @@ def format_revisions(qs):
                 continue
 
         results.append({
+            'id': rev.id,
             'date_created': rev.date_created.strftime("%d-%m-%Y %H:%M:%S"),
             'short_date_created': rev.date_created.strftime("%d-%m-%Y"),
             'user': rev.user,
@@ -38,3 +50,24 @@ def format_revisions(qs):
 
             })
     return results
+
+def get_active_revisions():
+    ids_revisions_traitees = [m.revision.id for m in
+            ModificationTraite.objects.all()]
+    return format_revisions(
+            Revision.objects.
+                exclude(user__isnull=True).
+                exclude(id__in=ids_revisions_traitees).
+                order_by('-date_created'))
+
+
+class TodoForm(forms.Form):
+    items = forms.MultipleChoiceField("Les items traités",
+            widget=forms.CheckboxSelectMultiple)
+
+    def __init__(self, *args, **kwargs):
+        self.revisions = kwargs.pop('revisions')
+        super(TodoForm, self).__init__(*args, **kwargs)
+        self.fields['items'].choices = [(r['id'], r['id']) for r in self.revisions]
+
+