Commit | Line | Data |
---|---|---|
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 %} |
6 | Demande 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 | ||
5efcd48e | 34 | <form action="" method="post"> |
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> |
150 | <th>Salaire de base</th> | |
151 | <th>Indemnité, responsabilité (le cas échéant)</th> | |
152 | <th>Autres</th> | |
153 | <th>TOTAL</th> | |
154 | <th>Conversion EUR</th> | |
155 | </tr> | |
156 | <tr> | |
157 | <th>Minimum</th> | |
158 | <td>{{ form.classement_min }}</td> | |
96d32304 | 159 | <td>{{ form.coefficient_min }}</td> |
5efcd48e | 160 | <td> |
161 | {{ form.valeur_point_min }} | |
162 | {{ form.valeur_point_min.errors }} | |
163 | </td> | |
164 | <td>{{ form.salaire_min }}</td> | |
165 | <td>{{ form.indemn_min }}</td> | |
166 | <td>{{ form.autre_min }}</td> | |
85668061 | 167 | <td id="total_min"></td> |
168 | <td id="total_min_eur">??</td> | |
0f23302a | 169 | </tr> |
170 | <tr> | |
5efcd48e | 171 | <th>Maximun</th> |
172 | <td>{{ form.classement_max }}</td> | |
96d32304 | 173 | <td>{{ form.coefficient_max }}</td> |
5efcd48e | 174 | <td> |
175 | {{ form.valeur_point_max }} | |
176 | {{ form.valeur_point_max.errors }} | |
ce110fb9 | 177 | </td> |
5efcd48e | 178 | <td>{{ form.salaire_max }}</td> |
179 | <td>{{ form.indemn_max }}</td> | |
180 | <td>{{ form.autre_max }}</td> | |
85668061 | 181 | <td id="total_max"></td> |
182 | <td id="total_max_eur">??</td> | |
ce110fb9 | 183 | </tr> |
5efcd48e | 184 | </tbody> |
0f23302a | 185 | </table> |
ce110fb9 | 186 | |
0f23302a | 187 | <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p> |
5efcd48e | 188 | </fieldset> |
189 | ||
190 | {% if new %} | |
191 | <fieldset> | |
192 | <h2>Éléments de comparaison</h2> | |
193 | <p class="info">Compléter uniquement lors de la création d'un poste</p> | |
194 | <table> | |
195 | <tbody> | |
196 | <tr> | |
197 | <th></th> | |
198 | <th>Locale</th> | |
199 | <th>Université</th> | |
200 | <th>Fonction publique</th> | |
201 | <th>ONG</th> | |
202 | <th>Autre</th> | |
203 | </tr> | |
204 | <tr> | |
205 | <th>Minimum</th> | |
206 | <td>{{ form.comp_locale_min }}</td> | |
207 | <td>{{ form.comp_universite_min }}</td> | |
208 | <td>{{ form.comp_fonctionpub_min }}</td> | |
209 | <td>{{ form.comp_ong_min }}</td> | |
210 | <td>{{ form.comp_autre_min }}</td> | |
211 | </tr> | |
212 | <tr> | |
213 | <th>Maximum</th> | |
214 | <td>{{ form.comp_locale_max }}</td> | |
215 | <td>{{ form.comp_universite_max }}</td> | |
216 | <td>{{ form.comp_fonctionpub_max }}</td> | |
217 | <td>{{ form.comp_ong_max }}</td> | |
218 | <td>{{ form.comp_autre_max }}</td> | |
219 | </tr> | |
220 | </tbody> | |
221 | </table> | |
222 | <p class="info">N.B Conversion en EUROS au taux de change budgétaire</p> | |
223 | </fieldset> | |
224 | {% endif %} | |
ce110fb9 | 225 | |
5efcd48e | 226 | {% comment %} |
0f23302a | 227 | <h1 class="section clear">SECTION 2 - PERSONNEL ENGAGÉ</h1> |
228 | <div class="row"></div> | |
ce110fb9 | 229 | |
0f23302a | 230 | <h1 class="section">SECTION 3 - COÛT GLOBAL</h1> |
231 | <div class="row"></div> | |
ce110fb9 | 232 | |
0f23302a | 233 | <h1 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h1> |
234 | <div class="row"></div> | |
5efcd48e | 235 | {% endcomment %} |
3ed49093 | 236 | <input type="submit" name="save" value="Sauvegarder" /> |
5efcd48e | 237 | </form> |
3ed49093 | 238 | |
5efcd48e | 239 | <fieldset> |
240 | <h2>Financement</h2> | |
3ed49093 | 241 | |
5efcd48e | 242 | <table cellspacing="0" id="financing"> |
3ed49093 NC |
243 | <tr> |
244 | <th>Type</th> | |
245 | <th>Montant</th> | |
246 | <th>Devise</th> | |
247 | <th>Pourcentage</th> | |
248 | <th>Commentaire</th> | |
249 | <th></th> | |
250 | </tr> | |
251 | {% for fin in poste.financements.all %} | |
252 | <tr> | |
43d04712 | 253 | <td>{{ fin.get_type_display }}</td> |
3ed49093 | 254 | <td>{{ fin.montant }}</td> |
43d04712 | 255 | <td>€ |
256 | {% comment %} | |
257 | {{ fin.devise }} | |
258 | {% endcomment %} | |
259 | </td> | |
3ed49093 NC |
260 | <td>{{ fin.pourcentage }}</td> |
261 | <td>{{ fin.commentaire }}</td> | |
262 | <td><a href="{% url financement poste_key fin.id %}">Modifier</a></td> | |
263 | </tr> | |
264 | {% empty %} | |
265 | <tr> | |
266 | <td colspan="5"> | |
267 | {% if new %} | |
268 | Vous devez enregister ce nouveau poste avant de pouvoir spécifier | |
269 | la ou les sources de financement. | |
270 | {% else %} | |
271 | Aucun financement au registre | |
272 | {% endif %} | |
273 | </td> | |
274 | </tr> | |
275 | {% endfor %} | |
5efcd48e | 276 | </table> |
277 | {% if not new %} | |
703e5cfb | 278 | <a href="{% url financement poste_key %}" class="new"> |
3ed49093 NC |
279 | Ajouter une source de financement |
280 | </a> | |
5efcd48e | 281 | {% endif %} |
703e5cfb | 282 | |
5efcd48e | 283 | <div id="financing-form"></div> |
284 | </fieldset> | |
703e5cfb | 285 | |
b50b0cd3 | 286 | <script type="text/javascript"> |
287 | $('#id_poste').change(function() { | |
288 | window.location = '{% url poste %}/' + $(this).val(); | |
289 | }); | |
290 | $('#financing a, a.new').click(function() { | |
291 | $('#financing-form').load($(this).attr('href') + '?ajax=1') | |
292 | .dialog({ | |
293 | modal: true, | |
294 | height: 500, | |
295 | width: 550 | |
296 | }); | |
297 | return false; | |
298 | }); | |
85668061 | 299 | /* classement */ |
300 | $(document).ready(function() { | |
301 | valeur_min = '<input type="hidden" id="valeur_min" name="valeur_min" value="0">' | |
302 | $('#id_valeur_point_min').after(valeur_min) | |
303 | }); | |
304 | ||
305 | $('#id_coefficient_min').bind('coeff_min_modified', function(){ | |
306 | $('#id_salaire_min').trigger('update_salaire_min'); | |
307 | }); | |
308 | $('#id_salaire_min').bind('update_salaire_min', function(){ | |
309 | valeur = $('#valeur_min').val(); | |
310 | coeff = $('#id_coefficient_min').val(); | |
311 | salaire = coeff * valeur; | |
312 | salaire = clean_float(salaire); | |
313 | $('#id_salaire_min').val(salaire); | |
314 | $('#total_min').trigger('update_total_min'); | |
315 | }); | |
316 | $('#total_min').bind('update_total_min', function(){ | |
317 | total = 0; | |
318 | salaire = $('#id_salaire_min').val(); | |
319 | indemn = $('#id_indemn_min').val(); | |
320 | autre = $('#id_autre_min').val(); | |
321 | salaire = clean_float(salaire); | |
322 | indemn = clean_float(indemn); | |
323 | autre = clean_float(autre); | |
324 | total = salaire + indemn + autre; | |
325 | $('#total_min').empty(); | |
326 | $('#total_min').text(total); | |
327 | }); | |
328 | ||
329 | $('#id_coefficient_min').change(function(){ | |
330 | $('#id_coefficient_min').trigger('coeff_min_modified'); | |
331 | }); | |
b50b0cd3 | 332 | $('#id_classement_min').change(function() { |
333 | classement = $(this).val(); | |
334 | url = "{% url dae_coefficient %}"; | |
335 | $.post(url, {'classement':classement}, function(data){ | |
336 | $('#id_coefficient_min').attr('value', data["coefficient"]); | |
337 | $('#id_coefficient_min').val(data["coefficient"]); | |
85668061 | 338 | $('#id_coefficient_min').trigger('coeff_min_modified'); |
b50b0cd3 | 339 | }, 'json'); |
340 | }); | |
85668061 | 341 | $('#id_valeur_point_min').change(function() { |
342 | valeur_point = $(this).val(); | |
343 | url = "{% url dae_valeur %}"; | |
344 | $.post(url, {'valeur_point':valeur_point}, function(data){ | |
345 | $('#valeur_min').attr('value', data["valeur"]); | |
346 | $('#valeur_min').val(data["valeur"]); | |
347 | $('#id_salaire_min').trigger('update_salaire_min'); | |
348 | }, 'json'); | |
349 | $('#id_salaire_min').trigger('update_salaire_min'); | |
350 | }); | |
351 | $('#id_salaire_min').change(function(){ | |
352 | $('#total_min').trigger('update_total_min'); | |
353 | }); | |
354 | $('#id_indemn_min').change(function(){ | |
355 | $('#total_min').trigger('update_total_min'); | |
356 | }); | |
357 | $('#id_autre_min').change(function(){ | |
358 | $('#total_min').trigger('update_total_min'); | |
359 | }); | |
360 | ||
b50b0cd3 | 361 | $('#id_classement_max').change(function() { |
362 | classement = $(this).val(); | |
363 | url = "{% url dae_coefficient %}"; | |
364 | $.post(url, {'classement':classement}, function(data){ | |
365 | $('#id_coefficient_max').attr('value', data["coefficient"]); | |
366 | $('#id_coefficient_max').val(data["coefficient"]); | |
367 | }, 'json'); | |
368 | }); | |
85668061 | 369 | |
370 | function clean_float(value){ | |
371 | if (value == undefined) | |
372 | output = 0; | |
373 | else | |
374 | output = parseFloat(value); | |
375 | output = Math.round(output*100)/100; | |
376 | return output; | |
377 | } | |
b50b0cd3 | 378 | |
379 | </script> | |
5d680e84 | 380 | {% endblock %} |