démarrage mise en form du formulaire
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 5 Apr 2011 14:32:42 +0000 (10:32 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 5 Apr 2011 14:32:42 +0000 (10:32 -0400)
project/dae/forms.py
project/dae/models.py
project/dae/templates/dae/poste.html

index 215c809..cadb948 100644 (file)
@@ -1,4 +1,5 @@
 # -*- encoding: utf-8 -*-
+
 from django import forms
 
 from datamaster_modeles import models as ref
@@ -11,6 +12,7 @@ class PosteForm(forms.ModelForm):
     """ Formulaire des postes. """
     class Meta:
         model = dae.Poste
+
         fields = ('poste', 'implantation', 'type_poste', 'service', 'nom',
                   'responsable', 'statut_residence', 'mise_a_disposition',
                   'appel', 'date_debut', 'date_fin', 'actif',
@@ -25,10 +27,12 @@ class PosteForm(forms.ModelForm):
                   'comp_ong_min', 'comp_ong_max',
                   'comp_autre_min', 'comp_autre_max',)
         widgets = dict(statut_residence=forms.RadioSelect(),
-                       appel=forms.RadioSelect())
+                       appel=forms.RadioSelect(),
+                       nom=forms.TextInput(attrs={'size': 60 }),
+)
 
     # La liste des choix est laissée vide. Voir __init__ pour la raison.
