1 # -*- encoding: utf-8 -*-
3 from django
.db
.models
import Q
5 from project
import groups
6 from project
.rh
.managers
import \
7 DossierManager
as RHDossierManager
, \
8 PosteManager
as RHPosteManager
, \
9 PosteComparaisonManager
as RHPosteComparaisonManager
, \
10 DossierComparaisonManager
as RHDossierComparaisonManager
, \
12 from project
.dae
.workflow
import MAP_GROUPE_ETATS_A_FAIRE
15 class ImplantationManager(SecurityManager
):
16 use_for_related_fields
= True
17 prefixe_implantation
= "zone_administrative"
19 class TodoManagerMixin(object):
21 def mes_choses_a_faire(self
, user
):
23 employe
= groups
.get_employe_from_user(user
)
25 for g
in [g
.name
for g
in user
.groups
.all()]:
26 etats
= MAP_GROUPE_ETATS_A_FAIRE
.get(g
, ())
30 if g
== groups
.SERVICE_UTILISATEURS
:
31 q2
&= Q(**{self
.prefixe_service
: employe
.service
})
36 groups
.HAUTE_DIRECTION
,
41 self
.prefixe_implantation
:
42 employe
.implantation
.zone_administrative
47 qs
= self
.ma_region_ou_service(user
).none()
49 qs
= self
.ma_region_ou_service(user
).filter(q
)
54 class DossierManager(RHDossierManager
, TodoManagerMixin
):
58 class PosteManager(RHPosteManager
, TodoManagerMixin
):
62 class PosteComparaisonManager(RHPosteComparaisonManager
, TodoManagerMixin
):
66 class DossierComparaisonManager(RHDossierComparaisonManager
, TodoManagerMixin
):