fe3027e567bbbf57af5e3d80fdc12c26d397b3bc
1 # -*- encoding: utf-8 -*-
5 from django
import template
7 from project
.groups
import grp_correspondants_rh
, grp_administrateurs
, \
10 from project
.dae
.workflow
import ETATS_EDITABLE
13 register
= template
.Library()
16 def test_membre_drh(user
):
17 grps
= user
.groups
.all()
18 if grp_drh
in grps
or grp_drh2
in grps
:
24 def peut_ajouter(user
):
25 for g
in user
.groups
.all():
26 if g
in (grp_administrateurs
, grp_correspondants_rh
, grp_drh
):
31 def peut_importer(user
):
32 return grp_drh
in user
.groups
.all()
35 def est_editable(obj
, user
):
37 groupes_users
= user
.groups
.all()
38 if obj
.etat
in ETATS_EDITABLE
and \
39 (obj
in klass
.objects
.mes_choses_a_faire(user
).all() or grp_drh
in groupes_users
):
45 def region_ou_service(implantation
):
46 if implantation
.id == 15:
47 return u
"Services centraux de Montréal (SCM)"
48 if implantation
.id == 19:
49 return u
"Services centraux de Paris (SCP)"
50 return implantation
.region
54 return os
.path
.basename(path
)
56 @register.inclusion_tag('dae/sort_header.html', takes_context
=True)
57 def sort_header(context
, field
, title
):
58 """Génère une entête qu'on peut cliquer pour trier la colonne correspondante dans une table."""
59 qs
= context
['request'].GET
.copy()
60 current
= qs
.get('tri', None)
62 cls
= 'header headerSortUp'
63 qs
['tri'] = '-' + field
64 elif current
== '-' + field
:
65 cls
= 'header headerSortDown'
70 return {'title': title
, 'qs': qs
.urlencode(), 'cls': cls
}
72 @register.inclusion_tag('dae/pagination.html', takes_context
=True)
73 def pagination(context
, page
):
74 """Génère la navigation permettant de se promener de page en page."""
75 qs
= context
['request'].GET
76 previous_qs
= qs
.copy()
77 previous_qs
['page'] = page
.previous_page_number()
79 next_qs
['page'] = page
.next_page_number()
80 return {'page': page
, 'previous_qs': previous_qs
.urlencode(), 'next_qs': next_qs
.urlencode()}