embauche : form.dossier de as_table à personnalisé [amorce]
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Fri, 8 Apr 2011 03:14:26 +0000 (23:14 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Fri, 8 Apr 2011 03:14:26 +0000 (23:14 -0400)
project/dae/models.py
project/dae/templates/dae/embauche-dossier.html [new file with mode: 0644]
project/dae/templates/dae/embauche.html
project/dae/templates/dae/poste.html
project/dae/views.py
project/rh_v1/models.py

index f6a0640..320a5b6 100644 (file)
@@ -235,9 +235,10 @@ GENRE_CHOICES = (
 class Employe(models.Model):
 
     # Modèle existant
-    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+')
+    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+', 
+                            verbose_name='Employé')
     nom = models.CharField(max_length=255)
-    prenom = models.CharField(max_length=255)
+    prenom = models.CharField(max_length=255, verbose_name='Prénom')
     genre = models.CharField(max_length=1, choices=GENRE_CHOICES,
                              null=True, blank=True)
 
@@ -263,7 +264,8 @@ class Dossier(models.Model):
     # Données antérieures de l'employé
     statut_anterieur = models.ForeignKey(
             rh.Statut, related_name='+', null=True, blank=True,
-            verbose_name='Statut précédent')
+            verbose_name='Statut antérieur')
+    #type contrat
     classement_anterieur = models.ForeignKey(
             rh.Classement, related_name='+', null=True, blank=True,
             verbose_name='Classement précédent')
