{{ form.media }}
-<script type="text/javascript">
- $(document).ready(function(){
- function updateQueryStringParameter(a, k, v) {
- var re = new RegExp("([?|&])" + k + "=.*?(&|$)", "i"),
- separator = a.indexOf('?') !== -1 ? "&" : "?";
+{% include "admin/rh/annee_select.js" %}
- if (a.match(re)) return a.replace(re, '$1' + k + "=" + v + '$2');
- else return a + separator + k + "=" + v;
- }
- $("#plage_date_rechercher").click(function(e){
- e.preventDefault();
- uri = window.location.search;
- if($("#id_date_fin").val())
- uri = updateQueryStringParameter(uri, 'date_fin', $("#id_date_fin").val());
- if($("#id_date_debut").val())
- uri = updateQueryStringParameter(uri, 'date_debut', $("#id_date_debut").val());
- window.location = window.location.pathname+uri;
- });
- $("#id_date_fin").keypress(function(e){
- if(e.keyCode == 13) {
- e.preventDefault();
- $("#plage_date_rechercher").trigger("click");
- }
- });
- $("#id_date_debut").keypress(function(e){
- if(e.keyCode == 13) {
- e.preventDefault();
- $("#plage_date_rechercher").trigger("click");
- }
- });
- });
-</script>
<div class="actions">
<label>Statut :
{{ form.statut }}
--- /dev/null
+<script type="text/javascript">
+ $(document).ready(function(){
+ function updateQueryStringParameter(a, k, v) {
+ var re = new RegExp("([?|&])" + k + "=.*?(&|$)", "i"),
+ separator = a.indexOf('?') !== -1 ? "&" : "?";
+
+ if (a.match(re)) return a.replace(re, '$1' + k + "=" + v + '$2');
+ else return a + separator + k + "=" + v;
+ }
+ $("#plage_date_rechercher").click(function(e){
+ e.preventDefault();
+ uri = window.location.search;
+ if($("#id_date_fin").val())
+ uri = updateQueryStringParameter(uri, 'date_fin', $("#id_date_fin").val());
+ if($("#id_date_debut").val())
+ uri = updateQueryStringParameter(uri, 'date_debut', $("#id_date_debut").val());
+ window.location = window.location.pathname+uri;
+ });
+ $("#id_date_fin").keypress(function(e){
+ if(e.keyCode == 13) {
+ e.preventDefault();
+ $("#plage_date_rechercher").trigger("click");
+ }
+ });
+ $("#id_date_debut").keypress(function(e){
+ if(e.keyCode == 13) {
+ e.preventDefault();
+ $("#plage_date_rechercher").trigger("click");
+ }
+ });
+ });
+</script>
{% extends 'rh/rapports/base.html' %}
{% load adminmedia rapports i18n %}
-{% block nomrapport %}Rapport Postes{% endblock %}
-{% block count_elements %}<h2>{{ count }} postes</h2>{% endblock %}
+{% block nomrapport %}Rapport de masse salariale{% endblock %}
+{% block count_elements %}<h2>Rapport du {{ request.GET.date_debut }} au {{ request.GET.date_fin }}</h2>{% endblock %}
{% block extrastyle %}
{{ block.super }}
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="{% admin_media_prefix %}js/jquery-stickytableheaders.js"></script>
+
+{% comment %} datepicker dates selections {% endcomment %}
+<script type="text/javascript" src="/admin/jsi18n"></script>
+<script type="text/javascript" src="{{ STATIC_URL }}/admin/js/core.js"></script>
+{{ form.media }}
+{% include "admin/rh/annee_select.js" %}
+<style>
+ #changelist .actions .filter {width: auto; float: left;}
+ #changelist .actions .filter h3 {font-size: 11px; margin-left: 0.5em;}
+</style>
{% endblock %}
{% block contentrapport %}
-{% comment %}
-<div id="changelist-filter">
-<h2>{% trans 'Filter' %}</h2>
-{% filter_region "dossier__poste__" %}
-{% filter_implantation "dossier__poste__" %}
+
+<div class="actions">
+
+ <div class="filter">{% filter_region "dossier__poste__" %}</div>
+ <div class="filter">{% filter_implantation "dossier__poste__" %}</div>
+ <div class="clear"></div>
+ <label>Plage de dates:
+ {{ form.date_debut }} au {{ form.date_fin }}
+ </label>
+ <a href="{{ request.url }}?{{ query_string }}" id="plage_date_rechercher" class="button">Rechercher</a>
</div>
-{% endcomment %}
+<div class="clear"></div>
+
+
<script type="text/javascript">
jQuery(document).ready(function(){
$("#result_list").stickyTableHeaders();
# -*- encoding: utf-8 -*-
+import urllib
from datetime import date
from itertools import izip
from django.core.urlresolvers import reverse
from django.db.models import Q
-from django.contrib.auth.decorators import login_required
from django.utils.encoding import smart_str
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.http import HttpResponse
+from django import forms
+from django.contrib.auth.decorators import login_required
+from django.contrib.admin import widgets as adminwidgets
from datamaster_modeles import models as ref
@drh_or_admin_required
def rapports_masse_salariale(request):
+ class RechercheTemporelle(forms.Form):
+ date_debut = forms.DateField(widget=adminwidgets.AdminDateWidget)
+ date_fin = forms.DateField(widget=adminwidgets.AdminDateWidget)
+
+
+ form = RechercheTemporelle(request.GET)
+ get_filtre = [(k, v) for k,v in request.GET.items() \
+ if k not in ('date_debut', 'date_fin', 'implantation', )]
+ query_string = urllib.urlencode(get_filtre)
+
date_debut = request.GET.get("date_debut", None)
date_fin = request.GET.get("date_fin", None)
custom_filter['dossier__poste__implantation__region'] = region
c = {
+ 'title': 'Rapport de masse salariale',
+ 'form': form,
'headers': [],
+ 'query_string': query_string,
}
if date_debut or date_fin:
masse = MasseSalariale(date_debut, date_fin, custom_filter,