1 # -*- encoding: utf-8 -*-
5 from django
import template
6 # -*- coding: utf-8 -*-
8 from project
import groups
10 from project
.dae
.workflow
import ETATS_EDITABLE
13 register
= template
.Library()
17 def test_membre_drh(user
):
18 grps
= [g
.name
for g
in user
.groups
.all()]
19 if groups
.DRH_NIVEAU_1
in grps
or groups
.DRH_NIVEAU_2
in grps
:
26 def peut_ajouter(user
):
27 grp_ok
= (groups
.ADMINISTRATEURS
,
28 groups
.CORRESPONDANT_RH
,
31 for g
in [g
.name
for g
in user
.groups
.all()]:
38 def est_editable(obj
, user
):
40 groupes_users
= [g
.name
for g
in user
.groups
.all()]
41 if obj
.etat
in ETATS_EDITABLE
and \
42 (obj
in klass
.objects
.mes_choses_a_faire(user
).all() or \
43 groups
.DRH_NIVEAU_1
in groupes_users
or \
44 groups
.DRH_NIVEAU_2
in groupes_users
):
52 return os
.path
.basename(path
)
55 @register.inclusion_tag('dae/sort_header.html', takes_context
=True)
56 def sort_header(context
, field
, title
):
58 Génère une entête qu'on peut cliquer pour trier
59 la colonne correspondante dans une table.
61 qs
= context
['request'].GET
.copy()
62 current
= qs
.get('tri', None)
64 cls
= 'header headerSortUp'
65 qs
['tri'] = '-' + field
66 elif current
== '-' + field
:
67 cls
= 'header headerSortDown'
72 return {'title': title
, 'qs': qs
.urlencode(), 'cls': cls
}
75 @register.inclusion_tag('dae/pagination.html', takes_context
=True)
76 def pagination(context
, page
):
77 """Génère la navigation permettant de se promener de page en page."""
78 qs
= context
['request'].GET
79 previous_qs
= qs
.copy()
80 previous_qs
['page'] = page
.previous_page_number()
82 next_qs
['page'] = page
.next_page_number()
84 'previous_qs': previous_qs
.urlencode(),
85 'next_qs': next_qs
.urlencode()