diff --git a/project/dae/templates/dae/embauche-dossier.html b/project/dae/templates/dae/embauche-dossier.html
new file mode 100644 (file)
index 0000000..99ea073
--- /dev/null
@@ -0,0 +1,240 @@
+<div id="form-dossier">
+    <fieldset>
+    <h2>Classement et salaire de base</h2>
+    <table>
+        <tboby>
+        <tr class="noborder">
+            <td colspan="7">
+                <h3>Ancien dossier <span class="info">(le cas échéant)</span></h3>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="3">
+                Davin Baragiotta - 
+                <span id="info_employe" class="info">Coord info</span>
+            </td>
+        </tr>
+        <tr>
+            <th>{{ form.statut_anterieur.label_tag }}</th>
+            <th>Type de contrat</th>
+            <th>{{ form.classement_anterieur.label_tag }}</th>
+            <th>Valeur du point</th>
+            <th colspan="4">{{ form.salaire_anterieur.label_tag }}</th>
+        </tr>
+        <tr>
+            <td>
+                {{ form.statut_anterieur }}<br />
+                errors
+            </td>
+            <td></td>
+            <td>{{ form.classement_anterieur }}</td>
+            <td></td>
+            <td>{{ form.salaire_anterieur }}</td>
+            <td>$</td>
+            <td>0.00</td>
+            <td>€</td>
+        </tr>
+        <tr class="noborder">
+            <td colspan="7">
+                <h3>Précédant titulaire <span class="info">(le cas échéant)</span></h3>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="7">
+                {{ form.employe_anterieur }} - 
+                <span id="info_employe" class="info">Nom du poste visé</span><br />
+                {{ form.employe_anterieur.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>{{ form.statut_titulaire_anterieur.label_tag }}</th>
+            <th></th>
+            <th>{{ form.classement_titulaire_anterieur.label_tag }}</th>
+            <th>Valeur du point</th>
+            <th colspan="4">{{ form.salaire_titulaire_anterieur.label_tag }}</th>
+        </tr>
+        <tr>
+            <td>{{ form.statut_titulaire_anterieur }}</td>
+            <td></td>
+            <td>
+                {{ form.classement_titulaire_anterieur }}<br />
+                errors
+            </td>
+            <td></td>
+            <td>{{ form.salaire_titulaire_anterieur }}</td>
+            <td>$</td>
+            <td>0.00</td>
+            <td>€</td>
+        </tr>
+        <tr class="noborder">
+            <td colspan="7">
+                <h3>Proposition de classement</h3>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="7">
+                Davin Baragiotta - 
+                <span id="info_employe" class="info">Nom du poste visé</span>
+            </td>
+        </tr>
+        <tr>
+            <td colspan="2"></td>
+            <th>{{ form.classement.label_tag }}</th>
+            <th>Valeur du point</th>
+            <th colspan="4">{{ form.salaire.label_tag }}</th>
+        </tr>
+        <tr>
+            <td colspan="2"></td>
+            <td>
+                {{ form.classement }}<br />
+                errors
+            </td>
+            <td></td>
+            <td>{{ form.salaire }}</td>
+            <td>{{ form.devise }}</td>
+            <td>0.00</td>
+            <td>€</td>
+        </tr>
+        </tboby>
+    </table>
+    </fieldset>
+    
+    <script type="text/javascript">
+        function activateDossierDropDowns() {
+            $('#id_classement, #id_devise').change(loadSalaire);
+        }
+        function loadSalaire() {
+            $.getJSON('{% url salaire %}/' + $('#implantation').val() + '/' + 
+                $('#id_devise').val() + '/' + $('#id_classement').val(),
+                function(data) {
+                    console.log(data);
+                    $('#id_salaire').val(data.salaire_devise);
+                });
+        }
+        activateDossierDropDowns();
+    </script>
+    
+    <fieldset>
+    <h2>
+        Comparaison salariale 
+        <span class="info">
+        dans la région pour les employés occupant un poste similaire
+        </span>
+    </h2>
+    </fieldset>
+    
+    <fieldset>
+    <h2>Contrat</h2>
+    <table>
+        <tbody>
+        <tr>
+            <th>
+                {{ form.statut.label_tag }}
+            </th>
+            <td>
+                {{ form.statut }}<br />
+                {{ form.statut.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.organisme_bstg.label_tag }}
+            </th>
+            <td>
+                {{ form.organisme_bstg }}<br />
+                {{ form.organisme_bstg.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.remplacement.label_tag }}
+            </th>
+            <td>
+                {{ form.remplacement }}<br />
+                {{ form.remplacement.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.statut_residence.label_tag }}
+            </th>
+            <td>
+                {{ form.statut_residence }}<br />
+                {{ form.statut_residence.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.regime_travail.label_tag }}
+            </th>
+            <td>
+                {{ form.regime_travail }}<br />
+                {{ form.regime_travail.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.regime_travail_nb_heure_semaine.label_tag }}
+            </th>
+            <td>
+                {{ form.regime_travail_nb_heure_semaine }}<br />
+                {{ form.regime_travail_nb_heure_semaine.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.type_contrat.label_tag }}
+            </th>
+            <td>
+                {{ form.type_contrat }}<br />
+                {{ form.type_contrat.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.contrat_date_debut.label_tag }}
+            </th>
+            <td>
+                {{ form.contrat_date_debut }}<br />
+                {{ form.contrat_date_debut.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.contrat_date_fin.label_tag }}
+            </th>
+            <td>
+                {{ form.contrat_date_fin }}<br />
+                {{ form.contrat_date_fin.errors }}
+            </td>
+        </tr>
+        </tbody>
+    </table>
+    </fieldset>
+    
+    <fieldset>
+    <h2>Accès et ouverture des comptes</h2>
+    <table>
+        <tbody>
+        <tr>
+            <th>
+                {{ form.compte_compta.label_tag }}
+            </th>
+            <td>
+                {{ form.compte_compta }}<br />
+                {{ form.compte_compta.errors }}
+            </td>
+        </tr>
+        <tr>
+            <th>
+                {{ form.compte_courriel.label_tag }}
+            </th>
+            <td>
+                {{ form.compte_courriel }}<br />
+                {{ form.compte_courriel.errors }}
+            </td>
+        </tr>
+        </tbody>
+    </table>
+    </fieldset>
+</div>
index 1d1e55b..3ad06a8 100644 (file)
@@ -3,6 +3,30 @@
 {% block extrahead %}
   <script src="{{ MEDIA_URL }}js/jquery-1.5.1.min.js"
           type="text/javascript"></script>
+
+  <style>
+    h2.section {
+        width:100%;
+        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;}
+    .gauche { float:left; }
+    .droite { float:right; text-align:right; }
+    .clear { clear:both; width:100%; }
+  </style>
 {% endblock %}
 
 {% block title %}
 {% endblock %}
 
 {% block main %}
-  <h1>Autorisation d'embauche</h1>
-  <form action="" method="post">
-    {% if step == 'poste' %}
-      <h2>Poste visé</h2>
-
-      <table cellspacing="0">
+<h1>Demandes d'autorisation d'engagement de personnel</h1>
+<form action="" method="post">
+{% if step == 'poste' %}
+    <h2 class="section">SECTION 1 - POSTE</h2>
+    <fieldset>
+    <h2>Poste visé</h2>
+
+    <table cellspacing="0">
         {{ form.as_table }}
-      </table>
+    </table>
+    </fieldset>
 
-      <script type="text/javascript">
+    <script type="text/javascript">
         $('#id_poste').change(function() {
             window.location = '{% url embauche %}/' + $(this).val();
         });
-      </script>
-    {% else %}
-
-      <h2>Poste</h2>
-      <p>{{ poste }}</p>
-
-      <h2>Employé</h2>
-
-      <table cellspacing="0" id="form-employe">
-        {{ forms.employe.as_table }}
-      </table>
-
-      <input type="hidden" id="poste" name="poste" value="dae-{{ poste.id }}" />
-      <input type="hidden" id="implantation" name="implantation"
-             value="{{ poste.implantation_id }}" />
-      <input type="hidden" id="dossier" name="dossier"
-             value="{{ dossier.id }}" />
-
-      <script type="text/javascript">
+    </script>
+{% else %}
+    <h2 class="section">SECTION 1 - POSTE</h2>
+    <fieldset>
+    <h2>Poste : {{ poste.nom }} ({{ poste.implantation.nom }})</h2>
+    
+    </fieldset>
+    
+    <h2 class="section">SECTION 2 - PERSONNEL ENGAGÉ</h2>
+    <fieldset>
+    <div>
+        <div class="gauche"><h2>Personne</h2></div>
+        <div class="droite">
+            <table class="droite">
+                <tbody>
+                <tr>
+                    <th>Mobilité interne</th>
+                    <td colspan="3"><input id="mobilite_interne" type="checkbox" name="mobilite_interne" /></td>
+                </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+    <div class="clear"></div>
+    <table id="form-employe">
+        <tbody>
+        <tr>
+            <th>
+                Employé :<br />
+                {{ forms.employe.employe.errors }}
+            </th>
+            <td colspan="5">{{ forms.employe.employe }}</td>
+        </tr>
+        <tr>
+            <th>
+                {{ forms.employe.nom.label_tag }} :<br />
+                {{ forms.employe.nom.errors }}
+            </th>
+            <td>{{ forms.employe.nom }}</td>
+            <th>
+                {{ forms.employe.prenom.label_tag }} :<br />
+                {{ forms.employe.prenom.errors }}
+            </th>
+            <td>{{ forms.employe.prenom }}</td>
+            <th>
+                {{ forms.employe.genre.label_tag }} :<br />
+                {{ forms.employe.genre.errors }}
+            </th>
+            <td>{{ forms.employe.genre }}</td>
+        </tr>
+        </tbody>
+    </table>
+
+    <input type="hidden" id="poste" name="poste" 
+                                    value="dae-{{ poste.id }}" />
+    <input type="hidden" id="implantation" name="implantation"
+                                    value="{{ poste.implantation_id }}" />
+    <input type="hidden" id="dossier" name="dossier"
+                                    value="{{ dossier.id }}" />
+    </fieldset>
+
+    <script type="text/javascript">
         function activateEmployeDropDown() {
             $('#id_employe').change(loadEmploye);
         }
         function loadEmploye() {
             var employeUrl = '{% url employe %}/' + $(this).val();
             $('#form-employe').html('<tr><td>Chargement...</td></tr>')
-                              .load(employeUrl, activateEmployeDropDown);
+                .load(employeUrl, activateEmployeDropDown);
             var dossierUrl = '{% url dossier %}/' + $('#poste').val() +
-                             '/' + $(this).val();
+                '/' + $(this).val();
             $('#form-dossier').html('<tr><td>Chargement...</td></tr>')
-                              .load(dossierUrl, activateDossierDropDowns);
+                .load(dossierUrl, activateDossierDropDowns);
         }
-
         activateEmployeDropDown();
-      </script>
-
-      <h2>Dossier</h2>
-
-      <table cellspacing="0" id="form-dossier">
-        {{ forms.dossier.as_table }}
-      </table>
-
-      <script type="text/javascript">
-        function activateDossierDropDowns() {
-            $('#id_classement, #id_devise').change(loadSalaire);
-        }
-
-        function loadSalaire() {
-            $.getJSON('{% url salaire %}/' + $('#implantation').val() + '/' +
-                      $('#id_devise').val() + '/' + $('#id_classement').val(),
-              function(data) {
-                console.log(data);
-                $('#id_salaire').val(data.salaire_devise);
-              });
-        }
-
-        activateDossierDropDowns();
-      </script>
-      <input type="submit" name="save" value="Sauvegarder" />
-    {% endif %}
-  </form>
+    </script>
+    
+    {% with forms.dossier as form %}
+        {% include "dae/embauche-dossier.html" %}
+    {% endwith %}
+    
+    <h2 class="section">SECTION 3 - COÛT GLOBAL</h2>
+    
+    <h2 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h2>
+    
+    <input type="submit" name="save" value="Sauvegarder" />
+{% endif %}
+</form>
 {% endblock %}
 
index 2d2673a..af33f73 100644 (file)
@@ -15,7 +15,6 @@ Demande d'autorisation d'embauche
         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;}
@@ -282,17 +281,6 @@ Demande d'autorisation d'embauche
     </table>
     </fieldset>
     {% comment %}{% endif %}{% endcomment %}
-
-    {% comment %}
-    <h1 class="section clear">SECTION 2 - PERSONNEL ENGAGÉ</h1>
-    <div class="row"></div>
-
-    <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>
 
index 5fb7e5a..37b38a5 100644 (file)
@@ -239,7 +239,11 @@ def dossier(request, poste_key, employe_key):
     else:
         dossier = pre_filled_dossier(dossier_rh, employe_source, poste_rh)
 
-    return HttpResponse(DossierForm(initial=data, instance=dossier).as_table())
+    dossier_form = DossierForm(initial=data, instance=dossier)
+    vars = dict(form=dossier_form)
+
+    return render_to_response('dae/embauche-dossier.html', vars,
+                          RequestContext(request))
 
 
 def salaire(request, implantation, devise, classement):
index acd4b67..39f4ec3 100644 (file)
@@ -369,7 +369,7 @@ class ValeurPoint(models.Model):
             devise_code = tx.devise.code
         else:
             devise_code = "??"
-        return u'%s (%s-%s) %s' % (self.valeur, self.implantation_id, self.annee, devise_code)
+        return u'%s %s (%s-%s)' % (self.valeur, devise_code, self.implantation_id, self.annee)
         
     class Meta:
         ordering = ['valeur']