From 8d3e2fff0abe3872a542034aace1a342e40bb828 Mon Sep 17 00:00:00 2001 From: PA Parent Date: Wed, 23 Nov 2011 11:49:55 -0500 Subject: [PATCH] =?utf8?q?[#2394]=20R=C3=A9capitulatif=20de=20la=20r=C3=A9mu?= =?utf8?q?n=C3=A9ration=20en=20bas=20du=20dossier?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/rh/lib.py | 38 ++++++++++++++++++++ project/rh/models.py | 3 +- .../rh/templates/admin/rh/dossier/change_form.html | 26 ++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 project/rh/templates/admin/rh/dossier/change_form.html diff --git a/project/rh/lib.py b/project/rh/lib.py index e832a89..a2f0cad 100644 --- a/project/rh/lib.py +++ b/project/rh/lib.py @@ -1,5 +1,8 @@ # -*- encoding: utf-8 -*- +from collections import defaultdict +import datetime + from django.db import models from django.contrib import admin from django.conf import settings @@ -275,6 +278,41 @@ class DossierAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin,) instance.owner = request.user instance.save() + def render_change_form(self, request, context, *args, **kwargs): + obj = kwargs['obj'] + + thisyear = datetime.date.today().year + thisyearfilter = Q(date_debut__year=thisyear) | Q(date_fin__year=thisyear) + + remunnow = obj.rh_remuneration_remunerations.filter(thisyearfilter) + + remun_sum = 0 + remun_sum_euro = 0 + sums = defaultdict(int) + sums_euro = defaultdict(int) + for r in remunnow: + nature = r.type.nature_remuneration + sums[nature] += r.montant + sums_euro[nature] += r.montant_euro() + remun_sum += r.montant + remun_sum_euro += r.montant_euro() + + remun = {} + sums = dict(sums) + for n, s in sums.iteritems(): + remun[n] = [sums[n], sums_euro[n]] + + extra = { + 'remun': remun, + 'remun_sum': remun_sum, + 'remun_sum_euro': remun_sum_euro, + } + + context.update(extra) + + return super(DossierAdmin, self).render_change_form(request, context, *args, **kwargs) + + class DossierPieceAdmin(admin.ModelAdmin): pass diff --git a/project/rh/models.py b/project/rh/models.py index f3cfbc8..3cd607c 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -1015,8 +1015,7 @@ class TauxChange_(AUFMetadata): pour chaque année budgétaire. """ # Identification - devise = models.ForeignKey('Devise', db_column='devise', - related_name='+') + devise = models.ForeignKey('Devise', db_column='devise') annee = models.IntegerField(verbose_name = u"Année") taux = models.FloatField(verbose_name = u"Taux vers l'euro") diff --git a/project/rh/templates/admin/rh/dossier/change_form.html b/project/rh/templates/admin/rh/dossier/change_form.html new file mode 100644 index 0000000..fc49f2a --- /dev/null +++ b/project/rh/templates/admin/rh/dossier/change_form.html @@ -0,0 +1,26 @@ +{% extends 'admin/change_form.html' %} + +{% block content %} +{{ block.super }} + +

Rémunération cette année

+ + + + + + +{% for t, m in remun.iteritems %} + + + + + +{% endfor %} + + + + +
Devise localeEuro
{{ t }}{{ m.0 }}{{ m.1 }}
Total{{ remun_sum }}{{ remun_sum_euro }}
+ +{% endblock %} -- 1.7.10.4