def __init__(self, date_debut, date_fin, custom_filter=None):
""" date_debut: date de début pour les données temporelles
date_fin: idem
+ custom_filter: dictionnaire des paramètres à passer au queryset.
"""
+ if not date_debut and not date_fin:
+ return
+
date_debut = datetime.date(
*time.strptime(date_debut, "%d-%m-%Y")[0:3]
)
bstg_remun = r
if bstg_remun:
- bstg_remun_euro = bstg_remun
+ bstg_remun_euro = rh.Remuneration(
+ montant=bstg_remun.montant, devise=bstg_remun.devise
+ )
self.convertir(bstg_remun_euro)
- print bstg_remun.devise, bstg_remun_euro.devise
salaire_complement = 0.0
salaire_base = 0.0
masse_salariale = (salaire_base + total_indemnites + \
sum(primes.values()) + charges)
- masse_salariale_euro = rh.Remuneration(montant=masse_salariale,
+ masse_salariale_euro = rh.Remuneration(montant=masse_salariale,
devise=remuns[0].devise)
self.convertir(masse_salariale_euro)
--- /dev/null
+{% extends 'rh/rapports/base.html' %}
+{% load adminmedia rapports i18n %}
+
+{% block nomrapport %}Rapport Postes{% endblock %}
+{% block count_elements %}<h2>{{ count }} postes</h2>{% endblock %}
+
+{% block contentrapport %}
+<div id="changelist-filter">
+<h2>{% trans 'Filter' %}</h2>
+{% filter_region "dossier__poste__" %}
+{% filter_implantation "dossier__poste__" %}
+</div>
+
+<table id="result_list" class="results">
+<thead>
+<tr>
+ {% table_header headers %}
+</tr>
+</thead>
+{% spaceless %}{% for poste in rapport %}
+<tr class="{% cycle 'row1' 'row2' %}">
+ <td>a</td>
+</tr>
+{% endfor %}{% endspaceless %}
+</table>
+
+{% endblock %}
+++ /dev/null
-{% extends 'rh/rapports/base.html' %}
-{% load adminmedia rapports i18n %}
-
-{% block nomrapport %}Rapport de rémunération{% endblock %}
-
-{% block contentrapport %}
-
-<div id="changelist-filter">
-<h2>{% trans 'Filter' %}</h2>
-{% filter_region_remun %}
-{% filter_implantation_remun %}
-</div>
-
-<table id="result_list">
-<thead>
-<tr>
- {% table_header headers %}
-</tr>
-</thead>
-{% spaceless %}{% for employe in employes %}
-<tr class="{% cycle 'row1' 'row2' %}">
- <td style="text-align:right"><a href="{% url admin:rh_employe_change employe.id %}">{{ employe.id }}</a></td>
- <td><a href="{% url admin:rh_employe_change employe.id %}">{{ employe.nom|upper }}</td></a>
- <td><a href="{% url admin:rh_employe_change employe.id %}">{{ employe.prenom }}</a></td>
- <td align="right">{{ employe.Traitement|default:0|floatformat:2 }} €</td>
- <td align="right">{{ employe.RAS|default:0|floatformat:2 }} €</td>
- <td align="right">{{ employe.Indemnite|default:0|floatformat:2 }} €</td>
- <td align="right">{{ employe.Accessoire|default:0|floatformat:2 }} €</td>
- <td align="right">{{ employe.Charges|default:0|floatformat:2 }} €</td>
- <td align="right">{{ employe.remun_sum_euro|default:0|floatformat:2 }} €</td>
-</tr>
-{% endfor %}{% endspaceless %}
-</table>
-
-{% endblock %}
@register.inclusion_tag('admin/filter.html', takes_context=True)
-def filter_region(context):
+def filter_region(context, prefix=None):
+
+ label = "".join([prefix or "", "implantation__region"])
return {'title': u"région",
- 'choices': prepare_choices(Region.objects.values_list('id', 'nom'), 'implantation__region', context, remove=['pays', 'nord_sud'])}
+ 'choices': prepare_choices(Region.objects.values_list('id', 'nom'), label, context, remove=['pays', 'nord_sud'])}
@register.inclusion_tag('admin/filter.html', takes_context=True)
-def filter_implantation(context):
+def filter_implantation(context, prefix=None):
+
+ label = "".join([prefix or "", "implantation"])
return {'title': u"implantation",
- 'choices': prepare_choices(Implantation.objects.values_list('id', 'nom'), 'implantation', context)}
+ 'choices': prepare_choices(Implantation.objects.values_list('id', 'nom'), label, context)}
@register.inclusion_tag('admin/filter.html', takes_context=True)
from rh.templatetags.rapports import SortHeaders
from rh.change_list import RechercheTemporelle
from rh import graph as rh_graph
+from rh.masse_salariale import MasseSalariale
# pas de reference a DAE devrait etre refactorisé
from dae.utils import get_employe_from_user
@login_required
@drh_or_admin_required
def rapports_masse_salariale(request):
- pass
+
+ date_debut = request.GET.get("date_debut", None)
+ date_fin = request.GET.get("date_fin", None)
+
+ implantation = request.GET.get('dossier__poste__implantation')
+ region = request.GET.get('dossier__poste__implantation__region')
+
+ custom_filter = {}
+ if implantation:
+ custom_filter['dossier__poste__implantation'] = implantation
+ if region:
+ custom_filter['dossier__poste__implantation__region'] = region
+
+ masse = MasseSalariale(date_debut, date_fin, custom_filter)
+ c = {
+ 'headers': [],
+ 'rapport': masse.rapport,
+ }
+ return render_to_response('rh/rapports/masse_salariale.html', c, RequestContext(request))
@login_required