Ne pas utiliser Content-Disposition: attachment pour les fichiers téléchargeables...
[auf_rh_dae.git] / project / dae / templatetags / dae.py
index 1cbcb06..cdfc638 100644 (file)
@@ -1,20 +1,42 @@
+# -*- encoding: utf-8 -*-
+
+import os
+
 from django import template
 from project.dae.workflow import ETATS_EDITABLE
-from project.dae.workflow import grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_administrateurs, grp_directeurs_bureau, grp_drh, grp_directeurs_service, grp_correspondants_rh
+from project.dae.workflow import grp_correspondants_rh, grp_administrateurs, grp_drh
 
 register = template.Library()
 
 @register.filter
+def test_membre_drh(user):
+    return grp_drh in user.groups.all()
+
+@register.filter
 def peut_ajouter(user):
     for g in user.groups.all():
-        if g in (grp_gestionnaires, grp_service_utilisateurs, grp_administrateurs, grp_drh, grp_directeurs_bureau, grp_directeurs_service, grp_correspondants_rh):
+        if g in (grp_administrateurs, grp_correspondants_rh, grp_drh):
             return True
     return False
 
 @register.filter
-def est_editable(obj):
-    if obj.etat in ETATS_EDITABLE:
+def est_editable(obj, user):
+    klass = obj.__class__
+    groupes_users = user.groups.all()
+    if obj.etat in ETATS_EDITABLE and \
+       (obj in klass.objects.mes_choses_a_faire(user).all() or grp_drh in groupes_users):
         return True
     else:
         return False
 
+@register.filter
+def region_ou_service(implantation):
+    if implantation.id == 15:
+        return u"Services centraux de Montréal (SCM)"
+    if implantation.id == 19:
+        return u"Services centraux de Paris (SCP)"
+    return implantation.region
+
+@register.filter
+def basename(path):
+    return os.path.basename(path)