1 {% extends 'base.html' %}
4 {% block title %}RH - DAE - Poste{% endblock %}
5 {% block titre %}Ressources humaines{% endblock %}
7 Demande d'autorisation d'embauche
11 <script src=
"{{ MEDIA_URL }}js/jquery-1.5.1.min.js"
12 type=
"text/javascript"></script>
13 <script src=
"{{ MEDIA_URL }}js/jquery-ui-1.8.11.custom.min.js"
14 type=
"text/javascript"></script>
16 {% comment %} style pour le calendier {% endcomment %}
17 <script type=
"text/javascript">
18 window.__admin_media_prefix__ =
"{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
20 <link rel=
"stylesheet" type=
"text/css" href=
"{{ MEDIA_URL }}css/calendrier.css" />
21 <script type=
"text/javascript" src=
"/admin/jsi18n/"></script>
22 <script type=
"text/javascript" src=
"{% admin_media_prefix %}js/core.js"></script>
26 <script src=
"{{ MEDIA_URL }}js/dae.js" /></script>
29 <link href=
"{{ MEDIA_URL }}/css/redmond/jquery-ui-1.8.11.custom.css"
33 .row {padding:
10px
0px; clear: both; display:block;}
34 .row * {float: left; margin:
0px; padding:
0px; margin-right:
4px;}
35 .row li {list-style-type: none;}
36 .underline {text-decoration: underline;}
37 .clear {display: block; clear: both;}
38 .note {text-decoration: underline; font-style: italic; margin-left:
12px;}
39 .info {font-size:
13px; font-style: italic;}
40 .noborder {border:none; margin:
0; padding;
0}
41 tr.noborder td {border:none; padding-left:
0;}
47 <h1>Demande d'autorisation de création de poste
</h1>
49 <form action=
"" method=
"post" enctype=
"multipart/form-data">
56 Poste existant : {{ poste.nom }} ({{ poste.implantation.nom }})
62 <th>{{ form.poste.label_tag }} :
<br />{{ form.poste.errors }}
</th>
63 <td>{{ form.poste }}
</td>
66 <th>{{ form.nom.label_tag }} :
<br />{{ form.nom.errors }}
</th>
67 <td>{{ form.nom }}
</td>
70 <th>{{ form.type_poste.label_tag }} :
<br />{{ form.type_poste.errors }}
</th>
71 <td>{{ form.type_poste }}
</td>
74 <th>{{ form.implantation.label_tag }} :
<br />{{ form.implantation.errors }}
</th>
75 <td>{{ form.implantation }}
</td>
78 <th>{{ form.service.label_tag }} :
<br />{{ form.service.errors }}
</th>
79 <td>{{ form.service }}
</td>
82 <th>{{ form.responsable.label_tag }} :
<br />{{ form.responsable.errors }}
</th>
83 <td>{{ form.responsable }}
</td>
94 <th>{{ form.statut_residence.label_tag }} :
<br />{{ form.statut_residence.errors }}
</th>
97 {{ form.statut_residence }}
98 {{ form.mise_a_disposition.label_tag }}
99 {{ form.mise_a_disposition.errors }}
100 {{ form.mise_a_disposition }}
105 <th>{{ form.appel.label_tag }} :
<br />{{ form.appel.errors }}
</th>
117 <h2>Durée prévue du poste
</h2>
118 <span class=
"info">Indépendamment du titulaire du poste
</span>
122 <th rowspan=
"2">Durée :
</th>
125 {{ form.date_debut }}
<br />
126 <span class=
"info">({{form.date_debut.help_text }})
</span><br />
127 {{ form.date_debut.errors }}
131 {{ form.date_fin }}
<br />
132 <span class=
"info">({{form.date_fin.help_text }})
</span><br />
133 {{ form.date_fin.errors }}
135 <th>{{ form.regime_travail.label_tag }} :
<br />{{ form.regime_travail.errors }}
</th>
137 {{ form.regime_travail }}
138 <span class=
"info">{{ form.regime_travail.help_text }}
</span>
142 <td colspan=
"4" class=
"info">
143 <p>Pour une durée indéterminée, spécifier uniquement la date de début.
</p>
146 {{ form.regime_travail_nb_heure_semaine.label_tag }} :
<br />
147 {{ form.regime_travail_nb_heure_semaine.errors }}
149 <td>{{ form.regime_travail_nb_heure_semaine }}
</td>
156 <h2>Classement du poste
</h2>
157 <table id=
"classement">
163 <th>Valeur du point
</th>
165 <th colspan=
"2">Salaire de base
</th>
166 <th colspan=
"2">Indemnité, responsabilité (le cas échéant)
</th>
167 <th colspan=
"2">Autres
</th>
168 <th colspan=
"2">TOTAL
</th>
169 <th>Taux
> €
</th>
170 <th colspan=
"2">Conversion EUR
</th>
175 {{ form.classement_min }}
176 {{ form.classement_min.errors }}
179 {{ form.coefficient_min }}
180 {{ form.coefficient_min.errors }}
183 {{ form.valeur_point_min }}
<span class=
"valeur-point"></span>
184 {{ form.valeur_point_min.errors }}
187 {{ form.devise_min }}
188 {{ form.devise_min.errors }}
191 {{ form.salaire_min }}
192 {{ form.salaire_min.errors }}
194 <td><span class=
"devise_code">EUR
</span></td>
195 <td>{{ form.indemn_min }}
</td>
196 <td><span class=
"devise_code">EUR
</span></td>
197 <td>{{ form.autre_min }}
</td>
198 <td><span class=
"devise_code">EUR
</span></td>
199 <td id=
"total_min" class=
"total-devise cell-nombre">0.00</td>
200 <td><span class=
"devise_code">EUR
</span></td>
201 <td class=
"taux">1</td>
202 <td id=
"total_min_euro" class=
"total-euro cell-nombre">0.00</td>
208 {{ form.classement_max }}
209 {{ form.classement_max.errors }}
212 {{ form.coefficient_max }}
213 {{ form.coefficient_max.errors }}
216 {{ form.valeur_point_max }}
<span class=
"valeur-point"></span>
217 {{ form.valeur_point_max.errors }}
220 {{ form.devise_max }}
221 {{ form.devise_max.errors }}
224 {{ form.salaire_max }}
225 {{ form.salaire_max.errors }}
227 <td><span class=
"devise_code">EUR
</span></td>
228 <td>{{ form.indemn_max }}
</td>
229 <td><span class=
"devise_code">EUR
</span></td>
230 <td>{{ form.autre_max }}
</td>
231 <td><span class=
"devise_code">EUR
</span></td>
232 <td id=
"total_max" class=
"total-devise cell-nombre">0.00</td>
233 <td><span class=
"devise_code">EUR
</span></td>
234 <td class=
"taux">1</td>
235 <td id=
"total_max_euro" class=
"total-euro cell-nombre">0.00</td>
241 <p class=
"info">N.B Conversion en EUROS au taux de change budgétaire
</p>
244 {% comment %}{% if new %}{% endcomment %}
246 <h2>Éléments de comparaison
</h2>
247 <span class=
"info">Compléter uniquement lors de la création d'un poste
</span>
253 {{ form.devise_comparaison }}
254 {{ form.devise_comparaison.errors }}
263 <th colspan=
"2">Entreprise locale
</th>
264 <th colspan=
"2">Université
</th>
265 <th colspan=
"2">Fonction publique
</th>
266 <th colspan=
"2">ONG
</th>
267 <th colspan=
"2">Autre
</th>
271 <td>{{ form.comp_locale_min }}
</td>
272 <td><span class=
"devise_comp_code">€
</span></td>
273 <td>{{ form.comp_universite_min }}
</td>
274 <td><span class=
"devise_comp_code">€
</span></td>
275 <td>{{ form.comp_fonctionpub_min }}
</td>
276 <td><span class=
"devise_comp_code">€
</span></td>
277 <td>{{ form.comp_ong_min }}
</td>
278 <td><span class=
"devise_comp_code">€
</span></td>
279 <td>{{ form.comp_autre_min }}
</td>
280 <td><span class=
"devise_comp_code">€
</span></td>
284 <td>{{ form.comp_locale_max }}
</td>
285 <td><span class=
"devise_comp_code">€
</span></td>
286 <td>{{ form.comp_universite_max }}
</td>
287 <td><span class=
"devise_comp_code">€
</span></td>
288 <td>{{ form.comp_fonctionpub_max }}
</td>
289 <td><span class=
"devise_comp_code">€
</span></td>
290 <td>{{ form.comp_ong_max }}
</td>
291 <td><span class=
"devise_comp_code">€
</span></td>
292 <td>{{ form.comp_autre_max }}
</td>
293 <td><span class=
"devise_comp_code">€
</span></td>
298 {% comment %}{% endif %}{% endcomment %}
301 <h2>Pièces jointes
</h2>
302 <p class=
"info">Compléter uniquement lors de la création d'un poste
</p>
303 {% include
"dae/pieces.html" %}
307 <input type=
"submit" name=
"save" value=
"Sauvegarder" />
314 <table cellspacing=
"0" id=
"financing">
317 <th colspan=
"2">Montant
</th>
318 <th colspan=
"2">Pourcentage
</th>
322 {% for fin in poste.financements.all %}
324 <td>{{ fin.get_type_display }}
</td>
325 <td class=
"cell-nombre">{{ fin.montant }}
</td>
331 <td class=
"cell-nombre">{{ fin.pourcentage }}
</td>
333 <td>{{ fin.commentaire }}
</td>
334 <td><a href=
"{% url financement poste_key fin.id %}">Modifier
</a></td>
340 Vous devez enregister ce nouveau poste avant de pouvoir spécifier
341 la ou les sources de financement.
343 Aucun financement au registre
350 <a href=
"{% url financement poste_key %}" class=
"new">
351 Ajouter une source de financement
355 <div id=
"financing-form"></div>
358 <script type=
"text/javascript">
359 $('#id_poste').change(function() {
360 window.location = '{% url poste %}/' + $(this).val();
362 $('#financing a, a.new').click(function() {
363 $('#financing-form').load($(this).attr('href') + '?ajax=
1')
374 $(document).ready(function() {
375 valeur_min = '
<input type=
"hidden" id=
"valeur_min" name=
"valeur_min" value=
"0" disabled=
"disabled">'
376 devise_min_code = '
<input type=
"hidden" id=
"devise_min_code" name=
"devise_min_code" value=
"EUR" disabled=
"disabled">'
377 taux_min_euro = '
<input type=
"hidden" id=
"taux_min_euro" name=
"taux_min_euro" value=
"1" disabled=
"disabled">'
378 $('#id_valeur_point_min').after(valeur_min)
379 $('#id_devise_min').after(devise_min_code)
380 $('#total_min_euro').after(taux_min_euro)
382 /* valeur_point, devise et taux de l'implantation par défaut */
384 implantation = $('id_implantation').val();
385 valeur_point_min = $('#id_valeur_point_min').val();
386 if (valeur_point_min == '' and implantation != '')
388 /* simuler id_valeur_point_min change */
391 /* simuler id_devise_min change */
392 devise_min = $('#id_devise_min').val();
393 url_devise_code =
"{% url dae_devise_code %}";
394 $.post(url_devise_code, {'devise':devise_min}, function(data){
395 $('#devise_min_code').val(data[
"devise_code"]);
396 $('#taux_min_euro').val(data[
"taux_euro"]);
397 $('#taux_min_euro_display').empty();
398 $('#taux_min_euro_display').text(data[
"taux_euro"]);
399 $('.devise_min_code').trigger('update_devise_min_code');
400 $('#total_min_euro').trigger('update_total_min_euro');
403 $('#total_min').trigger('update_total_min');
405 $('#total_min_euro').trigger('update_total_min_euro');
408 $('#id_coefficient_min').bind('coeff_min_modified', function(){
409 $('#id_salaire_min').trigger('update_salaire_min');
411 $('.devise_min_code').bind('update_devise_min_code', function(){
412 devise_code = $('#devise_min_code').val();
413 $('.devise_min_code').empty();
414 $('.devise_min_code').text(devise_code);
416 $('#id_salaire_min').bind('update_salaire_min', function(){
417 valeur = $('#valeur_min').val();
418 coeff = $('#id_coefficient_min').val();
419 salaire = coeff * valeur;
420 salaire = clean_float(salaire);
421 $(this).val(salaire);
422 $('#total_min').trigger('update_total_min');
424 $('#total_min').bind('update_total_min', function(){
426 salaire = $('#id_salaire_min').val();
427 indemn = $('#id_indemn_min').val();
428 autre = $('#id_autre_min').val();
429 salaire = clean_float(salaire);
430 indemn = clean_float(indemn);
431 autre = clean_float(autre);
432 total = salaire + indemn + autre;
434 $(this).text(total.toFixed(
2));
435 $('#total_min_euro').trigger('update_total_min_euro');
437 $('#total_min_euro').bind('update_total_min_euro', function(){
438 total = $('#total_min').text();
439 taux_euro = $('#taux_min_euro').val();
440 total = clean_float(total);
441 taux_euro = clean_float(taux_euro);
442 total_euro = total * taux_euro;
444 $(this).text(total_euro.toFixed(
2));
447 $('#id_coefficient_min').change(function(){
448 $(this).trigger('coeff_min_modified');
450 $('#id_classement_min').change(function() {
451 url =
"{% url dae_coefficient %}";
452 $.post(url, {'classement':$(this).val()}, function(data){
453 $('#id_coefficient_min').val(data[
"coefficient"]);
454 $('#id_coefficient_min').trigger('coeff_min_modified');
457 $('#id_valeur_point_min').change(function() {
458 url_valeur =
"{% url dae_valeur %}";
459 url_devise =
"{% url dae_devise %}";
460 min_now = $('#id_valeur_point_min').val();
461 max_now = $('#id_valeur_point_max').val();
462 $.post(url_valeur, {'valeur_point':min_now}, function(data){
463 $('#valeur_min').val(data[
"valeur"]);
464 $('#id_salaire_min').trigger('update_salaire_min');
465 $('#total_min_euro').trigger('update_total_min_euro');
467 $('#id_valeur_point_max').val(min_now);
468 $('#valeur_max').val(data[
"valeur"]);
469 $('#id_salaire_max').trigger('update_salaire_max');
470 $('#total_max_euro').trigger('update_total_max_euro');
473 $.post(url_devise, {'valeur_point':min_now}, function(data){
474 $('#id_devise_min').val(data[
"devise"]);
475 $('#devise_min_code').val(data[
"devise_code"]);
476 $('#taux_min_euro').val(data[
"taux_euro"]);
477 $('#taux_min_euro_display').empty();
478 $('#taux_min_euro_display').text(data[
"taux_euro"]);
479 $('.devise_min_code').trigger('update_devise_min_code');
480 $('#total_min_euro').trigger('update_total_min_euro');
482 $('#id_devise_max').val(data[
"devise"]);
483 $('#devise_max_code').val(data[
"devise_code"]);
484 $('#taux_max_euro').val(data[
"taux_euro"]);
485 $('#taux_max_euro_display').empty();
486 $('#taux_max_euro_display').text(data[
"taux_euro"]);
487 $('.devise_max_code').trigger('update_devise_max_code');
488 $('#total_max_euro').trigger('update_total_max_euro');
492 $('#id_devise_min').change(function(){
493 devise_min = $('#id_devise_min').val();
494 url_devise_code =
"{% url dae_devise_code %}";
495 $.post(url_devise_code, {'devise':devise_min}, function(data){
496 $('#devise_min_code').val(data[
"devise_code"]);
497 $('#taux_min_euro').val(data[
"taux_euro"]);
498 $('#taux_min_euro_display').empty();
499 $('#taux_min_euro_display').text(data[
"taux_euro"]);
500 $('.devise_min_code').trigger('update_devise_min_code');
501 $('#total_min_euro').trigger('update_total_min_euro');
504 $('#id_salaire_min').change(function(){
505 $('#total_min').trigger('update_total_min');
507 $('#id_indemn_min').change(function(){
508 $('#total_min').trigger('update_total_min');
510 $('#id_autre_min').change(function(){
511 $('#total_min').trigger('update_total_min');
515 $(document).ready(function() {
516 valeur_max = '
<input type=
"hidden" id=
"valeur_max" name=
"valeur_max" value=
"0" disabled=
"disabled">'
517 devise_max_code = '
<input type=
"hidden" id=
"devise_max_code" name=
"devise_max_code" value=
"EUR" disabled=
"disabled">'
518 taux_max_euro = '
<input type=
"hidden" id=
"taux_max_euro" name=
"taux_max_euro" value=
"1" disabled=
"disabled">'
519 $('#id_valeur_point_max').after(valeur_max)
520 $('#id_devise_max').after(devise_max_code)
521 $('#total_max_euro').after(taux_max_euro)
523 /* simuler id_devise_max change */
524 devise_max = $('#id_devise_max').val();
525 url_devise_code =
"{% url dae_devise_code %}";
526 $.post(url_devise_code, {'devise':devise_max}, function(data){
527 $('#devise_max_code').val(data[
"devise_code"]);
528 $('#taux_max_euro').val(data[
"taux_euro"]);
529 $('#taux_max_euro_display').empty();
530 $('#taux_max_euro_display').text(data[
"taux_euro"]);
531 $('.devise_max_code').trigger('update_devise_max_code');
532 $('#total_max_euro').trigger('update_total_max_euro');
535 $('#total_max').trigger('update_total_max');
537 $('#total_max_euro').trigger('update_total_max_euro');
540 $('#id_coefficient_max').bind('coeff_max_modified', function(){
541 $('#id_salaire_max').trigger('update_salaire_max');
543 $('.devise_max_code').bind('update_devise_max_code', function(){
544 devise_code = $('#devise_max_code').val();
545 $('.devise_max_code').empty();
546 $('.devise_max_code').text(devise_code);
548 $('#id_salaire_max').bind('update_salaire_max', function(){
549 valeur = $('#valeur_max').val();
550 coeff = $('#id_coefficient_max').val();
551 salaire = coeff * valeur;
552 salaire = clean_float(salaire);
553 $(this).val(salaire);
554 $('#total_max').trigger('update_total_max');
556 $('#total_max').bind('update_total_max', function(){
558 salaire = $('#id_salaire_max').val();
559 indemn = $('#id_indemn_max').val();
560 autre = $('#id_autre_max').val();
561 salaire = clean_float(salaire);
562 indemn = clean_float(indemn);
563 autre = clean_float(autre);
564 total = salaire + indemn + autre;
566 $(this).text(total.toFixed(
2));
567 $('#total_max_euro').trigger('update_total_max_euro');
569 $('#total_max_euro').bind('update_total_max_euro', function(){
570 total = $('#total_max').text();
571 taux_euro = $('#taux_max_euro').val();
572 total = clean_float(total);
573 taux_euro = clean_float(taux_euro);
574 total_euro = total * taux_euro;
576 $(this).text(total_euro.toFixed(
2));
579 $('#id_coefficient_max').change(function(){
580 $(this).trigger('coeff_max_modified');
582 $('#id_classement_max').change(function() {
583 url =
"{% url dae_coefficient %}";
584 $.post(url, {'classement':$(this).val()}, function(data){
585 $('#id_coefficient_max').val(data[
"coefficient"]);
586 $('#id_coefficient_max').trigger('coeff_max_modified');
589 $('#id_valeur_point_max').change(function() {
590 url_valeur =
"{% url dae_valeur %}";
591 url_devise =
"{% url dae_devise %}";
592 min_now = $('#id_valeur_point_min').val();
593 max_now = $('#id_valeur_point_max').val();
594 $.post(url_valeur, {'valeur_point':max_now}, function(data){
595 $('#valeur_max').val(data[
"valeur"]);
596 $('#id_salaire_max').trigger('update_salaire_max');
597 $('#total_max_euro').trigger('update_total_max_euro');
599 $('#id_valeur_point_min').val(max_now);
600 $('#valeur_min').val(data[
"valeur"]);
601 $('#id_salaire_min').trigger('update_salaire_min');
602 $('#total_min_euro').trigger('update_total_min_euro');
605 $.post(url_devise, {'valeur_point':max_now}, function(data){
606 $('#id_devise_max').val(data[
"devise"]);
607 $('#devise_max_code').val(data[
"devise_code"]);
608 $('#taux_max_euro').val(data[
"taux_euro"]);
609 $('#taux_max_euro_display').empty();
610 $('#taux_max_euro_display').text(data[
"taux_euro"]);
611 $('.devise_max_code').trigger('update_devise_max_code');
612 $('#total_max_euro').trigger('update_total_max_euro');
614 $('#id_devise_min').val(data[
"devise"]);
615 $('#devise_min_code').val(data[
"devise_code"]);
616 $('#taux_min_euro').val(data[
"taux_euro"]);
617 $('#taux_min_euro_display').empty();
618 $('#taux_min_euro_display').text(data[
"taux_euro"]);
619 $('.devise_min_code').trigger('update_devise_min_code');
620 $('#total_min_euro').trigger('update_total_min_euro');
624 $('#id_devise_max').change(function(){
625 devise_max = $('#id_devise_max').val();
626 url_devise_code =
"{% url dae_devise_code %}";
627 $.post(url_devise_code, {'devise':devise_max}, function(data){
628 $('#devise_max_code').val(data[
"devise_code"]);
629 $('#taux_max_euro').val(data[
"taux_euro"]);
630 $('#taux_max_euro_display').empty();
631 $('#taux_max_euro_display').text(data[
"taux_euro"]);
632 $('.devise_max_code').trigger('update_devise_max_code');
633 $('#total_max_euro').trigger('update_total_max_euro');
636 $('#id_salaire_max').change(function(){
637 $('#total_max').trigger('update_total_max');
639 $('#id_indemn_max').change(function(){
640 $('#total_max').trigger('update_total_max');
642 $('#id_autre_max').change(function(){
643 $('#total_max').trigger('update_total_max');
648 $(document).ready(function() {
649 devise_comp_code = '
<input type=
"hidden" id=
"devise_comp_code" name=
"devise_comp_code" value=
"EUR" disabled=
"disabled">'
650 $('#id_devise_comparaison').after(devise_comp_code)
652 /* simuler id_devise_comparaison change */
653 devise_comparaison = $('#id_devise_comparaison').val();
654 url_devise_code =
"{% url dae_devise_code %}";
655 $.post(url_devise_code, {'devise':devise_comparaison}, function(data){
656 $('#devise_comp_code').val(data[
"devise_code"]);
657 $('.devise_comp_code').trigger('update_devise_comp_code');
660 $('.devise_comp_code').bind('update_devise_comp_code', function(){
661 devise_code = $('#devise_comp_code').val();
662 $('.devise_comp_code').empty();
663 $('.devise_comp_code').text(devise_code);
665 $('#id_devise_comparaison').change(function(){
666 devise_comparaison = $('#id_devise_comparaison').val();
667 url_devise_code =
"{% url dae_devise_code %}";
668 $.post(url_devise_code, {'devise':devise_comparaison}, function(data){
669 $('#devise_comp_code').val(data[
"devise_code"]);
670 $('.devise_comp_code').trigger('update_devise_comp_code');
675 function clean_float(value){
676 if (value == undefined)
679 output = parseFloat(value);
680 output = Math.round(output*
100)/
100;