b7b5f75d70da7fed224a324ae000200c4e18140f
1 # -*- encoding: utf-8 -*-
5 from django
import template
7 from project
import groups
9 from project
.dae
.workflow
import ETATS_EDITABLE
12 register
= template
.Library()
15 def test_membre_drh(user
):
16 grps
= [g
.name
for g
in user
.groups
.all()]
17 if groups
.DRH_NIVEAU_1
in grps
or groups
.DRH_NIVEAU_2
in grps
:
23 def peut_ajouter(user
):
24 for g
in [g
.name
for g
in user
.groups
.all()]:
25 if g
in (groups
.ADMINISTRATEURS
,
26 groups
.CORRESPONDANT_RH
,
33 def peut_importer(user
):
34 return groups
.DRH_NIVEAU_1
in [g
.name
for g
in user
.groups
.all()]
37 def est_editable(obj
, user
):
39 groupes_users
= [g
.name
for g
in user
.groups
.all()]
41 print klass
.objects
.mes_choses_a_faire(user
).all()
42 if obj
.etat
in ETATS_EDITABLE
and \
43 (obj
in klass
.objects
.mes_choses_a_faire(user
).all() or \
44 groups
.DRH_NIVEAU_1
in groupes_users
or \
45 groups
.DRH_NIVEAU_2
in groupes_users
):
51 def region_ou_service(implantation
):
52 if implantation
.id == 15:
53 return u
"Services centraux de Montréal (SCM)"
54 if implantation
.id == 19:
55 return u
"Services centraux de Paris (SCP)"
56 return implantation
.region
60 return os
.path
.basename(path
)
62 @register.inclusion_tag('dae/sort_header.html', takes_context
=True)
63 def sort_header(context
, field
, title
):
64 """Génère une entête qu'on peut cliquer pour trier la colonne correspondante dans une table."""
65 qs
= context
['request'].GET
.copy()
66 current
= qs
.get('tri', None)
68 cls
= 'header headerSortUp'
69 qs
['tri'] = '-' + field
70 elif current
== '-' + field
:
71 cls
= 'header headerSortDown'
76 return {'title': title
, 'qs': qs
.urlencode(), 'cls': cls
}
78 @register.inclusion_tag('dae/pagination.html', takes_context
=True)
79 def pagination(context
, page
):
80 """Génère la navigation permettant de se promener de page en page."""
81 qs
= context
['request'].GET
82 previous_qs
= qs
.copy()
83 previous_qs
['page'] = page
.previous_page_number()
85 next_qs
['page'] = page
.next_page_number()
86 return {'page': page
, 'previous_qs': previous_qs
.urlencode(), 'next_qs': next_qs
.urlencode()}