conflit réglé merge master et regionalisation
[auf_rh_dae.git] / project / menu.py
index e8f310c..07fc806 100644 (file)
@@ -13,6 +13,9 @@ from django.utils.translation import ugettext_lazy as _
 
 from admin_tools.menu import items, Menu
 
+from project.decorators import in_drh_or_admin
+from project import groups
+
 
 class CustomMenu(Menu):
     """
@@ -22,18 +25,11 @@ class CustomMenu(Menu):
         Menu.__init__(self, **kwargs)
         self.children += [
             items.MenuItem(_('Dashboard'), reverse('admin:index')),
-            items.Bookmarks(),
+            #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.*',)
@@ -44,4 +40,43 @@ class CustomMenu(Menu):
         """
         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)
+