Poste calculs classement javascript
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Thu, 7 Apr 2011 04:20:46 +0000 (00:20 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Thu, 7 Apr 2011 04:20:46 +0000 (00:20 -0400)
project/dae/templates/dae/poste.html
project/dae/urls.py
project/dae/views.py

index 4f2e2b8..2cc401c 100644 (file)
@@ -164,8 +164,8 @@ Demande d'autorisation d'embauche
             <td>{{ form.salaire_min }}</td>
             <td>{{ form.indemn_min }}</td>
             <td>{{ form.autre_min }}</td>
-            <td>??</td>
-            <td>??</td>
+            <td id="total_min"></td>
+            <td id="total_min_eur">??</td>
         </tr>
         <tr>
             <th>Maximun</th>
@@ -178,8 +178,8 @@ Demande d'autorisation d'embauche
             <td>{{ form.salaire_max }}</td>
             <td>{{ form.indemn_max }}</td>
             <td>{{ form.autre_max }}</td>
-            <td>??</td>
-            <td>??</td>
+            <td id="total_max"></td>
+            <td id="total_max_eur">??</td>
         </tr>
         </tbody>
     </table>
@@ -296,14 +296,68 @@ Demande d'autorisation d'embauche
                                 });
             return false;
         });
+        /* classement */
+        $(document).ready(function() {
+            valeur_min = '<input type="hidden" id="valeur_min" name="valeur_min" value="0">'
+            $('#id_valeur_point_min').after(valeur_min)
+        });
+        
+        $('#id_coefficient_min').bind('coeff_min_modified', function(){
+            $('#id_salaire_min').trigger('update_salaire_min');
+        });
+        $('#id_salaire_min').bind('update_salaire_min', function(){
+            valeur = $('#valeur_min').val();
+            coeff = $('#id_coefficient_min').val();
+            salaire = coeff * valeur;
+            salaire = clean_float(salaire);
+            $('#id_salaire_min').val(salaire);
+            $('#total_min').trigger('update_total_min');
+        });
+        $('#total_min').bind('update_total_min', function(){
+            total = 0;
+            salaire = $('#id_salaire_min').val();
+            indemn = $('#id_indemn_min').val();
+            autre = $('#id_autre_min').val();
+            salaire = clean_float(salaire);
+            indemn = clean_float(indemn);
+            autre = clean_float(autre);
+            total = salaire + indemn + autre;
+            $('#total_min').empty();
+            $('#total_min').text(total);
+        });
+        
+        $('#id_coefficient_min').change(function(){
+            $('#id_coefficient_min').trigger('coeff_min_modified');
+        });
         $('#id_classement_min').change(function() {
             classement = $(this).val();
             url = "{% url dae_coefficient %}";
             $.post(url, {'classement':classement}, function(data){
                     $('#id_coefficient_min').attr('value', data["coefficient"]);
                     $('#id_coefficient_min').val(data["coefficient"]);
+                    $('#id_coefficient_min').trigger('coeff_min_modified');
                 }, 'json');
         });
+        $('#id_valeur_point_min').change(function() {
+            valeur_point = $(this).val();
+            url = "{% url dae_valeur %}";
+            $.post(url, {'valeur_point':valeur_point}, function(data){
+                    $('#valeur_min').attr('value', data["valeur"]);
+                    $('#valeur_min').val(data["valeur"]);
+                    $('#id_salaire_min').trigger('update_salaire_min');
+                }, 'json');
+            $('#id_salaire_min').trigger('update_salaire_min');
+        });
+        $('#id_salaire_min').change(function(){
+            $('#total_min').trigger('update_total_min');
+        });
+        $('#id_indemn_min').change(function(){
+            $('#total_min').trigger('update_total_min');
+        });
+        $('#id_autre_min').change(function(){
+            $('#total_min').trigger('update_total_min');
+        });
+        
         $('#id_classement_max').change(function() {
             classement = $(this).val();
             url = "{% url dae_coefficient %}";
@@ -312,6 +366,15 @@ Demande d'autorisation d'embauche
                     $('#id_coefficient_max').val(data["coefficient"]);
                 }, 'json');
         });
+        
+        function clean_float(value){
+            if (value == undefined)
+                output = 0;
+            else
+                output = parseFloat(value);
+                output = Math.round(output*100)/100;
+            return output;
+        }
             
     </script>
 {% endblock %}
index 1a7582b..869de45 100644 (file)
@@ -20,4 +20,5 @@ urlpatterns = patterns(
     url(r'^salaire$', 'salaire', name='salaire'),
     url(r'^salaire/(.*)/(.*)/(.*)$', 'salaire', name='salaire'),
     url(r'^coefficient$', 'coefficient', name='dae_coefficient'),
+    url(r'^valeur$', 'valeur', name='dae_valeur'),
 )
index bb518fa..f93050a 100644 (file)
@@ -285,3 +285,11 @@ def coefficient(request):
         data['coefficient'] = classement.coefficient
     return HttpResponse(dumps(data))
 
+def valeur(request):
+    data = dict()
+    if request.POST and 'valeur_point' in request.POST:
+        valeur_point = request.POST.get('valeur_point')
+        valeur_point = rh.ValeurPoint.objects.get(pk=valeur_point)
+        data['valeur'] = valeur_point.valeur
+    return HttpResponse(dumps(data))
+