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:
- children.append({
- 'title': u"%s: %s %s (%s)" % (rev['date_created'],
- rev['type'], rev['objet'], rev['comment']),
- 'url': rev['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,)
'project.rh.models.TypeRevalorisation',
'project.rh.models.TypeRemuneration',
'project.rh.models.ValeurPoint',
+ 'project.rh.models.ChangementPersonnelNotifications',
),
exclude=('django.contrib.*',),
))