pieces jointes
[auf_rh_dae.git] / project / dae / templates / dae / poste.html
CommitLineData
5d680e84 1{% extends 'base.html' %}
37bf2d05 2
498881f4 3{% block title %}RH - DAE{% endblock %}
4{% block titre %}Ressources humaines{% endblock %}
5efcd48e 5{% block sous_titre %}
6Demande d'autorisation d'embauche
7{% endblock %}
498881f4 8
37bf2d05 9{% block extrahead %}
703e5cfb
NC
10 <script src="{{ MEDIA_URL }}js/jquery-1.5.1.min.js"
11 type="text/javascript"></script>
12 <script src="{{ MEDIA_URL }}js/jquery-ui-1.8.11.custom.min.js"
13 type="text/javascript"></script>
14 <link href="{{ MEDIA_URL }}/css/redmond/jquery-ui-1.8.11.custom.css"
15 rel="stylesheet" />
ce110fb9
OL
16
17 <style>
18 h1.section {background-color: #D0E8F8; text-align: center; color: #5F5F5F; margin: 50px 0px 26px 0px; border-bottom: 3px solid #BBD8EC; padding: 4px;}
19 .row {padding: 10px 0px; clear: both; display:block;}
20 .row * {float: left; margin: 0px; padding: 0px; margin-right: 4px;}
21 .row li {list-style-type: none;}
22 .underline {text-decoration: underline;}
23 .clear {display: block; clear: both;}
24 .note {text-decoration: underline; font-style: italic; margin-left: 12px;}
25 .info {font-size:13px; font-style: italic;}
26 .noborder {border:none; margin:0; padding; 0}
27 tr.noborder td {border:none; padding-left: 0;}
28 </style>
37bf2d05
NC
29{% endblock %}
30
37bf2d05 31{% block main %}
498881f4 32<h1>Demande d'autorisation de création de poste</h1>
33
36341125 34<form action="" method="post" enctype="multipart/form-data">
5efcd48e 35 <fieldset>
36 <h2>
37 {% if new %}
38 Nouveau poste
39 {% else %}
40 Poste existant : {{ poste.nom }} ({{ poste.implantation.nom }})
41 {% endif %}
42 </h2>
43 <table>
44 <tbody>
45 <tr>
46 <th>{{ form.poste.label_tag }} :<br />{{ form.poste.errors }}</th>
47 <td>{{ form.poste }}</td>
48 </tr>
49 <tr>
50 <th>{{ form.nom.label_tag }} :<br />{{ form.nom.errors }}</th>
51 <td>{{ form.nom }}</td>
52 </tr>
53 <tr>
54 <th>{{ form.type_poste.label_tag }} :<br />{{ form.type_poste.errors }}</th>
55 <td>{{ form.type_poste }}</td>
56 </tr>
57 <tr>
58 <th>{{ form.implantation.label_tag }} :<br />{{ form.implantation.errors }}</th>
59 <td>{{ form.implantation }}</td>
60 </tr>
61 <tr>
62 <th>{{ form.service.label_tag }} :<br />{{ form.service.errors }}</th>
63 <td>{{ form.service }}</td>
64 </tr>
65 <tr>
66 <th>{{ form.responsable.label_tag }} :<br />{{ form.responsable.errors }}</th>
67 <td>{{ form.responsable }}</td>
68 </tr>
69 </tbody>
70 </table>
71 </fieldset>
d949462d 72
5efcd48e 73 <fieldset>
74 <h2>Recrutement</h2>
75 <table>
76 <tbody>
77 <tr>
78 <th>{{ form.statut_residence.label_tag }} :<br />{{ form.statut_residence.errors }}</th>
79 <td>
80 <span class="row">
81 {{ form.statut_residence }}
82 {{ form.mise_a_disposition.label_tag }}
83 {{ form.mise_a_disposition.errors }}
84 {{ form.mise_a_disposition }}
85 </span>
86 </td>
87 </tr>
88 <tr>
89 <th>{{ form.appel.label_tag }} :<br />{{ form.appel.errors }}</th>
90 <td>
91 <span class="row">
92 {{ form.appel }}
93 </span>
94 </td>
95 </tr>
96 </tbody>
97 </table>
98 </fieldset>
d949462d 99
5efcd48e 100 <fieldset>
101 <h2>Durée prévue du poste </h2>
9fb2ccd9 102 <span class="info">Indépendamment du titulaire du poste</span>
5efcd48e 103 <table>
104 <tbody>
105 <tr>
106 <th rowspan="2">Durée :</th>
107 <td>du</td>
108 <td>
109 {{ form.date_debut }}<br />
110 <span class="info">({{form.date_debut.help_text }})</span><br />
111 {{ form.date_debut.errors }}
112 </td>
113 <td> au </td>
114 <td>
115 {{ form.date_fin }}<br />
116 <span class="info">({{form.date_fin.help_text }})</span><br />
117 {{ form.date_fin.errors }}
118 </td>
119 </tr>
120 <tr>
121 <td colspan="4" class="info">Pour une durée indéterminée, spécifier uniquement la date de début.</td>
ce110fb9
OL
122 </tr>
123 <tr>
5efcd48e 124 <th>{{ form.regime_travail.label_tag }} :<br />{{ form.regime_travail.errors }}</th>
125 <td colspan="4">
126 {{ form.regime_travail }}
127 <span class="info">{{ form.regime_travail.help_text }}</span>
ce110fb9 128 </td>
0f23302a 129 </tr>
5efcd48e 130 <tr>
131 <th>
132 {{ form.regime_travail_nb_heure_semaine.label_tag }} :<br />
133 {{ form.regime_travail_nb_heure_semaine.errors }}
134 </th>
135 <td colspan="4">{{ form.regime_travail_nb_heure_semaine }}</td>
136 </tr>
137 </tbody>
0f23302a 138 </table>
5efcd48e 139 </fieldset>
0f23302a 140
5efcd48e 141 <fieldset>
142 <h2>Classement du poste</h2>
143 <table>
144 <tbody>
145 <tr>
146 <th></th>
147 <th>Échelon AUF</th>
96d32304 148 <th>Coefficient</th>
5efcd48e 149 <th>Valeur du point</th>
3d627bfd 150 <th>Devise</th>
151 <th colspan="2">Salaire de base</th>
152 <th colspan="2">Indemnité, responsabilité (le cas échéant)</th>
153 <th colspan="2">Autres</th>
154 <th colspan="2">TOTAL</th>
8e30e17f 155 <th>Taux&nbsp;>&nbsp;€</th>
3d627bfd 156 <th colspan="2">Conversion EUR</th>
5efcd48e 157 </tr>
158 <tr>
159 <th>Minimum</th>
17353922
OL
160 <td>
161 {{ form.classement_min }}
162 {{ form.classement_min.errors }}
163 </td>
164 <td>
165 {{ form.coefficient_min }}
166 {{ form.coefficient_min.errors }}
167 </td>
5efcd48e 168 <td>
169 {{ form.valeur_point_min }}
170 {{ form.valeur_point_min.errors }}
171 </td>
3d627bfd 172 <td>
173 {{ form.devise_min }}
174 {{ form.devise_min.errors }}
175 </td>
63437606 176 <td>
177 {{ form.salaire_min }}
178 {{ form.salaire_min.errors }}
179 </td>
3d627bfd 180 <td><span class="devise_min_code">EUR</span></td>
5efcd48e 181 <td>{{ form.indemn_min }}</td>
3d627bfd 182 <td><span class="devise_min_code">EUR</span></td>
5efcd48e 183 <td>{{ form.autre_min }}</td>
3d627bfd 184 <td><span class="devise_min_code">EUR</span></td>
8e30e17f 185 <td id="total_min" class="cell-nombre">0.00</td>
3d627bfd 186 <td><span class="devise_min_code">EUR</span></td>
8e30e17f 187 <td id="taux_min_euro_display">1</td>
188 <td id="total_min_euro" class="cell-nombre">0.00</td>
3d627bfd 189 <td>€</td>
0f23302a 190 </tr>
191 <tr>
5efcd48e 192 <th>Maximun</th>
17353922
OL
193 <td>
194 {{ form.classement_max }}
195 {{ form.classement_max.errors }}
196 </td>
197 <td>
198 {{ form.coefficient_max }}
199 {{ form.coefficient_max.errors }}
200 </td>
5efcd48e 201 <td>
202 {{ form.valeur_point_max }}
203 {{ form.valeur_point_max.errors }}
ce110fb9 204 </td>
3d627bfd 205 <td>
206 {{ form.devise_max }}
207 {{ form.devise_max.errors }}
208 </td>
63437606 209 <td>
210 {{ form.salaire_max }}
211 {{ form.salaire_max.errors }}
212 </td>
3d627bfd 213 <td><span class="devise_max_code">EUR</span></td>
5efcd48e 214 <td>{{ form.indemn_max }}</td>
3d627bfd 215 <td><span class="devise_max_code">EUR</span></td>
5efcd48e 216 <td>{{ form.autre_max }}</td>
3d627bfd 217 <td><span class="devise_max_code">EUR</span></td>
8e30e17f 218 <td id="total_max" class="cell-nombre">0.00</td>
3d627bfd 219 <td><span class="devise_max_code">EUR</span></td>
8e30e17f 220 <td id="taux_max_euro_display">1</td>
221 <td id="total_max_euro" class="cell-nombre">0.00</td>
3d627bfd 222 <td>€</td>
ce110fb9 223 </tr>
5efcd48e 224 </tbody>
0f23302a 225 </table>
ce110fb9 226
0f23302a 227 <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p>
5efcd48e 228 </fieldset>
229
63437606 230 {% comment %}{% if new %}{% endcomment %}
5efcd48e 231 <fieldset>
232 <h2>Éléments de comparaison</h2>
233 <p class="info">Compléter uniquement lors de la création d'un poste</p>
234 <table>
235 <tbody>
236 <tr>
a3508c67 237 <th>Devise</th>
238 <td>
239 {{ form.devise_comparaison }}
240 {{ form.devise_comparaison.errors }}
241 </td>
242 </tr>
243 </tbody>
244 </table>
245 <table>
246 <tbody>
247 <tr>
5efcd48e 248 <th></th>
a3508c67 249 <th colspan="2">Entreprise locale</th>
250 <th colspan="2">Université</th>
251 <th colspan="2">Fonction publique</th>
252 <th colspan="2">ONG</th>
253 <th colspan="2">Autre</th>
5efcd48e 254 </tr>
255 <tr>
256 <th>Minimum</th>
257 <td>{{ form.comp_locale_min }}</td>
a3508c67 258 <td><span class="devise_comp_code">€</span></td>
5efcd48e 259 <td>{{ form.comp_universite_min }}</td>
a3508c67 260 <td><span class="devise_comp_code">€</span></td>
5efcd48e 261 <td>{{ form.comp_fonctionpub_min }}</td>
a3508c67 262 <td><span class="devise_comp_code">€</span></td>
5efcd48e 263 <td>{{ form.comp_ong_min }}</td>
a3508c67 264 <td><span class="devise_comp_code">€</span></td>
5efcd48e 265 <td>{{ form.comp_autre_min }}</td>
a3508c67 266 <td><span class="devise_comp_code">€</span></td>
5efcd48e 267 </tr>
268 <tr>
269 <th>Maximum</th>
270 <td>{{ form.comp_locale_max }}</td>
a3508c67 271 <td><span class="devise_comp_code">€</span></td>
5efcd48e 272 <td>{{ form.comp_universite_max }}</td>
a3508c67 273 <td><span class="devise_comp_code">€</span></td>
5efcd48e 274 <td>{{ form.comp_fonctionpub_max }}</td>
a3508c67 275 <td><span class="devise_comp_code">€</span></td>
5efcd48e 276 <td>{{ form.comp_ong_max }}</td>
a3508c67 277 <td><span class="devise_comp_code">€</span></td>
5efcd48e 278 <td>{{ form.comp_autre_max }}</td>
a3508c67 279 <td><span class="devise_comp_code">€</span></td>
5efcd48e 280 </tr>
281 </tbody>
282 </table>
5efcd48e 283 </fieldset>
63437606 284 {% comment %}{% endif %}{% endcomment %}
ce110fb9 285
5efcd48e 286 {% comment %}
0f23302a 287 <h1 class="section clear">SECTION 2 - PERSONNEL ENGAGÉ</h1>
288 <div class="row"></div>
ce110fb9 289
0f23302a 290 <h1 class="section">SECTION 3 - COÛT GLOBAL</h1>
291 <div class="row"></div>
ce110fb9 292
0f23302a 293 <h1 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h1>
294 <div class="row"></div>
5efcd48e 295 {% endcomment %}
36341125
OL
296
297 <fieldset>
298 <h2>Pièces jointes</h2>
299 <p class="info">Compléter uniquement lors de la création d'un poste</p>
300 <table>
301 {%for f in piecesForm.management_form%}
302 {{f}}
303 {%endfor%}
304 <tr>
305 <th>Télécharger</th>
306 {% for field in piecesForm.forms.0 %}
307 {% if not field.is_hidden %}<th>{{field.label}}</th>{% endif %}
308 {% endfor %}
309 </tr>
310 {%for f in piecesForm.forms %}
311 <tr>
312 <td>todo</td>
313 {%for field in f%}
314 {% if not field.is_hidden %}<td>{{field}}</td>{%else%}{{field}}{% endif %}
315 {%endfor%}
316 </tr>
317 {%endfor%}
318 </table>
319 </fieldset>
3ed49093 320 <input type="submit" name="save" value="Sauvegarder" />
5efcd48e 321</form>
3ed49093 322
5efcd48e 323 <fieldset>
324 <h2>Financement</h2>
3ed49093 325
5efcd48e 326 <table cellspacing="0" id="financing">
3ed49093
NC
327 <tr>
328 <th>Type</th>
329 <th>Montant</th>
330 <th>Devise</th>
331 <th>Pourcentage</th>
332 <th>Commentaire</th>
333 <th></th>
334 </tr>
335 {% for fin in poste.financements.all %}
336 <tr>
43d04712 337 <td>{{ fin.get_type_display }}</td>
3ed49093 338 <td>{{ fin.montant }}</td>
43d04712 339 <td>€
340 {% comment %}
341 {{ fin.devise }}
342 {% endcomment %}
343 </td>
3ed49093
NC
344 <td>{{ fin.pourcentage }}</td>
345 <td>{{ fin.commentaire }}</td>
346 <td><a href="{% url financement poste_key fin.id %}">Modifier</a></td>
347 </tr>
348 {% empty %}
349 <tr>
350 <td colspan="5">
351 {% if new %}
352 Vous devez enregister ce nouveau poste avant de pouvoir spécifier
353 la ou les sources de financement.
354 {% else %}
355 Aucun financement au registre
356 {% endif %}
357 </td>
358 </tr>
359 {% endfor %}
5efcd48e 360 </table>
361 {% if not new %}
703e5cfb 362 <a href="{% url financement poste_key %}" class="new">
3ed49093
NC
363 Ajouter une source de financement
364 </a>
5efcd48e 365 {% endif %}
703e5cfb 366
5efcd48e 367 <div id="financing-form"></div>
368 </fieldset>
703e5cfb 369
b50b0cd3 370 <script type="text/javascript">
371 $('#id_poste').change(function() {
372 window.location = '{% url poste %}/' + $(this).val();
373 });
374 $('#financing a, a.new').click(function() {
375 $('#financing-form').load($(this).attr('href') + '?ajax=1')
376 .dialog({
377 modal: true,
378 height: 500,
379 width: 550
380 });
381 return false;
382 });
3d627bfd 383
384 /* CLASSEMENT MIN */
85668061 385 $(document).ready(function() {
3d627bfd 386 valeur_min = '<input type="hidden" id="valeur_min" name="valeur_min" value="0" disabled="disabled">'
a3508c67 387 devise_min_code = '<input type="hidden" id="devise_min_code" name="devise_min_code" value="EUR" disabled="disabled">'
8e30e17f 388 taux_min_euro = '<input type="hidden" id="taux_min_euro" name="taux_min_euro" value="1" disabled="disabled">'
85668061 389 $('#id_valeur_point_min').after(valeur_min)
3d627bfd 390 $('#id_devise_min').after(devise_min_code)
8e30e17f 391 $('#total_min_euro').after(taux_min_euro)
63437606 392
a3508c67 393 /* valeur_point, devise et taux de l'implantation par défaut */
394 /*
395 implantation = $('id_implantation').val();
396 valeur_point_min = $('#id_valeur_point_min').val();
397 if (valeur_point_min == '' and implantation != '')
398 */
399 /* simuler id_valeur_point_min change */
400
401
63437606 402 /* simuler id_devise_min change */
403 devise_min = $('#id_devise_min').val();
404 url_devise_code = "{% url dae_devise_code %}";
405 $.post(url_devise_code, {'devise':devise_min}, function(data){
406 $('#devise_min_code').val(data["devise_code"]);
407 $('#taux_min_euro').val(data["taux_euro"]);
408 $('#taux_min_euro_display').empty();
409 $('#taux_min_euro_display').text(data["taux_euro"]);
410 $('.devise_min_code').trigger('update_devise_min_code');
411 $('#total_min_euro').trigger('update_total_min_euro');
412 }, 'json');
413 /* total */
414 $('#total_min').trigger('update_total_min');
415 /* total euro */
416 $('#total_min_euro').trigger('update_total_min_euro');
85668061 417 });
8e30e17f 418 /* bindings */
85668061 419 $('#id_coefficient_min').bind('coeff_min_modified', function(){
420 $('#id_salaire_min').trigger('update_salaire_min');
421 });
3d627bfd 422 $('.devise_min_code').bind('update_devise_min_code', function(){
423 devise_code = $('#devise_min_code').val();
424 $('.devise_min_code').empty();
425 $('.devise_min_code').text(devise_code);
426 });
85668061 427 $('#id_salaire_min').bind('update_salaire_min', function(){
428 valeur = $('#valeur_min').val();
429 coeff = $('#id_coefficient_min').val();
430 salaire = coeff * valeur;
431 salaire = clean_float(salaire);
3d627bfd 432 $(this).val(salaire);
85668061 433 $('#total_min').trigger('update_total_min');
434 });
435 $('#total_min').bind('update_total_min', function(){
436 total = 0;
437 salaire = $('#id_salaire_min').val();
438 indemn = $('#id_indemn_min').val();
439 autre = $('#id_autre_min').val();
440 salaire = clean_float(salaire);
441 indemn = clean_float(indemn);
442 autre = clean_float(autre);
443 total = salaire + indemn + autre;
3d627bfd 444 $(this).empty();
445 $(this).text(total.toFixed(2));
8e30e17f 446 $('#total_min_euro').trigger('update_total_min_euro');
447 });
448 $('#total_min_euro').bind('update_total_min_euro', function(){
449 total = $('#total_min').text();
450 taux_euro = $('#taux_min_euro').val();
451 total = clean_float(total);
452 taux_euro = clean_float(taux_euro);
453 total_euro = total * taux_euro;
454 $(this).empty();
455 $(this).text(total_euro.toFixed(2));
85668061 456 });
3d627bfd 457 /* change */
85668061 458 $('#id_coefficient_min').change(function(){
3d627bfd 459 $(this).trigger('coeff_min_modified');
85668061 460 });
b50b0cd3 461 $('#id_classement_min').change(function() {
b50b0cd3 462 url = "{% url dae_coefficient %}";
8e30e17f 463 $.post(url, {'classement':$(this).val()}, function(data){
b50b0cd3 464 $('#id_coefficient_min').val(data["coefficient"]);
85668061 465 $('#id_coefficient_min').trigger('coeff_min_modified');
b50b0cd3 466 }, 'json');
467 });
85668061 468 $('#id_valeur_point_min').change(function() {
3d627bfd 469 url_valeur = "{% url dae_valeur %}";
470 url_devise = "{% url dae_devise %}";
1849a509 471 min_now = $('#id_valeur_point_min').val();
472 max_now = $('#id_valeur_point_max').val();
a3508c67 473 $.post(url_valeur, {'valeur_point':min_now}, function(data){
85668061 474 $('#valeur_min').val(data["valeur"]);
475 $('#id_salaire_min').trigger('update_salaire_min');
8e30e17f 476 $('#total_min_euro').trigger('update_total_min_euro');
a3508c67 477 if (max_now == ''){
1849a509 478 $('#id_valeur_point_max').val(min_now);
479 $('#valeur_max').val(data["valeur"]);
480 $('#id_salaire_max').trigger('update_salaire_max');
481 $('#total_max_euro').trigger('update_total_max_euro');
a3508c67 482 }
85668061 483 }, 'json');
a3508c67 484 $.post(url_devise, {'valeur_point':min_now}, function(data){
3d627bfd 485 $('#id_devise_min').val(data["devise"]);
486 $('#devise_min_code').val(data["devise_code"]);
8e30e17f 487 $('#taux_min_euro').val(data["taux_euro"]);
488 $('#taux_min_euro_display').empty();
489 $('#taux_min_euro_display').text(data["taux_euro"]);
3d627bfd 490 $('.devise_min_code').trigger('update_devise_min_code');
8e30e17f 491 $('#total_min_euro').trigger('update_total_min_euro');
a3508c67 492 if (max_now == ''){
1849a509 493 $('#id_devise_max').val(data["devise"]);
494 $('#devise_max_code').val(data["devise_code"]);
495 $('#taux_max_euro').val(data["taux_euro"]);
496 $('#taux_max_euro_display').empty();
497 $('#taux_max_euro_display').text(data["taux_euro"]);
498 $('.devise_max_code').trigger('update_devise_max_code');
499 $('#total_max_euro').trigger('update_total_max_euro');
a3508c67 500 }
3d627bfd 501 }, 'json');
502 });
503 $('#id_devise_min').change(function(){
63437606 504 devise_min = $('#id_devise_min').val();
3d627bfd 505 url_devise_code = "{% url dae_devise_code %}";
63437606 506 $.post(url_devise_code, {'devise':devise_min}, function(data){
3d627bfd 507 $('#devise_min_code').val(data["devise_code"]);
8e30e17f 508 $('#taux_min_euro').val(data["taux_euro"]);
509 $('#taux_min_euro_display').empty();
510 $('#taux_min_euro_display').text(data["taux_euro"]);
3d627bfd 511 $('.devise_min_code').trigger('update_devise_min_code');
8e30e17f 512 $('#total_min_euro').trigger('update_total_min_euro');
3d627bfd 513 }, 'json');
85668061 514 });
515 $('#id_salaire_min').change(function(){
516 $('#total_min').trigger('update_total_min');
517 });
518 $('#id_indemn_min').change(function(){
519 $('#total_min').trigger('update_total_min');
520 });
521 $('#id_autre_min').change(function(){
522 $('#total_min').trigger('update_total_min');
523 });
524
3d627bfd 525 /* CLASSEMENT MAX */
681bf3d0 526 $(document).ready(function() {
527 valeur_max = '<input type="hidden" id="valeur_max" name="valeur_max" value="0" disabled="disabled">'
a3508c67 528 devise_max_code = '<input type="hidden" id="devise_max_code" name="devise_max_code" value="EUR" disabled="disabled">'
681bf3d0 529 taux_max_euro = '<input type="hidden" id="taux_max_euro" name="taux_max_euro" value="1" disabled="disabled">'
530 $('#id_valeur_point_max').after(valeur_max)
531 $('#id_devise_max').after(devise_max_code)
532 $('#total_max_euro').after(taux_max_euro)
63437606 533
534 /* simuler id_devise_max change */
535 devise_max = $('#id_devise_max').val();
536 url_devise_code = "{% url dae_devise_code %}";
537 $.post(url_devise_code, {'devise':devise_max}, function(data){
538 $('#devise_max_code').val(data["devise_code"]);
539 $('#taux_max_euro').val(data["taux_euro"]);
540 $('#taux_max_euro_display').empty();
541 $('#taux_max_euro_display').text(data["taux_euro"]);
542 $('.devise_max_code').trigger('update_devise_max_code');
543 $('#total_max_euro').trigger('update_total_max_euro');
544 }, 'json');
545 /* total */
546 $('#total_max').trigger('update_total_max');
547 /* total euro */
548 $('#total_max_euro').trigger('update_total_max_euro');
681bf3d0 549 });
550 /* bindings */
551 $('#id_coefficient_max').bind('coeff_max_modified', function(){
552 $('#id_salaire_max').trigger('update_salaire_max');
553 });
554 $('.devise_max_code').bind('update_devise_max_code', function(){
555 devise_code = $('#devise_max_code').val();
556 $('.devise_max_code').empty();
557 $('.devise_max_code').text(devise_code);
558 });
559 $('#id_salaire_max').bind('update_salaire_max', function(){
560 valeur = $('#valeur_max').val();
561 coeff = $('#id_coefficient_max').val();
562 salaire = coeff * valeur;
563 salaire = clean_float(salaire);
564 $(this).val(salaire);
565 $('#total_max').trigger('update_total_max');
566 });
567 $('#total_max').bind('update_total_max', function(){
568 total = 0;
569 salaire = $('#id_salaire_max').val();
570 indemn = $('#id_indemn_max').val();
571 autre = $('#id_autre_max').val();
572 salaire = clean_float(salaire);
573 indemn = clean_float(indemn);
574 autre = clean_float(autre);
575 total = salaire + indemn + autre;
576 $(this).empty();
577 $(this).text(total.toFixed(2));
578 $('#total_max_euro').trigger('update_total_max_euro');
579 });
580 $('#total_max_euro').bind('update_total_max_euro', function(){
581 total = $('#total_max').text();
582 taux_euro = $('#taux_max_euro').val();
583 total = clean_float(total);
584 taux_euro = clean_float(taux_euro);
585 total_euro = total * taux_euro;
586 $(this).empty();
587 $(this).text(total_euro.toFixed(2));
588 });
589 /* change */
590 $('#id_coefficient_max').change(function(){
591 $(this).trigger('coeff_max_modified');
592 });
b50b0cd3 593 $('#id_classement_max').change(function() {
b50b0cd3 594 url = "{% url dae_coefficient %}";
3d627bfd 595 $.post(url, {'classement':$(this).val()}, function(data){
b50b0cd3 596 $('#id_coefficient_max').val(data["coefficient"]);
681bf3d0 597 $('#id_coefficient_max').trigger('coeff_max_modified');
598 }, 'json');
599 });
600 $('#id_valeur_point_max').change(function() {
601 url_valeur = "{% url dae_valeur %}";
602 url_devise = "{% url dae_devise %}";
1849a509 603 min_now = $('#id_valeur_point_min').val();
604 max_now = $('#id_valeur_point_max').val();
a3508c67 605 $.post(url_valeur, {'valeur_point':max_now}, function(data){
681bf3d0 606 $('#valeur_max').val(data["valeur"]);
607 $('#id_salaire_max').trigger('update_salaire_max');
608 $('#total_max_euro').trigger('update_total_max_euro');
a3508c67 609 if (min_now == ''){
1849a509 610 $('#id_valeur_point_min').val(max_now);
611 $('#valeur_min').val(data["valeur"]);
612 $('#id_salaire_min').trigger('update_salaire_min');
613 $('#total_min_euro').trigger('update_total_min_euro');
a3508c67 614 }
b50b0cd3 615 }, 'json');
a3508c67 616 $.post(url_devise, {'valeur_point':max_now}, function(data){
681bf3d0 617 $('#id_devise_max').val(data["devise"]);
618 $('#devise_max_code').val(data["devise_code"]);
619 $('#taux_max_euro').val(data["taux_euro"]);
620 $('#taux_max_euro_display').empty();
621 $('#taux_max_euro_display').text(data["taux_euro"]);
622 $('.devise_max_code').trigger('update_devise_max_code');
623 $('#total_max_euro').trigger('update_total_max_euro');
a3508c67 624 if (min_now == ''){
1849a509 625 $('#id_devise_min').val(data["devise"]);
626 $('#devise_min_code').val(data["devise_code"]);
627 $('#taux_min_euro').val(data["taux_euro"]);
628 $('#taux_min_euro_display').empty();
629 $('#taux_min_euro_display').text(data["taux_euro"]);
630 $('.devise_min_code').trigger('update_devise_min_code');
631 $('#total_min_euro').trigger('update_total_min_euro');
a3508c67 632 }
681bf3d0 633 }, 'json');
634 });
635 $('#id_devise_max').change(function(){
63437606 636 devise_max = $('#id_devise_max').val();
681bf3d0 637 url_devise_code = "{% url dae_devise_code %}";
63437606 638 $.post(url_devise_code, {'devise':devise_max}, function(data){
681bf3d0 639 $('#devise_max_code').val(data["devise_code"]);
640 $('#taux_max_euro').val(data["taux_euro"]);
641 $('#taux_max_euro_display').empty();
642 $('#taux_max_euro_display').text(data["taux_euro"]);
643 $('.devise_max_code').trigger('update_devise_max_code');
644 $('#total_max_euro').trigger('update_total_max_euro');
645 }, 'json');
646 });
647 $('#id_salaire_max').change(function(){
648 $('#total_max').trigger('update_total_max');
649 });
650 $('#id_indemn_max').change(function(){
651 $('#total_max').trigger('update_total_max');
652 });
653 $('#id_autre_max').change(function(){
654 $('#total_max').trigger('update_total_max');
b50b0cd3 655 });
85668061 656
a3508c67 657 /* COMPARAISON */
658
659 $(document).ready(function() {
660 devise_comp_code = '<input type="hidden" id="devise_comp_code" name="devise_comp_code" value="EUR" disabled="disabled">'
661 $('#id_devise_comparaison').after(devise_comp_code)
662
663 /* simuler id_devise_comparaison change */
664 devise_comparaison = $('#id_devise_comparaison').val();
665 url_devise_code = "{% url dae_devise_code %}";
666 $.post(url_devise_code, {'devise':devise_comparaison}, function(data){
667 $('#devise_comp_code').val(data["devise_code"]);
668 $('.devise_comp_code').trigger('update_devise_comp_code');
669 }, 'json');
670 });
671 $('.devise_comp_code').bind('update_devise_comp_code', function(){
672 devise_code = $('#devise_comp_code').val();
673 $('.devise_comp_code').empty();
674 $('.devise_comp_code').text(devise_code);
675 });
676 $('#id_devise_comparaison').change(function(){
677 devise_comparaison = $('#id_devise_comparaison').val();
678 url_devise_code = "{% url dae_devise_code %}";
679 $.post(url_devise_code, {'devise':devise_comparaison}, function(data){
680 $('#devise_comp_code').val(data["devise_code"]);
681 $('.devise_comp_code').trigger('update_devise_comp_code');
682 }, 'json');
683 });
684
3d627bfd 685 /* helpers */
85668061 686 function clean_float(value){
687 if (value == undefined)
688 output = 0;
689 else
690 output = parseFloat(value);
691 output = Math.round(output*100)/100;
692 return output;
693 }
b50b0cd3 694
695 </script>
5d680e84 696{% endblock %}