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)
# 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')
--- /dev/null
+<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>
{% 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 %}
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;}
</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>
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):
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']