From 783e077ac62729e5bc33a5bc31893ddedef6f2a8 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Caissy Date: Thu, 16 Feb 2012 15:23:21 -0600 Subject: [PATCH] Rapport des postes par implantation --- project/menu.py | 2 ++ project/rh/admin.py | 2 +- project/rh/models.py | 3 ++ .../templates/rh/rapports/postes_implantation.html | 25 +++++++++++++++ project/rh/urls.py | 2 ++ project/rh/views.py | 33 ++++++++++++++++++++ 6 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 project/rh/templates/rh/rapports/postes_implantation.html diff --git a/project/menu.py b/project/menu.py index db65907..23eae40 100644 --- a/project/menu.py +++ b/project/menu.py @@ -45,6 +45,8 @@ class CustomMenu(Menu): #items.MenuItem('Rapport des postes', reverse('rhr_postes')), items.MenuItem('Rapport des contrats', reverse('rhr_contrats')), #items.MenuItem('Rapport de rémunération', reverse('rhr_remuneration')), + #items.MenuItem('Rapport des postes par service', reverse('rhr_postes_service')), + items.MenuItem('Rappor des postes par implantation', reverse('rhr_postes_implantation')), ] ), ] diff --git a/project/rh/admin.py b/project/rh/admin.py index 062c1e1..990f9b0 100644 --- a/project/rh/admin.py +++ b/project/rh/admin.py @@ -694,7 +694,7 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, ProtectRegionMixin, admi responsable = '' try: - employe = "%s %s" % (obj.responsable.rh_dossiers.all()[0].employe.nom.upper(), obj.responsable.rh_dossiers.all()[0].employe.prenom) + employeposte_change = "%s %s" % (obj.responsable.rh_dossiers.all()[0].employe.nom.upper(), obj.responsable.rh_dossiers.all()[0].employe.prenom) employe_id = obj.responsable.rh_dossiers.all()[0].id employe = u"""
%s""" % \ ( diff --git a/project/rh/models.py b/project/rh/models.py index 3bb46e0..6ccbca3 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -308,6 +308,9 @@ class PosteComparaison_(AUFMetadata): def montant_euros(self): return round(float(self.montant) * float(self.taux_devise()), 2) + def __unicode__(self): + return self.nom + class PosteComparaison(PosteComparaison_): pass diff --git a/project/rh/templates/rh/rapports/postes_implantation.html b/project/rh/templates/rh/rapports/postes_implantation.html new file mode 100644 index 0000000..dbd30ee --- /dev/null +++ b/project/rh/templates/rh/rapports/postes_implantation.html @@ -0,0 +1,25 @@ +{% extends 'rh/rapports/base.html' %} +{% load adminmedia rapports i18n %} + +{% block nomrapport %}Rapport postes par implantation{% endblock %} +{% block count_elements %}{% endblock %} + +{% block contentrapport %} + +{% endblock %} diff --git a/project/rh/urls.py b/project/rh/urls.py index 8a391d8..9b708ea 100644 --- a/project/rh/urls.py +++ b/project/rh/urls.py @@ -7,6 +7,8 @@ urlpatterns = patterns( url(r'^admin/rh/rapports/postes$', 'rapports_poste', name='rhr_postes'), url(r'^admin/rh/rapports/contrats$', 'rapports_contrat', name='rhr_contrats'), url(r'^admin/rh/rapports/remuneration$', 'rapports_remuneration', name='rhr_remuneration'), + url(r'^admin/rh/rapports/postes_par_service$', 'rapports_postes_service', name='rhr_postes_service'), + url(r'^admin/rh/rapports/postes_par_implantation$', 'rapports_postes_implantation', name='rhr_postes_implantation'), url(r'^admin/rh/dossier/(\d+)/apercu/$', 'dossier_apercu', name='dossier_apercu'), url(r'^admin/rh/employe/(\d+)/apercu/$', 'employe_apercu', name='employe_apercu'), url(r'^admin/rh/poste/(\d+)/apercu/$', 'poste_apercu', name='poste_apercu'), diff --git a/project/rh/views.py b/project/rh/views.py index d00a28d..116829c 100644 --- a/project/rh/views.py +++ b/project/rh/views.py @@ -280,6 +280,39 @@ def rapports_remuneration(request): return render_to_response('rh/rapports/remuneration.html', c, RequestContext(request)) +@login_required +@drh_or_admin_required +def rapports_postes_implantation(request): + c = {} + data = [] + for r in ref.Region.objects.all(): + implantations = [] + for i in ref.Implantation.objects.filter(region=r): + implantations.append({ + 'implantation': i, + 'postes': rh.Poste.objects.filter(implantation=i), + 'num_postes': rh.Poste.objects.filter(implantation=i).count(), + }) + data.append({ + 'region': r, + 'implantations': implantations + }) + + c['data'] = data + + + return render_to_response('rh/rapports/postes_implantation.html', c, RequestContext(request)) + + +@login_required +@drh_or_admin_required +def rapports_postes_service(request): + c = {} + services = [] + + return render_to_response('rh/rapports/postes_par_service.html', c, RequestContext(request)) + + def region_protected(model): def wrapper(func): def wrapped(request, id): -- 1.7.10.4