from admin_tools.menu import items, Menu
+from project.decorators import in_drh_or_admin
+from project import groups
+
class CustomMenu(Menu):
"""
#items.Bookmarks(),
items.AppList(
_('Applications'),
- exclude=('django.contrib.*',)
+ exclude=('django.contrib.*', 'project.rh.models.EmployeProxy')
),
- items.MenuItem('Rapports',
- children=[
- items.MenuItem('Rapport des postes', reverse('rhr_postes')),
- items.MenuItem('Rapport des contrats', reverse('rhr_contrats')),
- items.MenuItem('Rapport de rémunération', reverse('rhr_remuneration')),
- ]
- ),
items.AppList(
_('Administration'),
models=('django.contrib.*',)
"""
Use this method if you need to access the request context.
"""
- return super(CustomMenu, self).init_with_context(context)
+ request = context['request']
+ user_groups = request.user.groups.all()
+ if in_drh_or_admin(request.user) or\
+ groups.grp_correspondants_rh in user_groups or\
+ groups.grp_administrateurs in user_groups or\
+ groups.grp_directeurs_bureau in user_groups:
+ self.children += [
+ items.MenuItem('Rapports',
+ children=[
+ #items.MenuItem('Rapport des postes', reverse('rhr_postes')),
+ items.MenuItem('Rapport des contrats', reverse('rhr_contrats')),
+ items.MenuItem(u'Rapport des employés sans contrat', reverse('rhr_employe_sans_contrat')),
+ #items.MenuItem('Rapport de rémunération', reverse('rhr_remuneration')),
+
+ # A corriger
+ #items.MenuItem('Rapport des postes par service', reverse('rhr_postes_service')),
+ #items.MenuItem('Rapport des postes par implantation', reverse('rhr_postes_implantation')),
+
+ #items.MenuItem('Modelisation des postes', reverse('rhr_postes_modelisation')),
+ #items.MenuItem('Rapport hiérarchique des postes', reverse('rhr_postes_hierarchie')),
+ items.MenuItem('Rapport de masse salariale', reverse('rhr_masse_salariale')),
+ ]
+ ),
+ items.MenuItem('Organigrammes',
+ children=[
+ items.MenuItem('Organigramme par employé', reverse('admin:rh_employeproxy_changelist')),
+ items.MenuItem('Organigramme par service', reverse('admin:rh_serviceproxy_changelist')),
+ items.MenuItem('Organigramme par implantation', reverse('admin:rh_implantationproxy_changelist')),
+ items.MenuItem('Organigramme par bureau', reverse('admin:rh_regionproxy_changelist')),
+ ]
+ ),
+ items.MenuItem('Requêtes',
+ children=[
+ items.MenuItem('Requêtes sauvegardées', reverse('admin:django_qbe_savedquery_changelist')),
+ items.MenuItem('Constructeur de requêtes', reverse('qbe_form')),
+ ]
+ ),
+ ]
+ super(CustomMenu, self).init_with_context(context)
+