-    poste = forms.ChoiceField(choices=(), required=False)
+    poste = forms.ChoiceField(label="Nouveau poste, ou évolution du poste", choices=(), required=False)
 
     def __init__(self, *args, **kwargs):
         """ Mise à jour dynamique du contenu du menu des postes.
index 52e3db1..06b8691 100644 (file)
@@ -45,10 +45,10 @@ class Poste(models.Model):
     # Modèle existant
     id_rh = models.ForeignKey(rh.Poste, null=True, related_name='+',
                               editable=False)
-    nom = models.CharField(max_length=255)
+    nom = models.CharField(verbose_name="Titre du poste", max_length=255)
     implantation = models.ForeignKey(ref.Implantation)
     type_poste = models.ForeignKey(rh.TypePoste, null=True, related_name='+')
-    service = models.ForeignKey(rh.Service, related_name='+')
+    service = models.ForeignKey(rh.Service, verbose_name=u"Direction/Service/Pôle support", related_name='+')
     responsable = models.ForeignKey(rh.Poste, related_name='+')
     regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
                                          default=100)
@@ -57,11 +57,11 @@ class Poste(models.Model):
                                                           default=40)
 
     # Recrutement
-    statut_residence = models.CharField(max_length=10, default='MAD',
+    statut_residence = models.CharField(max_length=10, default='MAD', verbose_name="Recrutement",
                                         choices=STATUT_RESIDENCE_CHOICES)
     # TODO null?
     mise_a_disposition = models.BooleanField()
-    appel = models.CharField(max_length=10, default='interne',
+    appel = models.CharField(max_length=10, default='interne', verbose_name="Appel à candidature",
                              choices=POSTE_APPEL_CHOICES)
 
     # Rémunération
@@ -109,8 +109,8 @@ class Poste(models.Model):
     # Méta
     date_creation = models.DateTimeField(auto_now_add=True)
     date_modification = models.DateTimeField(auto_now=True)
-    date_debut = models.DateField(help_text="format: aaaa-mm-jj")
-    date_fin = models.DateField(null=True, help_text="format: aaaa-mm-jj")
+    date_debut = models.DateField(verbose_name="Date de début", help_text="format: aaaa-mm-jj")
+    date_fin = models.DateField(null=True, verbose_name="Date de fin", help_text="format: aaaa-mm-jj")
     actif = models.BooleanField(default=True)
 
     # Managers
@@ -201,9 +201,9 @@ class Dossier(models.Model):
                                   null=True,
                                   default=None)
     devise = models.ForeignKey(rh.Devise, related_name='+')
-    regime_travail = models.DecimalField(max_digits=12, decimal_places=2)
+    regime_travail = models.DecimalField(max_digits=12, verbose_name="Régime de travail", decimal_places=2)
     regime_travail_nb_heure_semaine = \
-        models.DecimalField(max_digits=12, decimal_places=2)
+        models.DecimalField(max_digits=12, verbose_name="Nbr heures par semaine", decimal_places=2)
 
     # Contrat
     type_contrat = models.ForeignKey(rh.TypeContrat, related_name='+')
index 4784db9..3b18fdf 100644 (file)
@@ -7,6 +7,19 @@
           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>
 {% endblock %}
 
 {% block title %}
 {% endblock %}
 
 {% block main %}
-  <h2>
-    {% if new %}
-      Nouveau poste
-    {% else %}
-      Poste
-    {% endif %}
-  </h2>
 
   <form action="" method="post">
-    <table cellspacing="0">
-      {{ form.as_table }}
+
+    <h1 class="section">SECTION 1 - POSTE</h1>
+
+    <div class="row">
+        {{ form.implantation.label_tag }} {{ form.implantation.errors }} <span> : </span><span>{{ form.implantation }}<span>
+        {{ form.service.label_tag }} {{ form.service.errors }} <span> : </span><span>{{ form.service }}</span>
+    </div>
+
+    <div class="row">{{ form.nom.label_tag }} {{ form.nom.errors }} <span> : </span>{{ form.nom }}</span></div>
+
+    <div class="row">{{ form.poste.label_tag }} {{form.poste.errors }} <span> : </span><span>{{ form.poste }}</span>
+        <span class="note">Justifier à la section 4<span>
+    </div>
+
+    <div class="row">{{ form.responsable.label_tag }} {{ form.responsable.errors }} <span> : </span><span>{{ form.responsable }}</span></div>
+
+    <div class="row">
+        <span class="underline">{{ form.statut_residence.label_tag }}</span> <span> : </span> <span>{{ form.statut_residence.errors }} {{ form.statut_residence }} {{ form.mise_a_disposition.label_tag }}  {{ form.mise_a_disposition.errors }} {{ form.mise_a_disposition }}</span>
+    </div>
+
+    <div class="row">{{ form.appel.label_tag }} {{ form.appel.errors }} <span> : </span> <span>{{ form.appel }}</span></div>
+
+    <div class="row">
+        <label>Durée prévue du poste </label> <span class="underline">(indépendamment du titulaire du poste)</span> :
+    </div>
+
+
+    <div class="row">
+        <label>Durée déterminée : </label> <span>du ({{form.date_debut.help_text }}) : </span> <span>{{ form.date_debut.errors }} {{ form.date_debut }}</span> <span> au ({{form.date_fin.help_text }}) : </span> <span>{{ form.date_fin.errors }} {{ form.date_fin }}</span>
+        <span class="note">Pour une durée indéterminée, spécifier uniquement la date de début<span>
+    </div>
+
+    <div class="row">
+        <label>Régime de travail</label><span> : </span> <span>Temps complet 100%,  Temps partiel : </span>{{ form.regime_travail.errors }} {{ form.regime_travail }}<span>%</span>
+        <label>Nbr heures par semaine</label><span> : </span> <span>{{ form.regime_travail_nb_heure_semaine.errors }} {{ form.regime_travail_nb_heure_semaine }}</span>
+    </div>
+
+    <table class="noborder">
+        <tr class="noborder">
+            <td><label>Classement du poste</label> : </td>
+            <td><label>Éléments de comparaison<label> : <p class="info">Compléter uniquement lors de la création d'un poste</p></td>
+        </tr>
+        <tr>
+            <td class="noborder">
+                <table>
+                    <tr>
+                        <th></th>
+                        <th>Échelon AUF</th>
+                        <th>Salaire de base</th>
+                        <th>Indemnité, responsabilité (le cas échéant)</th>
+                        <th>Autres</th>
+                        <th>TOTAL</th>
+                        <th>Conversion EUR</th>
+                    </tr>
+                    <tr>
+                        <th>Minimum</th>
+                        <td>{{ form.classement_min }}</td>
+                        <td>{{ form.salaire_min }}</td>
+                        <td>{{ form.indemn_min }}</td>
+                        <td>{{ form.autre_min }}</td>
+                        <td>??</td>
+                        <td>??</td>
+                    </tr>
+                    <tr>
+                        <th>Maximun</th>
+                        <td>{{ form.classement_max }}</td>
+                        <td>{{ form.salaire_max }}</td>
+                        <td>{{ form.indemn_min }}</td>
+                        <td>{{ form.autre_max }}</td>
+                        <td>??</td>
+                        <td>??</td>
+                    </tr>
+                </table>
+            </td>
+            <td class="noborder">
+                <table>
+                    <tr>
+                        <th></th>
+                        <th>Locale</th>
+                        <th>Université</th>
+                        <th>Fonction publique</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>
+                    </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>
+                    </tr>
+                </table>
+            </td>
+        </tr>
+        </table>
+
+        <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p>
+
+        <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>
+
+
+    {% comment %}
+    <table>
+    {{ form.as_table }}
     </table>
+    {% endcomment %}
+
     <input type="submit" name="save" value="Sauvegarder" />
   </form>