45ead51743e100602531b15c9e73e14040677045
1 # -*- encoding: utf-8 -*-
5 from django
import template
6 from project
.dae
.workflow
import ETATS_EDITABLE
7 from project
.dae
.workflow
import grp_correspondants_rh
, grp_administrateurs
, grp_drh
9 register
= template
.Library()
12 def test_membre_drh(user
):
13 return grp_drh
in user
.groups
.all()
16 def peut_ajouter(user
):
17 for g
in user
.groups
.all():
18 if g
in (grp_administrateurs
, grp_correspondants_rh
, grp_drh
):
23 def est_editable(obj
, user
):
25 groupes_users
= user
.groups
.all()
26 if obj
.etat
in ETATS_EDITABLE
and \
27 (obj
in klass
.objects
.mes_choses_a_faire(user
).all() or grp_drh
in groupes_users
):
33 def region_ou_service(implantation
):
34 if implantation
.id == 15:
35 return u
"Services centraux de Montréal (SCM)"
36 if implantation
.id == 19:
37 return u
"Services centraux de Paris (SCP)"
38 return implantation
.region
42 return os
.path
.basename(path
)
44 @register.inclusion_tag('dae/sort_header.html', takes_context
=True)
45 def sort_header(context
, field
, title
):
46 """Génère une entête qu'on peut cliquer pour trier la colonne correspondante dans une table."""
47 qs
= context
['request'].GET
.copy()
48 current
= qs
.get('tri', None)
50 cls
= 'header headerSortUp'
51 qs
['tri'] = '-' + field
52 elif current
== '-' + field
:
53 cls
= 'header headerSortDown'
58 return {'title': title
, 'qs': qs
.urlencode(), 'cls': cls
}
60 @register.inclusion_tag('dae/pagination.html', takes_context
=True)
61 def pagination(context
, page
):
62 """Génère la navigation permettant de se promener de page en page."""
63 qs
= context
['request'].GET
64 previous_qs
= qs
.copy()
65 previous_qs
['page'] = page
.previous_page_number()
67 next_qs
['page'] = page
.next_page_number()
68 return {'page': page
, 'previous_qs': previous_qs
.urlencode(), 'next_qs': next_qs
.urlencode()}