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
11 from project
.dae
.workflow
import MAP_GROUPE_ETATS_A_FAIRE
14 class TodoManagerMixin(object):
16 def mes_choses_a_faire(self
, user
):
18 employe
= groups
.get_employe_from_user(user
)
20 for g
in [g
.name
for g
in user
.groups
.all()]:
21 etats
= MAP_GROUPE_ETATS_A_FAIRE
.get(g
, ())
25 if g
== groups
.SERVICE_UTILISATEURS
:
26 q2
&= Q(**{self
.prefixe_service
: employe
.service
})
30 groups
.HAUTE_DIRECTION
,
35 self
.prefixe_implantation
:
36 employe
.implantation
.zone_administrative
41 qs
= self
.ma_region_ou_service(user
).none()
43 qs
= self
.ma_region_ou_service(user
).filter(q
)
48 class DossierManager(RHDossierManager
, TodoManagerMixin
):
52 class PosteManager(RHPosteManager
, TodoManagerMixin
):
56 class PosteComparaisonManager(RHPosteComparaisonManager
, TodoManagerMixin
):
60 class DossierComparaisonManager(RHDossierComparaisonManager
, TodoManagerMixin
):