filtrage JS implantation, famille
[auf_rh_dae.git] / project / media / js / dae-poste.js
index 31b4179..320f508 100644 (file)
@@ -4,6 +4,7 @@
 
 /*  filter les postes en fonction de l'implantation choisie */
 function charger_postes(implantation_id) {
+    var selected = $("#id_poste :selected").val();
     var params = {'implantation_id' : implantation_id};
     var chargement_p = $.getJSON('/dae/liste_postes', params);
     chargement_p.success(function(data) {
@@ -11,7 +12,10 @@ function charger_postes(implantation_id) {
 
         var options = "";
         $.each(data, function(index) {
-            options += '<option value="' + data[index][0] + '">' + data[index][1] + '</option>';
+            select = "";
+            if (data[index][0] == selected)
+                select = " selected=selected ";
+            options += '<option ' + select + ' value="' + data[index][0] + '">' + data[index][1] + '</option>';
         });
 
         $("#id_poste").html(options);
@@ -32,7 +36,7 @@ function charger_valeurs_point(implantation_id) {
 
         $("#id_valeur_point_min").html(options);
         $("#id_valeur_point_max").html(options);
-        alert("Les valeurs de point on été ajustées en fonction de cette implantation.");
+        alert("Les valeurs de point et les postes ont été ajustés en fonction de cette implantation.");
     });
 }
 
@@ -93,6 +97,12 @@ function recalculer_tout() {
 
 $(document).ready(function() {
 
+    /* Lorsqu'on choisit un poste dans la liste on recharge la page avec le
+    poste chargé dans la view (grâce à son id dans l'URL).*/
+    $('#id_poste').change(function() {
+        window.location = '/dae/poste/' + $(this).val();
+    });
+
     /* La fonctionnalité de présélection, est activé uniquement si aucune implantation n'a déjà été
     sélectionnée.
     Lorsque l'implantation est changée, on ajuste les valeurs de points en fonction de cette sélection */
@@ -182,5 +192,8 @@ $(document).ready(function() {
         contrat_mois();
     });
     contrat_mois();
+    
+    /* on charge les postes reliés à cette implantation */
+    charger_postes($("#id_implantation :selected").val());
 
 });