from django.core.urlresolvers import reverse
from django.utils.http import urlquote
+from project.groups import grp_drh, grp_drh2
+
def redirect_interdiction(request, msg=u"Vous n'avez pas accès à cette page"):
"""
Redirection du la page de login avec un message d'erreur.
tup = login_url, REDIRECT_FIELD_NAME, path
messages.add_message(request, messages.ERROR, "Votre compte ne permet pas d'accéder à cette partie de l'application.")
return HttpResponseRedirect('%s?%s=%s' % tup)
+
+def in_drh_or_admin(user):
+ """
+ Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
+ """
+ groups = user.groups.all()
+ if user.is_superuser or \
+ grp_drh in groups or \
+ grp_drh2 in groups:
+ return True
+ else:
+ return False
+
+def drh_or_admin_required(fn):
+ """
+ Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
+ """
+ def inner(request, *args, **kwargs):
+ user = request.user
+ if in_drh_or_admin(user):
+ return fn(request, *args, **kwargs)
+ msg = u"Votre compte ne permet pas d'accéder à " \
+ u"cette partie de l'application."
+ return redirect_interdiction(request, msg)
+ return inner
from django.utils.translation import ugettext_lazy as _
from admin_tools.menu import items, Menu
-from project.rh.decorators import in_drh_or_admin
+
+from project.decorators import in_drh_or_admin
class CustomMenu(Menu):
"""
AUF_METADATA_READONLY_FIELDS
import auf.django.references.models as ref
+from project.decorators import in_drh_or_admin
from project.groups import grp_correspondants_rh
from project.dae.utils import get_employe_from_user
from project.rh.forms import \
ContratForm, AyantDroitForm, EmployeAdminForm, AjaxSelect, DossierForm
from project.rh.change_list import ChangeList
-from project.rh.decorators import in_drh_or_admin
class ArchiveMixin(object):
+++ /dev/null
-# -*- encoding: utf-8 -*-
-
-from project.groups import grp_drh, grp_drh2
-from project.decorators import redirect_interdiction
-
-
-def in_drh_or_admin(user):
- """
- Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
- """
- groups = user.groups.all()
- if user.is_superuser or \
- grp_drh in groups or \
- grp_drh2 in groups:
- return True
- else:
- return False
-
-
-def drh_or_admin_required(fn):
- """
- Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
- """
- def inner(request, *args, **kwargs):
- user = request.user
- if in_drh_or_admin(user):
- return fn(request, *args, **kwargs)
-
- msg = u"Votre compte ne permet pas d'accéder à " \
- u"cette partie de l'application."
- return redirect_interdiction(request, msg)
-
- return inner
from project.lib import get_employe_from_user
from project.decorators import redirect_interdiction
+from project.decorators import drh_or_admin_required
from project.rh import models as rh
from project.rh import graph as rh_graph
from project.rh.change_list import RechercheTemporelle
-from project.rh.decorators import drh_or_admin_required
+
from project.rh.lib import calc_remun
from project.rh.masse_salariale import MasseSalariale
from project.rh.templatetags.rapports import SortHeaders