class SecurityManager(models.Manager):
+ prefixe_service = None
prefixe_implantation = None
def mes_choses_a_faire(self, user):
############################################
# TRAITEMENT NORMAL
############################################
-
# SERVICE
- if is_user_dans_service(user):
- q = Q(**{ '%s' % self.prefixe_implantation : employe.implantation })
+ if workflowed_model and grp_service_utilisateurs in user.groups.all():
+ q = Q(**{ self.prefixe_service : employe.service})
# REGION
else:
- q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
+ q = Q(**{ self.prefixe_implantation : employe.implantation.region })
if workflowed_model:
q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
liste = self.get_query_set().filter(q)
+
############################################
# TRAITEMENT POLE FINANCIER
############################################
"""
Chargement de tous les objets FK existants sur chaque QuerySet.
"""
- prefixe_implantation = "implantation"
+ prefixe_service = "service"
+ prefixe_implantation = "implantation__region"
def ma_region_ou_service(self, user):
return super(PosteManager, self).ma_region_ou_service(user).filter(actif=True)
class DossierManager(SecurityManager):
- prefixe_implantation = "poste__implantation"
+ prefixe_service = "poste__service"
+ prefixe_implantation = "poste__implantation__region"
def ma_region_ou_service(self, user):
return super(DossierManager, self).ma_region_ou_service(user).filter(poste__actif=True)
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_a_traiter %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_en_cours %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_non_retenues %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
{% block sous_titre %}Demande d'autorisation d'engagement{% endblock %}
{% block main %}
-<h1>Liste des demandes d'autorisation de création de poste</h1>
+<h1>Liste des demandes d'autorisation de poste</h1>
<h2>Mes postes à traiter</h2>
{% if postes_a_traiter %}
<table>
<tr>
<th>Poste</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for poste in postes_a_traiter %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
<table>
<tr>
<th>Poste</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for poste in postes_vacants %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
<table>
<tr>
<th>Poste</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for poste in postes_pourvus %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
def embauches_liste(request):
""" Liste des embauches. """
vars = dict()
- vars['embauches_a_traiter'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
+ vars['embauches_a_traiter'] = dae.Dossier.objects.mes_choses_a_faire(request.user).filter(poste__pourvu=False).order_by('-date_creation')
vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
vars['embauches_non_retenues'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=True).order_by('-date_creation')
return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))