1 # -*- encoding: utf-8 -*-
3 from django
.db
.models
import Q
5 from project
.groups
import get_employe_from_user
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
13 from project
.dae
.workflow
import \
14 grp_drh
, grp_drh2
, grp_accior
, \
15 grp_abf
, grp_haute_direction
, grp_service_utilisateurs
18 class TodoManagerMixin(object):
20 def mes_choses_a_faire(self
, user
):
22 employe
= get_employe_from_user(user
)
24 for g
in user
.groups
.all():
25 etats
= MAP_GROUPE_ETATS_A_FAIRE
.get(g
, ())
29 if g
== grp_service_utilisateurs
:
30 q2
&= Q(**{self
.prefixe_service
: employe
.service
})
32 grp_accior
, grp_abf
, grp_haute_direction
, grp_drh
, grp_drh2
35 self
.prefixe_implantation
: employe
.implantation
.region
40 qs
= self
.ma_region_ou_service(user
).none()
42 qs
= self
.ma_region_ou_service(user
).filter(q
)
47 class DossierManager(RHDossierManager
, TodoManagerMixin
):
51 class PosteManager(RHPosteManager
, TodoManagerMixin
):
55 class PosteComparaisonManager(RHPosteComparaisonManager
, TodoManagerMixin
):
59 class DossierComparaisonManager(RHDossierComparaisonManager
, TodoManagerMixin
):