fix form poste
[auf_rh_dae.git] / project / dae / templates / dae / poste.html
index 2cc401c..7ced63e 100644 (file)
@@ -1,6 +1,7 @@
 {% extends 'base.html' %}
+{% load adminmedia %}
 
-{% block title %}RH - DAE{% endblock %}
+{% block title %}RH - DAE - Poste{% endblock %}
 {% block titre %}Ressources humaines{% endblock %}
 {% block sous_titre %}
 Demande d'autorisation d'embauche
@@ -11,27 +12,33 @@ Demande d'autorisation d'embauche
           type="text/javascript"></script>
   <script src="{{ MEDIA_URL }}js/jquery-ui-1.8.11.custom.min.js"
           type="text/javascript"></script>
-  <link href="{{ MEDIA_URL }}/css/redmond/jquery-ui-1.8.11.custom.css"
-        rel="stylesheet" />
 
-  <style>
-    h1.section {background-color: #D0E8F8; text-align: center; color: #5F5F5F; margin: 50px 0px 26px 0px; border-bottom: 3px solid #BBD8EC; padding: 4px;}
-    .row {padding: 10px 0px; clear: both; display:block;}
-    .row * {float: left; margin: 0px; padding: 0px; margin-right: 4px;}
-    .row li {list-style-type: none;}
-    .underline {text-decoration: underline;}
-    .clear {display: block; clear: both;}
-    .note {text-decoration: underline; font-style: italic; margin-left: 12px;}
-    .info {font-size:13px;  font-style: italic;}
-    .noborder {border:none; margin:0; padding; 0}
-    tr.noborder td {border:none; padding-left: 0;}
-  </style>
+  {% comment  %} style pour le calendier {% endcomment %}
+  <script type="text/javascript">
+    window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
+  </script>
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/calendrier.css" />
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/dae.css" />
+
+  <script type="text/javascript" src="/admin/jsi18n/"></script>
+  <script type="text/javascript" src="{% admin_media_prefix %}js/core.js"></script>
+
+  {{ form.media }}
+
+  <script src="{{ MEDIA_URL }}jquery-autocomplete/jquery.autocomplete.js" type="text/javascript"></script>
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}jquery-autocomplete/jquery.autocomplete.css" />
+
+
+  <script src="{{ MEDIA_URL }}js/dae.js" /></script>
+  <script src="{{ MEDIA_URL }}js/dae-poste.js" /></script>
+
 {% endblock %}
 
 {% block main %}
 <h1>Demande d'autorisation de création de poste</h1>
 
-<form action="" method="post">
+<form action="" method="post" enctype="multipart/form-data">
+
     <fieldset>
     <h2>
         {% if new %}
@@ -43,8 +50,12 @@ Demande d'autorisation d'embauche
     <table>
         <tbody>
         <tr>
+            <th>{{ form.implantation.label_tag }} :<br />{{ form.implantation.errors }}</th>
+            <td>{{ form.implantation }}</td>
+        </tr>
+        <tr>
             <th>{{ form.poste.label_tag }} :<br />{{ form.poste.errors }}</th>
-            <td>{{ form.poste }}</td>
+            <td>{{ form.poste }} <span class="info">Au changement de ce menu, la page va être rechargée.</span></td>
         </tr>
         <tr>
             <th>{{ form.nom.label_tag }} :<br />{{ form.nom.errors }}</th>
@@ -55,16 +66,15 @@ Demande d'autorisation d'embauche
             <td>{{ form.type_poste }}</td>
         </tr>
         <tr>
-            <th>{{ form.implantation.label_tag }} :<br />{{ form.implantation.errors }}</th>
-            <td>{{ form.implantation }}</td>
-        </tr>
-        <tr>
             <th>{{ form.service.label_tag }} :<br />{{ form.service.errors }}</th>
             <td>{{ form.service }}</td>
         </tr>
         <tr>
             <th>{{ form.responsable.label_tag }} :<br />{{ form.responsable.errors }}</th>
-            <td>{{ form.responsable }}</td>
+            <td>
+                <span class="info">Recherche intelligente : vous pouvez tapez le nom du poste, ou encore la dernière qui occupe celui-ci. Assurez-vous que le poste de responsable choisi dans la liste est reporté en dessous du champs de recherche, cela signifie qu'il est sélectionné.</span>
+                {{ form.responsable }}
+            </td>
         </tr>
         </tbody>
     </table>
@@ -75,10 +85,10 @@ Demande d'autorisation d'embauche
     <table>
         <tbody>
         <tr>
-            <th>{{ form.statut_residence.label_tag }} :<br />{{ form.statut_residence.errors }}</th>
+            <th>Statut :<br />{{ form.local.errors }} {{ form.expatrie.errors }}</th>
             <td>
                 <span class="row">
-                {{ form.statut_residence }} 
+                {{ form.local.label_tag }}  {{ form.local }} {{ form.expatrie.label_tag }} {{ form.expatrie }} 
                 {{ form.mise_a_disposition.label_tag }} 
                 {{ form.mise_a_disposition.errors }} 
                 {{ form.mise_a_disposition }}
