from django.db import models
from django.db.models import Q
from utils import is_user_dans_service, get_employe_from_user
-from workflow import POSTE_ETAT_HAUTE_DIRECTION, POSTE_ETAT_POLE_FINANCIER, MAP_GROUPE_ETATS_A_FAIRE
+from workflow import POSTE_ETAT_HAUTE_DIRECTION, \
+ POSTE_ETAT_POLE_FINANCIER, \
+ POSTE_ETAT_REFUSE, \
+ DOSSIER_ETAT_REFUSE, \
+ MAP_GROUPE_ETATS_A_FAIRE
from workflow import dae_groupes, \
grp_administrateurs, \
grp_gestionnaires, \
On s'intéresse aussi au groupe auquel appartient le user car certains groupes
peuvent tout voir.
"""
-
# On s'assure que le manager travaille sur un modèle avec WF, autrement
# on ne teste pas sur l'état
try:
# REGION
else:
q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
- liste = self.get_query_set().filter(q)
- ############################################
- # TRAITEMENT POLE FINANCIER
- ############################################
- if workflowed_model and grp_pole_financier in user.groups.all():
- liste = self.get_query_set().filter(etat=POSTE_ETAT_POLE_FINANCIER)
+ q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
+ liste = self.get_query_set().filter(q & q_non_refuse)
- ############################################
- # TRAITEMENT HAUTE DIRECTION
- ############################################
- if workflowed_model and grp_haute_direction in user.groups.all():
- liste = self.get_query_set().filter(etat=POSTE_ETAT_HAUTE_DIRECTION)
+ # Il peut être bon que ces personnes connaissent l'état d'avancement du poste ou dossier
+ #############################################
+ ## TRAITEMENT POLE FINANCIER
+ #############################################
+ #if workflowed_model and grp_pole_financier in user.groups.all():
+ # liste = self.get_query_set().filter(etat=POSTE_ETAT_POLE_FINANCIER)
+
+ #############################################
+ ## TRAITEMENT HAUTE DIRECTION
+ #############################################
+ #if workflowed_model and grp_haute_direction in user.groups.all():
+ # liste = self.get_query_set().filter(etat=POSTE_ETAT_HAUTE_DIRECTION)
############################################
# TRAITEMENT DRH
############################################
if grp_drh in user.groups.all():
liste = self.get_query_set()
-
+
return liste
prefixe_implantation = "implantation"
def ma_region_ou_service(self, user):
- return super(PosteManager, self).filter(actif=True)
+ return super(PosteManager, self).ma_region_ou_service(user).filter(actif=True)
def get_query_set(self):
fkeys = (
prefixe_implantation = "poste__implantation"
def ma_region_ou_service(self, user):
- return super(DossierManager, self).filter(poste__actif=True)
+ return super(DossierManager, self).ma_region_ou_service(user).filter(poste__actif=True)
if validationForm.is_valid():
validationForm.save()
messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
- return redirect('poste_consulter', key=key)
+ return redirect('dae_postes_liste')
else:
validationForm = PosteWorkflowForm(instance=poste, request=request)
if validationForm.is_valid():
validationForm.save()
messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
- return redirect('embauche_consulter', dossier_id=dossier.id)
+ return redirect('dae_embauches_liste')
else:
validationForm = DossierWorkflowForm(instance=dossier, request=request)