import os
from django import template
+# -*- coding: utf-8 -*-
-from project import groups
+from project import groups
from project.dae.workflow import ETATS_EDITABLE
register = template.Library()
+
@register.filter
def test_membre_drh(user):
grps = [g.name for g in user.groups.all()]
else:
return False
+
@register.filter
def peut_ajouter(user):
+ grp_ok = (groups.ADMINISTRATEURS,
+ groups.CORRESPONDANT_RH,
+ groups.DRH_NIVEAU_1,
+ groups.DRH_NIVEAU_2)
for g in [g.name for g in user.groups.all()]:
- if g in (groups.ADMINISTRATEURS,
- groups.CORRESPONDANT_RH,
- groups.DRH_NIVEAU_1,
- groups.DRH_NIVEAU_2):
+ if g in grp_ok:
return True
return False
-@register.filter
-def peut_importer(user):
- return groups.DRH_NIVEAU_1 in [g.name for g in user.groups.all()]
@register.filter
def est_editable(obj, user):
else:
return False
+
@register.filter
def basename(path):
return os.path.basename(path)
+
@register.inclusion_tag('dae/sort_header.html', takes_context=True)
def sort_header(context, field, title):
- """Génère une entête qu'on peut cliquer pour trier la colonne correspondante dans une table."""
+ """
+ Génère une entête qu'on peut cliquer pour trier
+ la colonne correspondante dans une table.
+ """
qs = context['request'].GET.copy()
current = qs.get('tri', None)
if current == field:
qs['tri'] = field
return {'title': title, 'qs': qs.urlencode(), 'cls': cls}
+
@register.inclusion_tag('dae/pagination.html', takes_context=True)
def pagination(context, page):
"""Génère la navigation permettant de se promener de page en page."""
previous_qs['page'] = page.previous_page_number()
next_qs = qs.copy()
next_qs['page'] = page.next_page_number()
- return {'page': page, 'previous_qs': previous_qs.urlencode(), 'next_qs': next_qs.urlencode()}
+ return {'page': page,
+ 'previous_qs': previous_qs.urlencode(),
+ 'next_qs': next_qs.urlencode()
+ }
'poste': poste,
'validationForm': validationForm,
'comparaisons_internes': comparaisons_internes,
- 'importer': in_drh_or_admin(request.user)
+ 'importer': request.user.is_superuser,
})
+@user_passes_test(lambda u: u.is_superuser)
@drh_or_admin_required
def poste_importer(request, id):
poste_dae = get_object_or_404(dae.Poste, id=id)
'validationForm': validationForm,
'comparaisons_internes': comparaisons_internes,
'comparaisons': comparaisons,
- 'importer': in_drh_or_admin(request.user)
+ 'importer': request.user.is_superuser,
})
@user_passes_test(lambda u: u.is_superuser)