@@ -116,11 +126,6 @@ Demande d'autorisation d'embauche
                 <span class="info">({{form.date_fin.help_text }})</span><br />
                 {{ form.date_fin.errors }}
             </td>
-        </tr>
-        <tr>
-            <td colspan="4" class="info">Pour une durée indéterminée, spécifier uniquement la date de début.</td>
-        </tr>
-        <tr>
             <th>{{ form.regime_travail.label_tag }} :<br />{{ form.regime_travail.errors }}</th>
             <td colspan="4">
                 {{ form.regime_travail }}
@@ -128,11 +133,14 @@ Demande d'autorisation d'embauche
             </td>
         </tr>
         <tr>
+            <td colspan="4" class="info">
+                <p id="note-duree">Pour une durée indéterminée, spécifier uniquement la date de début.</p>
+            </td>
             <th>
                 {{ form.regime_travail_nb_heure_semaine.label_tag }} :<br />
                 {{ form.regime_travail_nb_heure_semaine.errors }}
             </th>
-            <td colspan="4">{{ form.regime_travail_nb_heure_semaine }}</td>
+            <td>{{ form.regime_travail_nb_heure_semaine }}</td>
         </tr>
         </tbody>
     </table>
@@ -140,46 +148,77 @@ Demande d'autorisation d'embauche
 
     <fieldset>
     <h2>Classement du poste</h2>
-    <table>
+    <table id="classement">
         <tbody>
         <tr>
             <th></th>
             <th>Échelon AUF</th>
-            <th>Coefficient</th>
             <th>Valeur du point</th>
-            <th>Salaire de base</th>
-            <th>Indemnité, responsabilité (le cas échéant)</th>
-            <th>Autres</th>
-            <th>TOTAL</th>
-            <th>Conversion EUR</th>
+            <th>Devise</th>
+            <th colspan="2">Salaire de base</th>
+            <th colspan="2">Indemnité, responsabilité (le cas échéant)</th>
+            <th colspan="2">Autres</th>
+            <th colspan="2">TOTAL</th>
+            <th>Taux&nbsp;>&nbsp;€</th>
+            <th colspan="2">Conversion EUR</th>
         </tr>
         <tr>
             <th>Minimum</th>
-            <td>{{ form.classement_min }}</td>
-            <td>{{ form.coefficient_min }}</td>
+            <td>
+                {{ form.classement_min }}
+                {{ form.classement_min.errors }}
+            </td>
             <td>
                 {{ form.valeur_point_min }}
                 {{ form.valeur_point_min.errors }}
             </td>
-            <td>{{ form.salaire_min }}</td>
+            <td>
+                {{ form.devise_min }}
+                {{ form.devise_min.errors }}
+            </td>
+            <td>
+                {{ form.salaire_min }}
+                {{ form.salaire_min.errors }}
+            </td>
+            <td><span class="devise_code">EUR</span></td>
             <td>{{ form.indemn_min }}</td>
+            <td><span class="devise_code">EUR</span></td>
             <td>{{ form.autre_min }}</td>
-            <td id="total_min"></td>
-            <td id="total_min_eur">??</td>
+            <td><span class="devise_code">EUR</span></td>
+            <td id="total_min" class="total-devise cell-nombre">0.00</td>
+            <td><span class="devise_code">EUR</span></td>
+            <td class="taux">1</td>
+            <td id="total_min_euro" class="total-euro cell-nombre">0.00</td>
+            <td>€</td>
         </tr>
         <tr>
             <th>Maximun</th>
-            <td>{{ form.classement_max }}</td>
-            <td>{{ form.coefficient_max }}</td>
+            <td>
+                {{ form.classement_max }}
+                {{ form.classement_max.errors }}
+            </td>
             <td>
                 {{ form.valeur_point_max }}
                 {{ form.valeur_point_max.errors }}
             </td>
-            <td>{{ form.salaire_max }}</td>
+            <td>
+                {{ form.devise_max }}
+                {{ form.devise_max.errors }}
+            </td>
+            <td>
+                {{ form.salaire_max }}
+                {{ form.salaire_max.errors }}
+            </td>
+            <td><span class="devise_code">EUR</span></td>
             <td>{{ form.indemn_max }}</td>
+            <td><span class="devise_code">EUR</span></td>
             <td>{{ form.autre_max }}</td>
-            <td id="total_max"></td>
-            <td id="total_max_eur">??</td>
+            <td><span class="devise_code">EUR</span></td>
+            <td id="total_max" class="total-devise cell-nombre">0.00</td>
+            <td><span class="devise_code">EUR</span></td>
+            <td class="taux">1</td>
+            <td id="total_max_euro" class="total-euro cell-nombre">0.00</td>
+            <td>€</td>
         </tr>
         </tbody>
     </table>
@@ -187,194 +226,76 @@ Demande d'autorisation d'embauche
     <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p>
     </fieldset>
 
-    {% if new %}
+    {% comment %}{% if new %}{% endcomment %}
     <fieldset>
     <h2>Éléments de comparaison</h2>
