Fix pour salaire theorique
authorJean-Philippe Caissy <jpcaissy@piji.ca>
Mon, 19 Mar 2012 19:10:18 +0000 (14:10 -0500)
committerJean-Philippe Caissy <jpcaissy@piji.ca>
Mon, 19 Mar 2012 19:10:18 +0000 (14:10 -0500)
project/rh/masse_salariale.py
project/rh/views.py

index 68ad7d1..b07b5ca 100644 (file)
@@ -230,28 +230,34 @@ class MasseSalariale():
                         devise=remuns[0].devise)
             self.convertir(masse_salariale_euro)
 
                         devise=remuns[0].devise)
             self.convertir(masse_salariale_euro)
 
+            if dossier.classement and dossier.classement.coefficient:
+                coefficient = dossier.classement.coefficient
+            else:
+                coefficient = ""
+
+            #todo valeur du point si pas présent
+            valeur_point = valeurs_point_par_imp.get(
+                    dossier.poste.implantation_id
+                ) or ""
+
+            salaire_theorique = "%s" % (
+                    round(valeur_point.valeur * int(coefficient) * regime, 2) \
+                    if valeur_point and coefficient and regime else "")
+
             item_rapport = (
                     ('bureau', dossier.poste.implantation.region.code),
                     ('pays', unicode(pays)),
                     ('implantation', dossier.poste.implantation.nom_court),
                     ('type_implantation', dossier.poste.implantation.type),
                     #'imputation', None),
             item_rapport = (
                     ('bureau', dossier.poste.implantation.region.code),
                     ('pays', unicode(pays)),
                     ('implantation', dossier.poste.implantation.nom_court),
                     ('type_implantation', dossier.poste.implantation.type),
                     #'imputation', None),
-                    ('valeur_point',
-                        #todo valeur du point si pas présent
-                        valeurs_point_par_imp.get(
-                            dossier.poste.implantation_id
-                        ) or ""),
+                    ('valeur_point', valeur_point),
                     ('numero_employe', dossier.employe_id),
                     ('nom', dossier.employe.nom.upper()),
                     ('prenom', dossier.employe.prenom),
                     ('type_de_poste', dossier.poste.type_poste.nom),
                     ('intitule_de_poste', dossier.poste.nom),
                     ('niveau', unicode(dossier.classement)),
                     ('numero_employe', dossier.employe_id),
                     ('nom', dossier.employe.nom.upper()),
                     ('prenom', dossier.employe.prenom),
                     ('type_de_poste', dossier.poste.type_poste.nom),
                     ('intitule_de_poste', dossier.poste.nom),
                     ('niveau', unicode(dossier.classement)),
-                    ('point', "%s" %
-                            dossier.classement.coefficient \
-                                    if dossier.classement and
-                                        dossier.classement.coefficient
-                                    else ""),
+                    ('point', coefficient),
                     ('regime_de_travail', "%s %%" % int(regime * 100)),
                     ('local_expatrie', statut),
                     ('statut', dossier.statut.code),
                     ('regime_de_travail', "%s %%" % int(regime * 100)),
                     ('local_expatrie', statut),
                     ('statut', dossier.statut.code),
@@ -265,6 +271,7 @@ class MasseSalariale():
                     ('salaire_bstg_total', bstg_remun_euro.montant \
                             if bstg_remun else ""),
                     ('organisme_bstg', dossier.organisme_bstg or ""),
                     ('salaire_bstg_total', bstg_remun_euro.montant \
                             if bstg_remun else ""),
                     ('organisme_bstg', dossier.organisme_bstg or ""),
+                    ('salaire_theorique', salaire_theorique),
                     ('salaire_base_brut', \
                             salaire_base * regime * (
                                 date_delta.days / rapport_date_delta.days
                     ('salaire_base_brut', \
                             salaire_base * regime * (
                                 date_delta.days / rapport_date_delta.days
index 5f4a133..50e055b 100644 (file)
@@ -210,11 +210,13 @@ def rapports_masse_salariale(request):
     if region:
         custom_filter['dossier__poste__implantation__region'] = region
 
     if region:
         custom_filter['dossier__poste__implantation__region'] = region
 
-    masse = MasseSalariale(date_debut, date_fin, custom_filter)
     c = {
             'headers': [],
     c = {
             'headers': [],
-            'rapport': masse.rapport,
     }
     }
+    if date_debut or date_fin:
+        masse = MasseSalariale(date_debut, date_fin, custom_filter)
+        c['rapport'] = masse.rapport
+
     return render_to_response('rh/rapports/masse_salariale.html', c, RequestContext(request))
 
 
     return render_to_response('rh/rapports/masse_salariale.html', c, RequestContext(request))