Fix django ajax selects
[auf_rh_dae.git] / project / menu.py
1 # -*- coding: utf-8 -*-
2
3 """
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.
6
7 To activate your custom menu add the following to your settings.py::
8 ADMIN_TOOLS_MENU = 'project.menu.CustomMenu'
9 """
10
11 from django.core.urlresolvers import reverse
12 from django.utils.translation import ugettext_lazy as _
13
14 from admin_tools.menu import items, Menu
15 from project.rh.decorators import in_drh_or_admin
16 from project.rh import groups
17
18 class CustomMenu(Menu):
19 """
20 Custom Menu for project admin site.
21 """
22 def __init__(self, **kwargs):
23 Menu.__init__(self, **kwargs)
24 self.children += [
25 items.MenuItem(_('Dashboard'), reverse('admin:index')),
26 #items.Bookmarks(),
27 items.AppList(
28 _('Applications'),
29 exclude=('django.contrib.*', 'project.rh.models.EmployeProxy')
30 ),
31 items.AppList(
32 _('Administration'),
33 models=('django.contrib.*',)
34 )
35 ]
36
37 def init_with_context(self, context):
38 """
39 Use this method if you need to access the request context.
40 """
41 request = context['request']
42 user_groups = request.user.groups.all()
43 if in_drh_or_admin(request.user) or\
44 groups.grp_correspondants_rh in user_groups or\
45 groups.grp_administrateurs in user_groups or\
46 groups.grp_directeurs_bureau in user_groups:
47 self.children += [
48 items.MenuItem('Rapports',
49 children=[
50 #items.MenuItem('Rapport des postes', reverse('rhr_postes')),
51 items.MenuItem('Rapport des contrats', reverse('rhr_contrats')),
52 items.MenuItem(u'Rapport des employés sans contrat', reverse('rhr_employe_sans_contrat')),
53 #items.MenuItem('Rapport de rémunération', reverse('rhr_remuneration')),
54
55 # A corriger
56 #items.MenuItem('Rapport des postes par service', reverse('rhr_postes_service')),
57 #items.MenuItem('Rapport des postes par implantation', reverse('rhr_postes_implantation')),
58
59 #items.MenuItem('Modelisation des postes', reverse('rhr_postes_modelisation')),
60 #items.MenuItem('Rapport hiérarchique des postes', reverse('rhr_postes_hierarchie')),
61 items.MenuItem('Rapport de masse salariale', reverse('rhr_masse_salariale')),
62 ]
63 ),
64 items.MenuItem('Organigrammes',
65 children=[
66 items.MenuItem('Organigramme par employé', reverse('admin:rh_employeproxy_changelist')),
67 items.MenuItem('Organigramme par service', reverse('admin:rh_serviceproxy_changelist')),
68 items.MenuItem('Organigramme par implantation', reverse('admin:rh_implantationproxy_changelist')),
69 items.MenuItem('Organigramme par bureau', reverse('admin:rh_regionproxy_changelist')),
70 ]
71 ),
72 ]
73 super(CustomMenu, self).init_with_context(context)
74