# -*- encoding: utf-8 -*-
+
from django import forms
from datamaster_modeles import models as ref
""" 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',
'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.
# 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)
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
# 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
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='+')
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>