contrat avant classement
[auf_rh_dae.git] / project / media / js / dae-embauche.js
CommitLineData
dfc31755
OL
1/*******************************************************************************
2* EMBAUCHE
3*******************************************************************************/
66796c1f
OL
4function proposition_comparaison(devise_id) {
5 var chargement_devise = $.getJSON("/dae/devise/code", {'devise': devise_id});
6 chargement_devise.success(function(data) {
7 var salaire = $("#id_salaire").val();
8 var montant = parseFloat(data.taux_euro) * parseFloat(salaire);
9 $("#salaire-propose-euros").html(clean_float(montant));
10 });
11 chargement_devise.error(function(data) {
12 alert(data.responseText);
13 });
14}
dfc31755 15
179f6b49
OL
16function activateDossierDropDowns() {
17 $('#id_classement, #id_devise').change(loadSalaire);
18}
19
20function loadSalaire() {
66796c1f 21 $.getJSON('/dae/salaire/' + $('#implantation').val() + '/' +
179f6b49
OL
22 $('#id_devise').val() + '/' + $('#id_classement').val(),
23 function(data) {
66796c1f
OL
24 $('#id_salaire').val(clean_float(data.salaire_devise));
25 $('#id_salaire').trigger('change');
179f6b49
OL
26 });
27}
28
29function round2(n) {
30 return Math.round(n * 100) / 100;
31}
32
33$('#global-cost input[id^="montant"]').live('keyup', function() {
34 var value = $(this).val(),
35 idParts = $(this).attr('id').split('-'),
36 name = idParts[0],
37 id = idParts[1];
38 if (name == 'montant') {
39 $('#montant_mois-' + id).val(round2(value / 12));
40 } else {
41 value = value * 12;
42 $('#montant-' + id).val(round2(value));
43 }
44 var taux = $('#taux_devise-' + id).val();
45 $('#montant_euro_mois-' + id).text(round2(value / taux / 12));
46 $('#montant_euro-' + id).text(round2(value / taux));
47});
48
49activateDossierDropDowns();
50
51$('#type-remun').change(function() {
52 if ($(this).val() != '') {
53 $('#global-cost').html('<tr><td>Chargement...</td></tr>')
54 .load('{% url add_remun %}/' +
55 $('#dossier').val() + '/' +
56 $(this).val(), function() {
57 $('#type-remun').val('');
58 });
59 }
60});
61
62/* Ajout des datespickers sur les inputs loadés via AJAX.
63On s'assure qu'on est pas dans le cas initial où ils sont déjà ajoutés.
64(La façon dont c'est fait requiert que les inputs soient uniquement dans la partie AJAX).*/
65function datepicker() {
66 var date_pickers = $(".datetimeshortcuts");
67 if (date_pickers.length == 0)
68 DateTimeShortcuts.init();
69}
70
71function activateEmployeDropDown() {
72 $('#id_employe').change(loadEmploye);
73}
74
75function loadEmploye() {
76 var employeUrl = '/dae/employe/' + $(this).val();
77 $('#form-employe').html('<tr><td>Chargement...</td></tr>')
78 .load(employeUrl, activateEmployeDropDown);
79 var dossierUrl = '/dae/dossier/' + $('#poste').val() +
80 '/' + $(this).val();
81 $('#form-dossier').html('<tr><td>Chargement...</td></tr>')
82 .load(dossierUrl, function() {
83 datepicker();
84 activateDossierDropDowns();
72db8238 85 $("#id_contrat_date_debut, #id_contrat_date_fin").focusout(function() {contrat_mois();});
179f6b49
OL
86 });
87}
88
dfc31755 89$(document).ready(function() {
179f6b49
OL
90
91 /* Lorsqu'on choisit un poste dans la liste on recharge la page avec le
92 poste chargé dans la view (grâce à son id dans l'URL).*/
93 $('#id_poste').change(function() {
94 window.location = '/dae/embauche/' + $(this).val();
95 });
96
97 /* on lance le JS au chargement de la page, la toute première fois,
98 puis on cable le change au select pour le rechargement. */
72db8238 99 //loadEmploye();
179f6b49
OL
100 activateEmployeDropDown();
101
72db8238
OL
102 /* calcul de la différence en mois */
103 $("#id_contrat_date_debut, #id_contrat_date_fin").focusout(function() {
104 contrat_mois();
105 });
106 contrat_mois();
107
dfc31755 108});