conflit réglé merge master et regionalisation
[auf_rh_dae.git] / project / menu.py
index db73ace..07fc806 100644 (file)
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 """
 This file was generated with the custommenu management command, it contains
 the classes for the admin menu, you can customize this class as you want.
 """
 This file was generated with the custommenu management command, it contains
 the classes for the admin menu, you can customize this class as you want.
@@ -11,6 +13,9 @@ from django.utils.translation import ugettext_lazy as _
 
 from admin_tools.menu import items, Menu
 
 
 from admin_tools.menu import items, Menu
 
+from project.decorators import in_drh_or_admin
+from project import groups
+
 
 class CustomMenu(Menu):
     """
 
 class CustomMenu(Menu):
     """
@@ -20,17 +25,11 @@ class CustomMenu(Menu):
         Menu.__init__(self, **kwargs)
         self.children += [
             items.MenuItem(_('Dashboard'), reverse('admin:index')),
         Menu.__init__(self, **kwargs)
         self.children += [
             items.MenuItem(_('Dashboard'), reverse('admin:index')),
-            items.Bookmarks(),
+            #items.Bookmarks(),
             items.AppList(
                 _('Applications'),
             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.AppList(
                 _('Administration'),
                 models=('django.contrib.*',)
             items.AppList(
                 _('Administration'),
                 models=('django.contrib.*',)
@@ -41,4 +40,43 @@ class CustomMenu(Menu):
         """
         Use this method if you need to access the request context.
         """
         """
         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)
+