From cbfd7bd4a8284a4a43c618cfc12c7c0f71f26afb Mon Sep 17 00:00:00 2001 From: Eric Mc Sween Date: Fri, 18 May 2012 13:59:42 -0400 Subject: [PATCH] =?utf8?q?[#3125]=20Recherche=20dans=20les=20embauches=20fin?= =?utf8?q?alis=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/dae/forms.py | 14 +++++++++++ .../dae/templates/dae/embauches_finalisees.html | 6 +++++ project/dae/views.py | 26 ++++++++++++++++++-- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/project/dae/forms.py b/project/dae/forms.py index 2252e17..dc3f884 100644 --- a/project/dae/forms.py +++ b/project/dae/forms.py @@ -414,3 +414,17 @@ class DAENumeriseeForm(forms.ModelForm): class Meta: model = dae.Dossier fields = ('dae_numerisee',) + + +class DAEFinaliseesSearchForm(forms.Form): + q = forms.CharField( + label='Recherche', required=False, + widget=forms.TextInput(attrs={'size': 40}) + ) + importees = forms.ChoiceField( + label='Importation', required=False, choices=( + ('', ''), + ('oui', 'DAE importées seulement'), + ('non', 'DAE non-importées seulement'), + ) + ) diff --git a/project/dae/templates/dae/embauches_finalisees.html b/project/dae/templates/dae/embauches_finalisees.html index 3e819b5..32013dd 100644 --- a/project/dae/templates/dae/embauches_finalisees.html +++ b/project/dae/templates/dae/embauches_finalisees.html @@ -20,6 +20,12 @@ {% block main %}

Liste des demandes d'autorisation d'engagement finalisées

+
+ + {{ search_form }} + + +
diff --git a/project/dae/views.py b/project/dae/views.py index 9822f54..bb40f29 100644 --- a/project/dae/views.py +++ b/project/dae/views.py @@ -30,7 +30,7 @@ from project.dae.forms import \ PosteComparaisonFormSet, DossierWorkflowForm, ChoosePosteForm, \ EmployeForm, DossierForm, DossierPieceForm, \ DossierComparaisonFormSet, RemunForm, ContratForm, DAENumeriseeForm, \ - label_poste_display + label_poste_display, DAEFinaliseesSearchForm from project.dae.mail import send_drh_finalisation_mail from project.dae.workflow import \ DOSSIER_ETAT_FINALISE, DOSSIER_ETAT_REGION_FINALISATION, \ @@ -476,6 +476,27 @@ def embauches_finalisees(request): embauches = dae.Dossier.objects.ma_region_ou_service(request.user) \ .filter(etat=DOSSIER_ETAT_FINALISE) + # Recherche + search_form = DAEFinaliseesSearchForm(request.GET) + if search_form.is_valid(): + q = search_form.cleaned_data.get('q').strip() + importees = search_form.cleaned_data.get('importees') + if q: + criteria = [ + Q(poste__implantation__region__nom__icontains=word) | + Q(poste__implantation__region__code=word) | + Q(poste__implantation__nom__icontains=word) | + Q(poste__nom__icontains=word) | + Q(employe__nom__icontains=word) | + Q(employe__prenom__icontains=word) + for word in q.split() + ] + embauches = embauches.filter(*criteria) + if importees == 'oui': + embauches = embauches.exclude(dossier_rh=None) + elif importees == 'non': + embauches = embauches.filter(dossier_rh=None) + # Tri tri = request.GET.get('tri', None) if tri and tri.startswith('-'): @@ -507,7 +528,8 @@ def embauches_finalisees(request): page = paginator.page(1) return render_to_response('dae/embauches_finalisees.html', { - 'embauches': page + 'embauches': page, + 'search_form': search_form }, RequestContext(request)) -- 1.7.10.4