1 # -*- coding: utf-8 -*-
4 This file was generated with the custommenu management command, it contains
5 the classes for the admin menu, you can customize this class as you want.
7 To activate your custom menu add the following to your settings.py::
8 ADMIN_TOOLS_MENU = 'project.menu.CustomMenu'
11 from django
.core
.urlresolvers
import reverse
12 from django
.utils
.translation
import ugettext_lazy
as _
14 from admin_tools
.menu
import items
, Menu
16 from project
.decorators
import in_drh_or_admin
17 from project
import groups
21 class CustomMenu(Menu
):
23 Custom Menu for project admin site.
26 def __init__(self
, **kwargs
):
27 Menu
.__init__(self
, **kwargs
)
29 items
.MenuItem(_('Dashboard'), reverse('admin:index')),
33 # exclude=('django.contrib.*', 'project.rh.models.EmployeProxy')
37 models
=('django.contrib.*',))]
39 def init_with_context(self
, context
):
41 Use this method if you need to access the request context.
43 request
= context
['request']
45 if request
.user
.is_superuser
:
47 items
.MenuItem('DAE', reverse('admin:app_list',
48 kwargs
={'app_label': 'dae'})),
51 user_groups
= [g
.name
for g
in request
.user
.groups
.all()]
52 if in_drh_or_admin(request
.user
) or\
53 groups
.CORRESPONDANT_RH
in user_groups
or\
54 groups
.ADMINISTRATEURS
in user_groups
or\
55 groups
.DIRECTEUR_DE_BUREAU
in user_groups
:
57 items
.MenuItem('Rapport des contrats',
58 reverse('rhr_contrats')),
59 items
.MenuItem(u
'Rapport des employés sans contrat',
60 reverse('rhr_employe_sans_contrat')),
61 items
.MenuItem('Rapport de masse salariale',
62 reverse('rhr_masse_salariale')),
64 if in_drh_or_admin(request
.user
):
66 items
.MenuItem('Rapport des modifications',
67 reverse('rhr_historique_des_modifications')),
70 items
.MenuItem('Rapports',
73 items
.MenuItem('Organigrammes',
75 items
.MenuItem('Organigramme par employé',
76 reverse('admin:rh_employeproxy_changelist')),
77 items
.MenuItem('Organigramme par service',
78 reverse('admin:rh_serviceproxy_changelist')),
79 items
.MenuItem('Organigramme par implantation',
80 reverse('admin:rh_implantationproxy_changelist')),
81 items
.MenuItem('Organigramme par bureau',
82 reverse('admin:rh_regionproxy_changelist')),
84 items
.MenuItem('Requêtes',
86 items
.MenuItem('Requêtes sauvegardées',
87 reverse('admin:django_qbe_savedquery_changelist')),
88 items
.MenuItem('Constructeur de requêtes',
92 super(CustomMenu
, self
).init_with_context(context
)