AUF_METADATA_READONLY_FIELDS
import auf.django.references.models as ref
+from project import groups
from project.decorators import in_drh_or_admin
-from project.groups import grp_correspondants_rh
from project.groups import get_employe_from_user
import project.rh.models as rh
class BaseAdmin(admin.ModelAdmin):
class Media:
- css = {'screen': ('css/admin_custom.css',)}
+ css = {'screen': (
+ 'css/admin_custom.css',
+ 'jquery-autocomplete/jquery.autocomplete.css',
+ )}
+ js = (
+ 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',
+ 'jquery-autocomplete/jquery.autocomplete.min.js',
+ )
class ArchiveMixin(object):
class RegionProxy(ref.Region):
""" Proxy utilisé pour les organigrammes par région """
class Meta:
+ managed = False
proxy = True
verbose_name = u"Organigramme par région"
verbose_name_plural = u"Organigramme par région"
class ImplantationProxy(ref.Implantation):
""" Proxy utilisé pour les organigrammes par implantation """
class Meta:
+ managed = False
proxy = True
verbose_name = u"Organigramme par implantations"
verbose_name_plural = u"Organigramme par implantations"
""" Proxy utilisé pour les organigrammes opar service """
class Meta:
+ managed = False
proxy = True
verbose_name = u"Organigramme par services"
verbose_name_plural = u"Organigramme par services"
class EmployeProxy(rh.Employe):
""" Proxy utilisé pour les organigrammes des employés """
class Meta:
+ managed = False
proxy = True
verbose_name = u"Organigramme des employés"
verbose_name_plural = u"Organigramme des employés"
if in_drh_or_admin(request.user):
return qs
- if grp_correspondants_rh in user_groups:
+ if groups.grp_correspondants_rh in user_groups or\
+ groups.grp_administrateurs in user_groups or\
+ groups.grp_directeurs_bureau in user_groups:
employe = get_employe_from_user(request.user)
q = Q(**{self.model.prefix_implantation: \
employe.implantation.region})
def has_change_permission(self, request, obj=None):
user_groups = request.user.groups.all()
- # Lock pour autoriser uniquement les DRH à utiliser RH
- if not in_drh_or_admin(request.user):
- return False
-
if len(user_groups) == 0 and not request.user.is_superuser:
return False
'remplacement_de': 'dossiers',
}, superclass=DossierForm)
+ def has_add_permission(self, request):
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
+
+ def has_delete_permission(self, request, obj=None):
+ return in_drh_or_admin(request.user)
+
def lookup_allowed(self, key, value):
if key in (
'employe__nom__istartswith',
),
)
+ def has_add_permission(self, request):
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
+
+ def has_delete_permission(self, request, obj=None):
+ return in_drh_or_admin(request.user)
+
def _apercu(self, obj):
return u"""<a title="Aperçu de l'employé"
onclick="return showAddAnotherPopup(this);"
def has_add_permission(self, obj):
return False
+ def has_change_permission(self, request, obj=None):
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
+
def _organigramme(self, obj):
l = []
for d in rh.Dossier.objects.filter(
PosteComparaisonInline,
PosteCommentaireInline, )
+ def has_add_permission(self, request):
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
+
+ def has_delete_permission(self, request, obj=None):
+ return in_drh_or_admin(request.user)
+
def lookup_allowed(self, key, value):
return key in (
'date_debut__gte', 'date_debut__isnull', 'date_fin__lte',
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return """<a href="%s"><strong>Organigramme</strong></a>""" % \
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return '<a href="%s"><strong>Organigramme</strong></a>' % (
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ user_groups = request.user.groups.all()
+ if groups.grp_correspondants_rh in user_groups or \
+ groups.grp_administrateurs in user_groups or \
+ groups.grp_directeurs_bureau in user_groups or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return """<a href="%s"><strong>Organigramme</strong></a>""" % (