quick poste search
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 6 Jul 2012 14:59:03 +0000 (10:59 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 6 Jul 2012 14:59:03 +0000 (10:59 -0400)
project/assets/js/dae-poste.js
project/dae/templates/dae/poste.html
project/dae/templatetags/dae.py

index 2b3395a..ea7b841 100644 (file)
@@ -170,15 +170,19 @@ function setup_taux_ligne(element) {
   });
 }
 
+function poste_redirection() {
+  var id_poste = $("#id_poste").val();
+  if (id_poste)
+      window.location = '/dae/poste/' + id_poste +
+          '?type_intervention=' + $("input[name='type_intervention']:checked").val();
+}
+
 $(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() {
-        var id_poste = $(this).val();
-        if (id_poste)
-            window.location = '/dae/poste/' + id_poste +
-                '?type_intervention=' + $("input[name='type_intervention']:checked").val();
+        poste_redirection();
     });
 
     /* La fonctionnalité de présélection, est activé uniquement si aucune implantation n'a déjà été
@@ -195,6 +199,16 @@ $(document).ready(function() {
         charger_valeurs_point(implantation_id);
     });
 
+    $('#poste_id_shortcut').change(function() {
+      var poste_id_rh = $('#poste_id_shortcut').val();
+      var key = 'rh-'+poste_id_rh;
+      $('#id_poste').val(key);
+      if ($('#id_poste').val() == key) {
+        poste_redirection();
+      }
+
+    });
+
 
     $('#id_valeur_point_min, #id_valeur_point_max').change(function(e) {
         // pas de traitement si aucune valeur de point n'est choisie
index 52e3d06..1fa8c24 100644 (file)
@@ -1,5 +1,5 @@
 {% extends 'base.html' %}
-{% load adminmedia %}
+{% load adminmedia dae %}
 
 {% block title %}RH - DAE - Poste{% endblock %}
 {% block titre %}Ressources humaines{% endblock %}
@@ -60,7 +60,14 @@ Demande d'autorisation d'engagement
         </tr>
         <tr>
             <th>{{ form.poste.label_tag }} :<br />{{ form.poste.errors }}</th>
-            <td>{{ form.poste }} <span class="info">Au changement de ce menu, la page va être rechargée.</span></td>
+            <td>
+                <div>{{ form.poste }} <span class="info">Au changement de ce
+                        menu, la page va être rechargée.</span></div>
+                {% if request.user|test_membre_drh %}
+                <div><input id='poste_id_shortcut' type='text' size="5"/>&nbsp;<span
+                        class="info">OU sélection rapide avec id du poste dans RH </div>
+                {% endif %}
+            </td>
         </tr>
         <tr>
             <th>{{ form.nom.label_tag }} :<br />{{ form.nom.errors }}</th>
index 917be61..fe3027e 100644 (file)
@@ -4,7 +4,8 @@ import os
 
 from django import template
 
-from project.groups import grp_correspondants_rh, grp_administrateurs, grp_drh
+from project.groups import grp_correspondants_rh, grp_administrateurs, \
+                        grp_drh, grp_drh2
 
 from project.dae.workflow import ETATS_EDITABLE
 
@@ -13,7 +14,11 @@ register = template.Library()
 
 @register.filter
 def test_membre_drh(user):
-    return grp_drh in user.groups.all()
+    grps = user.groups.all()
+    if grp_drh in grps or grp_drh2 in grps:
+        return True
+    else:
+        return False
 
 @register.filter
 def peut_ajouter(user):