# -*- encoding: utf-8 -*-
-from rh_v1 import models as rh
from django.db.models import Q
+from rh_v1 import models as rh
+from utils import get_employe_from_user, is_user_dans_service
+from workflow import grp_drh
class Responsable(object):
class Dossier(object):
def get_query(self,q,request):
- return rh.Dossier.objects.filter(
- Q(complement1__icontains=q) |
- Q(poste1__type_poste__nom__icontains=q) |
- Q(poste2__type_poste__nom__icontains=q) |
- Q(employe__nom__icontains=q) |
+
+ employe = get_employe_from_user(request.user)
+ prefixe_implantation = 'poste1__implantation'
+ print employe.implantation
+ print employe.implantation.region
+
+ q_recherche = Q(complement1__icontains=q) | \
+ Q(poste1__type_poste__nom__icontains=q) | \
+ Q(employe__nom__icontains=q) | \
Q(employe__prenom__icontains=q)
- ).distinct()
+
+ if is_user_dans_service(request.user):
+ q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation })
+ else:
+ q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
+
+
+ if grp_drh in request.user.groups.all():
+ q_filtre = q_recherche
+ else:
+ q_filtre = q_place & q_place
+
+ return rh.Dossier.objects.filter(q_filtre).distinct()
def format_result(self, dossier):
return dossier.__unicode__()