Merge branch 'hotfix/another_fix_for_comparison' into dev
[auf_rh_dae.git] / project / dashboard.py
index 430acde..1868e05 100644 (file)
@@ -12,47 +12,88 @@ And to activate the app index dashboard::
     ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'SIGMA.dashboard.CustomAppIndexDashboard'
 """
 
-from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
+from django.core.urlresolvers import reverse
 from django.utils.translation import ugettext_lazy as _
-from reversion.models import Revision
+from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
 from project.decorators import in_drh_or_admin
-from project.rh.historique import format_revisions
+from project.rh.historique import get_active_revisions
 
 class CustomIndexDashboard(Dashboard):
     """
-    Custom index dashboard for SIGMA.
+    Custom index dashboard for SGRH.
     """
     def init_with_context(self, context):
         request = context['request']
 
         # append an app list module for "Applications"
-        self.children.append(modules.AppList(
+        self.children.append(modules.Group(
             _('Applications'),
-            models=(
-                'project.dae.models.*',
-                'project.recrutement.models.*',
-                'project.rh.models.AyantDroit',
-                'project.rh.models.Dossier',
-                'project.rh.models.DossierInactif',
-                'project.rh.models.Employe',
-                'project.rh.models.EmployeInactif',
-                'project.rh.models.Poste',
-            ),
+            display='stacked',
+            children=[
+                modules.ModelList(
+                    title='Demande d\'autorisation d\'engagement',
+                    models=(
+                        'project.dae.models.*',
+                    )
+                ),
+                modules.ModelList(
+                    title='Recrutement',
+                    models=(
+                        'auf.django.emploi.models.OffreEmploi',
+                        'project.recrutement.models.ProxyOffreEmploi',
+                        'auf.django.emploi.models.Candidat',
+                        'project.recrutement.models.ProxyCandidat',
+                        'project.recrutement.models.CandidatEvaluation',
+                        'project.recrutement.models.MesCandidatEvaluation',
+                        'project.recrutement.models.Evaluateur',
+                        'project.recrutement.models.OffreEmploiEvaluateur',
+                        'project.recrutement.models.CourrielTemplate',
+                    )
+                ),
+                modules.ModelList(
+                    title='Gestion des personnels',
+                    models=(
+                        'project.rh.models.AyantDroit',
+                        'project.rh.models.Dossier',
+                        'project.rh.models.DossierInactif',
+                        'project.rh.models.Employe',
+                        'project.rh.models.EmployeInactif',
+                        'project.rh.models.Poste',
+                    )
+                ),
+                modules.ModelList(
+                    title='Log',
+                    models=(
+                        'project.rh.models.ChangementPersonnel',
+                    )
+                ),
+            ]
         ))
 
+
         if in_drh_or_admin(request.user):
-            revisions = format_revisions(Revision.objects.order_by('-date_created')[:10])
+            revisions = get_active_revisions()[:10]
             children = []
             for rev in revisions:
-                if rev['objet'] is None:
-                    continue
-                titre = u"[%s %s] %s %s" % (rev['user'], rev['date_created'],
-                        rev['objet'], rev['comment'])
-                children.append({
-                    'title': titre,
-                    'url': rev['history_url'],
-                    'external': False,
-                    })
+                date = rev['short_date_created']
+                user = u"<span style='font-weight: bold;'>%s</span>" % rev['user']
+                if rev['type'] is None or rev['objet'] is None:
+                    titre = u"""<span style='color:black;'>[%s] %s</span>
+                    commentaire : %s """ % (date, user, rev['comment'])
+                    children.append({
+                        'title': titre,
+                        'url': reverse('rhr_historique_des_modifications'),
+                        'external': False,
+                        })
+                else:
+                    type = u"<span style='font-decoration: underligne;'>%s</span>" % rev['type']
+                    titre = u"""<span style='color:black;'>[%s] %s a modifié
+                        un(e) %s :</span> %s""" % (date, user, type, rev['objet'], )
+                    children.append({
+                        'title': titre,
+                        'url': rev['history_url'],
+                        'external': False,
+                        })
             self.children.append(modules.LinkList(
                 title='10 dernières modifications',
                 children=children,)
@@ -78,6 +119,7 @@ class CustomIndexDashboard(Dashboard):
                 'project.rh.models.TypeRevalorisation',
                 'project.rh.models.TypeRemuneration',
                 'project.rh.models.ValeurPoint',
+                'project.rh.models.ChangementPersonnelNotifications',
             ),
             exclude=('django.contrib.*',),
         ))