-    <p class="info">Compléter uniquement lors de la création d'un poste</p>
+    <span class="info">Compléter uniquement lors de la création d'un poste</span>
     <table>
         <tbody>
         <tr>
+            <th>Devise</th>
+            <td>
+                {{ form.devise_comparaison }}
+                {{ form.devise_comparaison.errors }}
+            </td>
+        </tr>
+        </tbody>
+    </table>
+    <table id="elements-comparaison">
+        <tbody>
+        <tr>
             <th></th>
-            <th>Locale</th>
             <th>Université</th>
             <th>Fonction publique</th>
+            <th>Entreprise locale</th>
             <th>ONG</th>
             <th>Autre</th>
         </tr>
         <tr>
             <th>Minimum</th>
-            <td>{{ form.comp_locale_min }}</td>
-            <td>{{ form.comp_universite_min }}</td>
-            <td>{{ form.comp_fonctionpub_min }}</td>
-            <td>{{ form.comp_ong_min }}</td>
-            <td>{{ form.comp_autre_min }}</td>
+            <td>{{ form.comp_universite_min }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_fonctionpub_min }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_locale_min }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_ong_min }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_autre_min }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
         </tr>
         <tr>
             <th>Maximum</th>
-            <td>{{ form.comp_locale_max }}</td>
-            <td>{{ form.comp_universite_max }}</td>
-            <td>{{ form.comp_fonctionpub_max }}</td>
-            <td>{{ form.comp_ong_max }}</td>
-            <td>{{ form.comp_autre_max }}</td>
+            <td>{{ form.comp_universite_max }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_fonctionpub_max }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_locale_max }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_ong_max }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
+            <td>{{ form.comp_autre_max }}<span class="devise"></span> (<span class="devise_euro"></span>)</td>
         </tr>
         </tbody>
     </table>
-    <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p>
     </fieldset>
-    {% endif %}
-
-    {% comment %}
-    <h1 class="section clear">SECTION 2 - PERSONNEL ENGAGÉ</h1>
-    <div class="row"></div>
+    {% comment %}{% endif %}{% endcomment %}
 
-    <h1 class="section">SECTION 3 - COÛT GLOBAL</h1>
-    <div class="row"></div>
-
-    <h1 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h1>
-    <div class="row"></div>
-    {% endcomment %}
-    <input type="submit" name="save" value="Sauvegarder" />
-</form>
+    <fieldset>
+    <h2>Pièces jointes</h2>
+    <p class="info">Compléter uniquement lors de la création d'un poste</p>
+    {% include "dae/pieces.html" %}
+    </fieldset>
 
     <fieldset>
     <h2>Financement</h2>
+    <span class="info">Si vous avez plusieurs financements, cliquer sur sauvegarder et une nouvelle ligne de financement sera disponible.</span>
+    {% include "dae/financements.html" %}
+    </fieldset>
 
-    <table cellspacing="0" id="financing">
-    <tr>
-      <th>Type</th>
-      <th>Montant</th>
-      <th>Devise</th>
-      <th>Pourcentage</th>
-      <th>Commentaire</th>
-      <th></th>
-    </tr>
-    {% for fin in poste.financements.all %}
-      <tr>
-        <td>{{ fin.get_type_display }}</td>
-        <td>{{ fin.montant }}</td>
-        <td>€
-            {% comment %}
-            {{ fin.devise }}
-            {% endcomment %}
-        </td>
-        <td>{{ fin.pourcentage }}</td>
-        <td>{{ fin.commentaire }}</td>
-        <td><a href="{% url financement poste_key fin.id %}">Modifier</a></td>
-      </tr>
-    {% empty %}
-      <tr>
-        <td colspan="5">
-          {% if new %}
-            Vous devez enregister ce nouveau poste avant de pouvoir spécifier
-            la ou les sources de financement.
-          {% else %}
-            Aucun financement au registre
-          {% endif %}
-        </td>
-      </tr>
-    {% endfor %}
-    </table>
-    {% if not new %}
-    <a href="{% url financement poste_key %}" class="new">
-      Ajouter une source de financement
-    </a>
-    {% endif %}
-
-    <div id="financing-form"></div>
+    <fieldset>
+    <h2>Justification de la demande</h2>
+    <span class="info">La justification est obligatoire pour la création et le renouvellement d'un poste</span>
+    <br /><br />
+    <div>
+    {{ form.justification.errors }}
+    {{ form.justification }}
+    </div>
     </fieldset>
 
-    <script type="text/javascript">
-        $('#id_poste').change(function() {
-            window.location = '{% url poste %}/' + $(this).val();
-        });
-        $('#financing a, a.new').click(function() {
-            $('#financing-form').load($(this).attr('href') + '?ajax=1')
-                                .dialog({
-                                    modal: true,
-                                    height: 500,
-                                    width: 550
-                                });
-            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 %}";
-            $.post(url, {'classement':classement}, function(data){
-                    $('#id_coefficient_max').attr('value', data["coefficient"]);
-                    $('#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>
+    <input type="submit" name="save" value="Sauvegarder" />
+
+</form>
+
 {% endblock %}