1 |
<?php |
2 |
/** |
3 |
* DBFORM - 'demandeur' - Surcharge gen. |
4 |
* |
5 |
* Ce script définit la classe 'demandeur'. |
6 |
* |
7 |
* @package openads |
8 |
* @version SVN : $Id: demandeur.class.php 5056 2015-08-19 10:25:20Z nhaye $ |
9 |
*/ |
10 |
|
11 |
require_once ("../gen/obj/demandeur.class.php"); |
12 |
|
13 |
class demandeur extends demandeur_gen { |
14 |
|
15 |
var $required_tag = array("particulier_nom", |
16 |
"personne_morale_denomination", |
17 |
"personne_morale_raison_sociale" |
18 |
); |
19 |
|
20 |
function init_class_actions() { |
21 |
parent::init_class_actions(); |
22 |
// |
23 |
$this->class_actions[998] = array( |
24 |
"identifier" => "json_data", |
25 |
"view" => "view_json_data", |
26 |
"permission_suffix" => "consulter", |
27 |
); |
28 |
// |
29 |
$this->class_actions[11] = array( |
30 |
"identifier" => "adresses_postale_values_json", |
31 |
"view" => "view_adresses_postale_values_json", |
32 |
"permission_suffix" => "consulter", |
33 |
); |
34 |
} |
35 |
|
36 |
/** |
37 |
* Clause select pour la requête de sélection des données de l'enregistrement. |
38 |
* |
39 |
* @return array |
40 |
*/ |
41 |
function get_var_sql_forminc__champs() { |
42 |
return array( |
43 |
'demandeur', |
44 |
'type_demandeur', |
45 |
'qualite', |
46 |
'om_collectivite', |
47 |
'particulier_civilite', 'particulier_nom', 'particulier_prenom', |
48 |
'particulier_date_naissance', 'particulier_commune_naissance', |
49 |
'particulier_departement_naissance', 'particulier_pays_naissance', |
50 |
'personne_morale_denomination', |
51 |
'personne_morale_raison_sociale', 'personne_morale_siret', |
52 |
'personne_morale_categorie_juridique', |
53 |
'personne_morale_civilite', 'personne_morale_nom', 'personne_morale_prenom', |
54 |
'numero', |
55 |
'voie', |
56 |
'complement', |
57 |
'lieu_dit', |
58 |
'localite', |
59 |
'code_postal', |
60 |
'bp', |
61 |
'cedex', |
62 |
'pays', |
63 |
'division_territoriale', |
64 |
'telephone_fixe', |
65 |
'telephone_mobile', |
66 |
'indicatif', |
67 |
'fax', |
68 |
'courriel', |
69 |
'notification', |
70 |
'frequent', |
71 |
'num_inscription', |
72 |
'nom_cabinet', |
73 |
'conseil_regional', |
74 |
'titre_obt_diplo_spec', |
75 |
'date_obt_diplo_spec', |
76 |
'lieu_obt_diplo_spec', |
77 |
); |
78 |
} |
79 |
|
80 |
/** |
81 |
* Mise en page. |
82 |
* |
83 |
* @param formulaire $form Instance de la classe om_formulaire. |
84 |
* @param integer $maj Identifiant de l'action. |
85 |
*/ |
86 |
function setLayout(&$form, $maj){ |
87 |
|
88 |
// Gestion recherche pétitionnaire fréquent |
89 |
$search_fields = ''; |
90 |
if ($maj == 0 || $maj == 1) { |
91 |
if ($form->val['type_demandeur'] === 'petitionnaire' || |
92 |
$form->val['type_demandeur'] === 'avocat' || |
93 |
$form->val['type_demandeur'] === 'bailleur') { |
94 |
$search_fields = ' search_fields'; |
95 |
} |
96 |
} |
97 |
// Container du formulaire |
98 |
$form->setBloc('qualite', 'D', '', 'formulaire-demandeur'); |
99 |
|
100 |
// Container des fieldset Qualité et Collectivité |
101 |
$form->setBloc('qualite', 'D', '', 'formulaire-demandeur--qualite-collectivite'); |
102 |
// Qualité |
103 |
$form->setFieldset('qualite','DF',_("Qualité")); |
104 |
// Collectivité |
105 |
// Renomme "collectivité" en "service" si l'option est activée |
106 |
$om_collectivite_libelle = __("Collectivité"); |
107 |
if ($this->f->is_option_renommer_collectivite_enabled() === true) { |
108 |
$om_collectivite_libelle = __("service"); |
109 |
} |
110 |
$form->setFieldset('om_collectivite','DF', $om_collectivite_libelle, $search_fields); |
111 |
$form->setBloc('om_collectivite', 'F'); |
112 |
// Fin - Container des fieldset Qualité et Collectivité |
113 |
|
114 |
|
115 |
// Début - Etat civil Particulier |
116 |
$form->setFieldset('particulier_civilite','D',_("Etat civil"), "group particulier_fields"); |
117 |
// Nom - prénom |
118 |
$form->setBloc('particulier_nom','D', "","group particulier--nom-prenom".$search_fields); |
119 |
$form->setBloc('particulier_prenom', 'F'); |
120 |
// Date + Commune de naissance |
121 |
$form->setBloc('particulier_date_naissance','D',_("Date et Lieu de Naissance"),"group particulier--naissance"); |
122 |
$form->setBloc('particulier_commune_naissance', 'F'); |
123 |
// Dpt + Pays de naissance |
124 |
$form->setBloc('particulier_departement_naissance','D', '',"group particulier--naissance-dpt-pays"); |
125 |
$form->setBloc('particulier_pays_naissance', 'F'); |
126 |
$form->setFieldset('particulier_pays_naissance','F'); |
127 |
// Fin - Etat civil Particulier |
128 |
|
129 |
|
130 |
// Début - État civil Personne morale |
131 |
$form->setFieldset('personne_morale_denomination','D',("Personne morale"),"personne_morale_fields"); |
132 |
// Denomination - Raison Sociale |
133 |
$form->setBloc('personne_morale_denomination','D',"", "group personne_morale--denom-rs"); |
134 |
$form->setBloc('personne_morale_raison_sociale', 'F'); |
135 |
// SIRET - Cat. juridique |
136 |
$form->setBloc('personne_morale_siret','D',"","group personne_morale--siret-cj"); |
137 |
$form->setBloc('personne_morale_categorie_juridique','F'); |
138 |
// Civilité |
139 |
$form->setBloc('personne_morale_civilite', 'DF', ""); |
140 |
// Nom - Prénom |
141 |
$form->setBloc('personne_morale_nom', 'D', "", "group personne_morale--nom-prenom".$search_fields); |
142 |
$form->setBloc('personne_morale_prenom', 'F'); |
143 |
$form->setFieldset('personne_morale_prenom', 'F'); |
144 |
// Fin - État Civil - Personne morale |
145 |
|
146 |
// Adresse |
147 |
$form->setFieldset('numero', 'D', _("Adresse"), "formulaire-demandeur--adresse"); |
148 |
|
149 |
$form->setBloc('numero', 'D', "", "group adresse--num-voie"); |
150 |
$form->setBloc('voie', 'F'); |
151 |
|
152 |
$form->setBloc('complement', 'DF', ""); |
153 |
|
154 |
$form->setBloc('lieu_dit', 'D', "", "group"); |
155 |
$form->setBloc('localite', 'F'); |
156 |
|
157 |
$form->setBloc('code_postal', 'D', "", "group"); |
158 |
$form->setBloc('cedex', 'F'); |
159 |
|
160 |
$form->setBloc('pays', 'D', "", "", "group"); |
161 |
$form->setBloc('division_territoriale', 'F'); |
162 |
$form->setFieldset('division_territoriale', 'F'); |
163 |
|
164 |
// Coordonnées |
165 |
$form->setFieldset('telephone_fixe', 'D', _("Coordonnees"), ""); |
166 |
// Fixe + mobile + Indicatif |
167 |
$form->setBloc('telephone_fixe', 'D', _("Téléphone"), "group"); |
168 |
$form->setBloc('indicatif', 'F'); |
169 |
// Fax |
170 |
$form->setBloc('fax', 'DF', "", "group"); |
171 |
|
172 |
$form->setBloc('courriel', 'DF', '', "group"); |
173 |
$form->setBloc('notification', 'DF'); |
174 |
|
175 |
$form->setFieldset('notification', 'F'); |
176 |
|
177 |
// Architecte |
178 |
$form->setFieldset('num_inscription', 'D', __("Architecte législation connexe"), ""); |
179 |
$form->setBloc('num_inscription', 'D', "", "group"); |
180 |
$form->setBloc('num_inscription', 'F'); |
181 |
$form->setBloc('nom_cabinet', 'D', "", "group"); |
182 |
$form->setBloc('nom_cabinet', 'F'); |
183 |
$form->setBloc('conseil_regional', 'D', "", "group"); |
184 |
$form->setBloc('conseil_regional', 'F'); |
185 |
$form->setBloc('titre_obt_diplo_spec', 'D', __("Obtention du diplôme de spécialisation et d’approfondissement en architecture mention architecture et patrimoine ou équivalent"), "alignForm"); |
186 |
$form->setBloc('lieu_obt_diplo_spec', 'F'); |
187 |
$form->setFieldset('lieu_obt_diplo_spec', 'F'); |
188 |
|
189 |
//Fin container |
190 |
$form->setBloc('lieu_obt_diplo_spec', 'F'); |
191 |
|
192 |
} |
193 |
|
194 |
/** |
195 |
* SETTER_FORM - setVal (setVal). |
196 |
* |
197 |
* @return void |
198 |
*/ |
199 |
function setVal(&$form, $maj, $validation, &$dnu1 = null, $dnu2 = null) { |
200 |
parent::setVal($form, $maj, $validation); |
201 |
// |
202 |
if ($maj == 0) { |
203 |
$form->setVal("pays", "France"); |
204 |
} |
205 |
} |
206 |
|
207 |
/** |
208 |
* Lbellé des champs |
209 |
*/ |
210 |
function setLib(&$form,$maj) { |
211 |
parent::setLib($form,$maj); |
212 |
$form->setLib('qualite', ''); |
213 |
$form->setLib('om_collectivite', ''); |
214 |
// État civil - Particulier |
215 |
$form->setLib('particulier_date_naissance', __("Date")); |
216 |
$form->setLib('particulier_commune_naissance', __("Commune")); |
217 |
$form->setLib('particulier_departement_naissance', __("Département")); |
218 |
$form->setLib('particulier_pays_naissance', __("Pays")); |
219 |
|
220 |
//Coordonnées |
221 |
$form->setLib('telephone_fixe', __("Fixe")); |
222 |
$form->setLib('telephone_mobile', __("Mobile")); |
223 |
$form->setLib('notification', __("Le demandeur accepte d'être notifié à l'adresse électronique communiquée")); |
224 |
|
225 |
// Dans le cas d’une intervention sur un immeuble classé au titre des monuments historiques |
226 |
$form->setLib('titre_obt_diplo_spec', __("Titre")); |
227 |
$form->setLib('date_obt_diplo_spec', __("Date")); |
228 |
$form->setLib('lieu_obt_diplo_spec', __("Établissement / ville / pays")); |
229 |
} |
230 |
|
231 |
/** |
232 |
* SETTER_FORM - setValsousformulaire (setVal). |
233 |
* |
234 |
* @return void |
235 |
*/ |
236 |
function setValsousformulaire(&$form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, &$dnu1 = null, $dnu2 = null) { |
237 |
parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire); |
238 |
// |
239 |
if ($maj == 0) { |
240 |
$form->setVal("pays", "France"); |
241 |
} |
242 |
// XXX L'objectif de cette portion de code n'est pas de faire un setVal |
243 |
// Message d'information concernant la modification des demandeurs |
244 |
// fréquents |
245 |
if ($maj == 1 && $this->getVal("frequent") == "t") { |
246 |
switch ($this->getVal("type_demandeur")) { |
247 |
case "petitionnaire": |
248 |
$type_demandeur = _("Pétitionnaire"); |
249 |
break; |
250 |
|
251 |
case "avocat": |
252 |
$type_demandeur = _("Avocat"); |
253 |
break; |
254 |
|
255 |
case "bailleur": |
256 |
$type_demandeur = _("Bailleur"); |
257 |
break; |
258 |
} |
259 |
$message = sprintf(_("%s fréquent non modifiable"), $type_demandeur); |
260 |
$this->f->displayMessage("info", $message); |
261 |
} |
262 |
} |
263 |
|
264 |
/** |
265 |
* SURCHARGE |
266 |
* |
267 |
* Permet de modifier le fil d'Ariane depuis l'objet pour un sous-formulaire |
268 |
* @param string $ent Fil d'Ariane récupéréré |
269 |
* @return Fil d'Ariane |
270 |
*/ |
271 |
function getSubFormTitle($ent) { |
272 |
return ''; |
273 |
} |
274 |
|
275 |
/** |
276 |
* Surcharge du bouton pour empécher l'utilisateur de modifier un fréquent |
277 |
* Et ajout d'un bouton pour vider le formulaire |
278 |
*/ |
279 |
function boutonsousformulaire($datasubmit, $maj, $val=null) { |
280 |
// En mode ajout ou si le pétitionnaire n'est pas un fréquent |
281 |
if ($maj == 0 |
282 |
|| $this->getVal('frequent') != 't') { |
283 |
// Tant que le formulaire n'est pas validé et valide |
284 |
if (!$this->correct) { |
285 |
// Renomme les boutons |
286 |
switch ($maj) { |
287 |
case 0: |
288 |
$bouton = __("Ajouter le demandeur"); |
289 |
$title = __('Ajouter le demandeur sur la demande en cours de saisie'); |
290 |
break; |
291 |
case 1: |
292 |
$bouton = __("Modifier le demandeur"); |
293 |
$title = __('Modifier le demandeur sur la demande en cours de saisie'); |
294 |
break; |
295 |
case 2: |
296 |
$bouton = __("Supprimer le demandeur"); |
297 |
$title = __('Supprimer le demandeur sur la demande en cours de saisie'); |
298 |
break; |
299 |
default: |
300 |
$bouton = __('Valider'); |
301 |
$title = __('Valider le formulaire du demandeur'); |
302 |
break; |
303 |
} |
304 |
// Compose l'identifiant pour récupérer l'identifiant du demandeur |
305 |
// une fois ajouté |
306 |
$get_demandeur_id_type = $this->get_absolute_class_name(); |
307 |
if (strpos($datasubmit, 'principal=true') !== false) { |
308 |
$get_demandeur_id_type .= '_principal'; |
309 |
} |
310 |
// Compose le bouton de validation pour les différents mode de |
311 |
// formulaire (ajouter, modifier) |
312 |
printf( |
313 |
'<input type="button" value="%s" title="%s" onclick="validate_sform_demandeur(\'%s\', \'%s\', %s, \'%s\'%s)" class="%s" />', |
314 |
$bouton, |
315 |
$title, |
316 |
$this->get_absolute_class_name(), |
317 |
$datasubmit, |
318 |
'this.form', |
319 |
$get_demandeur_id_type, |
320 |
$this->getVal($this->clePrimaire) !== '' ? ', \''.intval($this->getVal($this->clePrimaire)).'\'' : '', |
321 |
'om-button' |
322 |
); |
323 |
} |
324 |
} |
325 |
// Compose le bouton permettant de vider le formulaire |
326 |
if (!$this->correct && $this->getVal('frequent') !== 't') { |
327 |
printf( |
328 |
'<span class="om-form-button erase-%s delete-16" title="%s">%s</span>', |
329 |
$this->get_absolute_class_name(), |
330 |
__("Supprimer le contenu du formulaire du demandeur"), |
331 |
__("Vider le formulaire du demandeur") |
332 |
); |
333 |
} |
334 |
} |
335 |
|
336 |
/** |
337 |
* @return void |
338 |
*/ |
339 |
function verifier($val = array(), &$dnu1 = null, $dnu2 = null) { |
340 |
parent::verifier($val); |
341 |
// le nom du particulier est obligatoire |
342 |
if($this->valF['qualite'] == "particulier" AND $this->valF['particulier_nom'] == "") { |
343 |
$this->correct = false; |
344 |
$this->addToMessage(_("Le champ")." <span class=\"bold\">". |
345 |
_("particulier_nom")."</span> "._("est obligatoire.")); |
346 |
} |
347 |
|
348 |
// la dénomination ou la raison sociale est obligatoire pour une personne morale |
349 |
if($this->valF['qualite'] == "personne_morale" |
350 |
AND $this->valF['personne_morale_denomination'] == "" |
351 |
AND $this->valF['personne_morale_raison_sociale'] == "") { |
352 |
$this->correct = false; |
353 |
$this->addToMessage(_("Un des champs")." <span class=\"bold\">". |
354 |
_("personne_morale_denomination")."</span> ou <span class=\"bold\">". |
355 |
_("personne_morale_raison_sociale")."</span> "._("doit etre rempli.")); |
356 |
} |
357 |
|
358 |
// Le numéro de SIRET doit contenir obligatoirement 14 caractères |
359 |
if ($this->valF['qualite'] == "personne_morale" |
360 |
&& $this->valF['personne_morale_siret'] != null |
361 |
&& strlen($this->valF['personne_morale_siret']) != 14) { |
362 |
$this->correct = false; |
363 |
$this->addToMessage(_("Le champ")." <span class=\"bold\">".__("personne_morale_siret")."</span>".__(" doit contenir 14 caractères.")); |
364 |
} |
365 |
|
366 |
} |
367 |
|
368 |
/** |
369 |
* Methode de récupération et affichage au format au json des champs de l'adresse postale |
370 |
* du demandeur pour être traiter par la méthode JS copy_demandeur_address() |
371 |
* |
372 |
* L'identifiant du demandeur est récupéré via l'url ($_GET) |
373 |
* |
374 |
* @return bool En cas d'erreur de traitement retourne false, sinon true |
375 |
*/ |
376 |
function view_adresses_postale_values_json(){ |
377 |
|
378 |
$demandeur_id = $this->f->get_submitted_get_value("demandeur_id"); |
379 |
|
380 |
if (empty($demandeur_id)){ |
381 |
return false; |
382 |
} |
383 |
|
384 |
$res = $this->f->get_all_results_from_db_query( |
385 |
sprintf( |
386 |
'SELECT |
387 |
numero, |
388 |
voie, |
389 |
lieu_dit, |
390 |
localite, |
391 |
code_postal, |
392 |
bp, |
393 |
cedex |
394 |
FROM |
395 |
%1$sdemandeur |
396 |
WHERE |
397 |
demandeur.demandeur = \'%2$d\'', |
398 |
DB_PREFIXE, |
399 |
intVal($demandeur_id) |
400 |
), |
401 |
array( |
402 |
"origin" => __METHOD__, |
403 |
) |
404 |
); |
405 |
|
406 |
// Retourne les valeurs en JSON |
407 |
echo json_encode($res['result'][0]); |
408 |
return true; |
409 |
} |
410 |
|
411 |
/** |
412 |
* Methode setTaille |
413 |
*/ |
414 |
function setTaille(&$form, $maj) { |
415 |
parent::setTaille($form, $maj); |
416 |
$form->setTaille("personne_morale_siret", 14); |
417 |
} |
418 |
|
419 |
/** |
420 |
* Methode setMax |
421 |
*/ |
422 |
function setMax(&$form, $maj) { |
423 |
parent::setMax($form, $maj); |
424 |
$form->setMax("personne_morale_siret", 14); |
425 |
} |
426 |
|
427 |
/* |
428 |
* Select pour les champs qualite et type_demandeur |
429 |
*/ |
430 |
function setType(&$form,$maj) { |
431 |
parent::setType($form,$maj); |
432 |
|
433 |
$form->setType('num_inscription', 'hidden'); |
434 |
$form->setType('nom_cabinet', 'hidden'); |
435 |
$form->setType('conseil_regional', 'hidden'); |
436 |
$form->setType('titre_obt_diplo_spec', 'hidden'); |
437 |
$form->setType('date_obt_diplo_spec', 'hidden'); |
438 |
$form->setType('lieu_obt_diplo_spec', 'hidden'); |
439 |
|
440 |
if ($maj < 2) { //ajouter et modifier |
441 |
|
442 |
$form->setType('type_demandeur', 'select'); |
443 |
$form->setType('qualite', 'select'); |
444 |
if ($this->f->is_option_mode_service_consulte_enabled() === false) { |
445 |
if ($maj == 1){ |
446 |
if ($this->get_dossier_from_link() !== false && $this->get_dossier_from_link() !== null) { |
447 |
$id_dossier = null; |
448 |
if (empty($this->get_dossier_from_link())) { |
449 |
if ($this->f->get_submitted_get_value('idx_dossier') != null) { |
450 |
$id_dossier = $this->f->get_submitted_get_value('idx_dossier'); |
451 |
} |
452 |
} else { |
453 |
$id_dossier=$this->get_dossier_from_link()[0]['dossier']; |
454 |
} |
455 |
|
456 |
$inst_dossier = $this->f->get_inst__om_dbform(array( |
457 |
"obj" => "dossier", |
458 |
"idx" => $id_dossier, |
459 |
)); |
460 |
if ($this->f->is_type_dossier_platau($inst_dossier->getVal('dossier_autorisation')) === true |
461 |
&& $inst_dossier->getVal('etat_transmission_platau') !== 'jamais_transmissible') { |
462 |
// |
463 |
$required_fields_platau = $inst_dossier->get_list_platau_required_fields_dossier(); |
464 |
foreach ($required_fields_platau as $required_field_platau) { |
465 |
$champ = explode('.', $required_field_platau)[1]; |
466 |
if (in_array($champ, $this->champs)) { |
467 |
$form->setType($champ ,$form->type[$champ].'_demat_color'); |
468 |
} |
469 |
} |
470 |
} |
471 |
} |
472 |
} |
473 |
if ($maj == 0) { |
474 |
$inst_dossier = $this->f->get_inst__om_dbform(array( |
475 |
"obj" => "dossier", |
476 |
"idx" => $this->f->get_submitted_get_value('idx_dossier'), |
477 |
)); |
478 |
if ($this->f->is_type_dossier_platau($inst_dossier->getVal('dossier_autorisation')) === true |
479 |
&& $inst_dossier->getVal('etat_transmission_platau') !== 'jamais_transmissible') { |
480 |
// |
481 |
$required_fields_platau = $inst_dossier->get_list_platau_required_fields_dossier(); |
482 |
foreach ($required_fields_platau as $required_field_platau) { |
483 |
$champ = explode('.', $required_field_platau)[1]; |
484 |
if (in_array($champ, $this->champs)) { |
485 |
$form->setType($champ ,$form->type[$champ].'_demat_color'); |
486 |
} |
487 |
} |
488 |
} |
489 |
} |
490 |
} |
491 |
if($maj == 0 AND $this->getParameter("idx_demandeur") != "") { |
492 |
$form->setType('frequent','hidden'); |
493 |
$form->setType('qualite','selectdisabled'); |
494 |
$form->setType('particulier_nom','textdisabled'); |
495 |
$form->setType('particulier_prenom','textdisabled'); |
496 |
$form->setType('particulier_date_naissance','datedisabled'); |
497 |
$form->setType('particulier_commune_naissance','textdisabled'); |
498 |
$form->setType('particulier_departement_naissance','textdisabled'); |
499 |
$form->setType('particulier_pays_naissance','textdisabled'); |
500 |
$form->setType('personne_morale_denomination','textdisabled'); |
501 |
$form->setType('personne_morale_raison_sociale','textdisabled'); |
502 |
$form->setType('personne_morale_siret','textdisabled'); |
503 |
$form->setType('personne_morale_categorie_juridique','textdisabled'); |
504 |
$form->setType('personne_morale_nom','textdisabled'); |
505 |
$form->setType('personne_morale_prenom','textdisabled'); |
506 |
$form->setType('particulier_civilite','selectdisabled'); |
507 |
$form->setType('personne_morale_civilite','selectdisabled'); |
508 |
$form->setType('telephone_fixe','textdisabled'); |
509 |
$form->setType('telephone_mobile','textdisabled'); |
510 |
$form->setType('fax','textdisabled'); |
511 |
$form->setType('indicatif','textdisabled'); |
512 |
$form->setType('courriel','textdisabled'); |
513 |
|
514 |
} |
515 |
} |
516 |
|
517 |
$form->setType('demandeur', 'hidden'); |
518 |
|
519 |
} |
520 |
|
521 |
/** |
522 |
* SETTER_FORM - setSelect. |
523 |
* |
524 |
* @return void |
525 |
*/ |
526 |
function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) { |
527 |
parent::setSelect($form, $maj); |
528 |
|
529 |
// Type du demandeur |
530 |
$contenu=array(); |
531 |
|
532 |
$contenu[0][0]=""; |
533 |
$contenu[1][0]=_('choisir')." "._('type_demandeur'); |
534 |
$contenu[0][2]="petitionnaire"; |
535 |
$contenu[1][2]=_('petitionnaire'); |
536 |
$contenu[0][1]="delegataire"; |
537 |
$contenu[1][1]=_('autre correspondant'); |
538 |
$contenu[0][3]="plaignant"; |
539 |
$contenu[1][3]=_('Plaignant'); |
540 |
$contenu[0][4]="contrevenant"; |
541 |
$contenu[1][4]=_('Contrevenant'); |
542 |
$contenu[0][5]="requerant"; |
543 |
$contenu[1][5]=_('Requérant'); |
544 |
$contenu[0][6]="avocat"; |
545 |
$contenu[1][6]=_('Avocat'); |
546 |
$contenu[0][7]="bailleur"; |
547 |
$contenu[1][7]=_('Bailleur'); |
548 |
$contenu[0][8] = "proprietaire"; |
549 |
$contenu[1][8] = __('Propriétaire'); |
550 |
$contenu[0][9] = "architecte_lc"; |
551 |
$contenu[1][9] = __('Architecte législation connexe'); |
552 |
$contenu[0][10] = "paysagiste"; |
553 |
$contenu[1][10] = __('Concepteur-Paysagiste'); |
554 |
|
555 |
$form->setSelect("type_demandeur", $contenu); |
556 |
|
557 |
// Qualité du demandeur |
558 |
$contenu=array(); |
559 |
|
560 |
$contenu[0][0]="particulier"; |
561 |
$contenu[1][0]=_('particulier'); |
562 |
$contenu[0][1]="personne_morale"; |
563 |
$contenu[1][1]=_('personne morale'); |
564 |
|
565 |
$form->setSelect("qualite", $contenu); |
566 |
} |
567 |
|
568 |
/* |
569 |
* Ajoute l'action javascript sur le select de la qualité |
570 |
*/ |
571 |
function setOnchange(&$form,$maj){ |
572 |
parent::setOnchange($form,$maj); |
573 |
|
574 |
$form->setOnchange("qualite","changeDemandeurType('qualite');"); |
575 |
} |
576 |
|
577 |
/** |
578 |
* Ajout d'un champs caché permettant de linker l'id du demandeur |
579 |
* recement ajouté |
580 |
**/ |
581 |
function sousFormSpecificContent($maj) { |
582 |
if ($this->correct === true || $this->getVal('frequent') === 't') { |
583 |
$id_demandeur = $this->getVal("demandeur"); |
584 |
if(isset($this->valF["demandeur"]) AND !empty($this->valF["demandeur"])) { |
585 |
echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"". |
586 |
$this->valF["demandeur"]."\" />"; |
587 |
} elseif (isset($id_demandeur) AND !empty($id_demandeur) AND $maj == 110) { |
588 |
echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"". |
589 |
$this->getVal("demandeur")."\" />"; |
590 |
} |
591 |
} |
592 |
} |
593 |
/** |
594 |
* Surcharge du lien de retour permettant de linker l'id du demandeur |
595 |
* recement ajouté |
596 |
**/ |
597 |
function retoursousformulaire($idxformulaire = NULL, $retourformulaire = NULL, $val = NULL, |
598 |
$objsf = NULL, $premiersf = NULL, $tricolsf = NULL, $validation = NULL, |
599 |
$idx = NULL, $maj = NULL, $retour = NULL) { |
600 |
if ($retourformulaire === "demande") { |
601 |
return ''; |
602 |
} else { |
603 |
parent::retoursousformulaire($idxformulaire, $retourformulaire, $val, |
604 |
$objsf, $premiersf, $tricolsf, $validation, |
605 |
$idx, $maj, $retour); |
606 |
} |
607 |
} |
608 |
|
609 |
/** |
610 |
* Ajout du paramètre principal |
611 |
*/ |
612 |
function getDataSubmitSousForm() { |
613 |
/*Création du lien de validation du sous-formulaire*/ |
614 |
$datasubmit = ""; |
615 |
$datasubmit .= OM_ROUTE_SOUSFORM; |
616 |
$datasubmit .= "&obj=".$this->get_absolute_class_name(); |
617 |
$datasubmit .= "&validation=".$this->getParameter("validation"); |
618 |
if ($this->getParameter("idx") != "]") { |
619 |
// |
620 |
if ($this->getParameter("maj") == 1) { // modifier |
621 |
$datasubmit .= "&action=1"; |
622 |
$datasubmit .= "&idx=".$this->getParameter("idx"); |
623 |
} else { // supprimer |
624 |
$datasubmit .= "&action=2"; |
625 |
$datasubmit .= "&idx=".$this->getParameter("idx"); |
626 |
} |
627 |
} |
628 |
$datasubmit .= "&premiersf=".$this->getParameter("premiersf"); |
629 |
$datasubmit .= "&retourformulaire=".$this->getParameter("retourformulaire"); |
630 |
$datasubmit .= "&trisf=".$this->getParameter("tricolsf"); |
631 |
$datasubmit .= "&idxformulaire=".$this->getParameter("idxformulaire"); |
632 |
$datasubmit .= "&principal=".$this->getParameter("principal"); |
633 |
// |
634 |
return $datasubmit; |
635 |
} |
636 |
|
637 |
/** |
638 |
* Synthèse des demandeurs pour le formulaire de la demande. |
639 |
* |
640 |
* @param string $type Type de demandeur. |
641 |
* @param boolean $linkable Affiche le lien d'édition. |
642 |
*/ |
643 |
function afficherSynthese($type, $linkable) { |
644 |
// Si le demandeur est le pétitionnaire principal |
645 |
$is_petitionnaire_principal = false; |
646 |
// Récupération du type de demandeur pour l'affichage |
647 |
switch ($type) { |
648 |
case 'petitionnaire_principal': |
649 |
$legend = __("Demandeur principal"); |
650 |
$is_petitionnaire_principal = true; |
651 |
break; |
652 |
|
653 |
case 'delegataire': |
654 |
$legend = __("Autre correspondant"); |
655 |
break; |
656 |
|
657 |
case 'petitionnaire': |
658 |
$legend = __("Demandeur"); |
659 |
break; |
660 |
|
661 |
case 'contrevenant_principal': |
662 |
$legend = __("Contrevenant principal"); |
663 |
$is_petitionnaire_principal = true; |
664 |
break; |
665 |
|
666 |
case 'contrevenant': |
667 |
$legend = __("Contrevenant"); |
668 |
break; |
669 |
|
670 |
case 'plaignant_principal': |
671 |
$legend = __("Plaignant principal"); |
672 |
$is_petitionnaire_principal = true; |
673 |
break; |
674 |
|
675 |
case 'plaignant': |
676 |
$legend = __("Plaignant"); |
677 |
break; |
678 |
|
679 |
case 'requerant_principal': |
680 |
$legend = __("Requérant principal"); |
681 |
$is_petitionnaire_principal = true; |
682 |
break; |
683 |
|
684 |
case 'requerant': |
685 |
$legend = __("Requérant"); |
686 |
break; |
687 |
|
688 |
case 'avocat_principal': |
689 |
$legend = __("Avocat principal"); |
690 |
$is_petitionnaire_principal = true; |
691 |
break; |
692 |
|
693 |
case 'avocat': |
694 |
$legend = __("Avocat"); |
695 |
break; |
696 |
|
697 |
case 'bailleur_principal': |
698 |
$legend = __("Bailleur principal"); |
699 |
$is_petitionnaire_principal = true; |
700 |
break; |
701 |
|
702 |
case 'bailleur': |
703 |
$legend = __("Bailleur"); |
704 |
break; |
705 |
|
706 |
case 'proprietaire': |
707 |
$legend = __('Propriétaire'); |
708 |
break; |
709 |
|
710 |
case 'architecte_lc': |
711 |
$legend = __('Architecte législation connexe'); |
712 |
break; |
713 |
|
714 |
case 'paysagiste': |
715 |
$legend = __('Concepteur-Paysagiste'); |
716 |
break; |
717 |
} |
718 |
|
719 |
$templateIconeNotification = ''; |
720 |
|
721 |
// Initialisation de tous les éléments à afficher |
722 |
foreach ($this->champs as $champs) { |
723 |
${$champs} = $this->val[array_search($champs, $this->champs)] != "" ? |
724 |
$this->val[array_search($champs, $this->champs)] : |
725 |
''; |
726 |
if ($champs == 'notification') { |
727 |
$decision = 'refuse'; |
728 |
$templateIconeNotification = '<i class="ri-mail-close-line icon-notif-refuse"></i>'; |
729 |
|
730 |
if ($this->val[array_search($champs, $this->champs)] == "t") { |
731 |
$decision = 'accepte'; |
732 |
$templateIconeNotification = '<i class="ri-mail-check-line icon-notif-accepte"></i>'; |
733 |
} |
734 |
$notification = sprintf(' Le demandeur %1$s d’être notifié à l\'adresse électronique communiquée', $decision); |
735 |
} |
736 |
} |
737 |
|
738 |
// Templates utilisés pour réaliser l'affichage |
739 |
$templateFieldsetDemandeur = |
740 |
'<fieldset class="%1$s cadre col_6" id="%1$s_%2$s"> |
741 |
<legend class="ui-widget-content legend_synthese_demandeur"> |
742 |
%3$s |
743 |
</legend> |
744 |
<div class="fieldsetContent">'; |
745 |
|
746 |
$templateBlocNomAdresse = |
747 |
'<div class="bloc demande__demandeur--nom-adresse"> |
748 |
%1$s |
749 |
</div>'; |
750 |
|
751 |
$templateBlocCoordonnees = |
752 |
'<div class="bloc demande__demandeur--coordonnees"> |
753 |
%1$s |
754 |
</div>'; |
755 |
|
756 |
$templateBoutonSupprDemandeur = |
757 |
'<button type="button" class="button-remove button-danger-secondary" onclick="removeDemandeur(\'%1$s_%2$s\') ; return false;"> |
758 |
<i class="ri-delete-bin-line"></i> %3$s |
759 |
</button>'; |
760 |
|
761 |
$templateBoutonModifDemandeur = |
762 |
'<button type="button" class="button-edit button-secondary" onclick="editDemandeur(\'%1$s\',%2$s,\'%3$s\',\'%3$s_%2$s\'); return false;"> |
763 |
<i class="ri-edit-2-line"></i> %4$s |
764 |
</button>'; |
765 |
|
766 |
$templateParagraph = |
767 |
'<p class="%1$s">%2$s</p>'; |
768 |
|
769 |
$templateParagraphStrong = |
770 |
'<p class="%1$s"><strong>%2$s</strong></p>'; |
771 |
|
772 |
$templateParagraphNotification = |
773 |
'<p class="%1$s">%2$s%3$s</p>'; |
774 |
|
775 |
printf( |
776 |
$templateFieldsetDemandeur, |
777 |
$type, |
778 |
$demandeur, |
779 |
$legend |
780 |
); |
781 |
|
782 |
$input_name = $type.'[]'; |
783 |
|
784 |
// Valeur de formulaire à retourner |
785 |
printf( |
786 |
"<input type=\"hidden\" class=\"demandeur_id\" name=\"%s\" value=\"%s\" />\n", |
787 |
$input_name, |
788 |
$this->val[array_search('demandeur', $this->champs)] |
789 |
); |
790 |
|
791 |
// Préparation des infos du demandeur qui seront affichées en les stockant dans un tableau |
792 |
// Chaque élement du tableau correspond a une ligne dans l'affichage |
793 |
$infosAffichage = array(); |
794 |
$paragraphs_nom_adresse = ''; |
795 |
$paragraphs_coordonnees = ''; |
796 |
$paragraphs_action = ''; |
797 |
if ($qualite == 'particulier') { |
798 |
$infosAffichage['particulier'] = $particulier_nom." ".$particulier_prenom; |
799 |
|
800 |
// S'il existe une civilité elle est ajoutée devant le nom du particulier |
801 |
if ( ! empty($particulier_civilite)) { |
802 |
$inst_civilite = $this->f->get_inst__om_dbform(array( |
803 |
"obj" => "civilite", |
804 |
"idx" => $particulier_civilite, |
805 |
)); |
806 |
$infosAffichage['particulier'] = $inst_civilite->getVal("libelle")." ".$particulier_nom." ".$particulier_prenom; |
807 |
} |
808 |
if (!empty($infosAffichage['particulier'])) $paragraphs_nom_adresse.= sprintf($templateParagraphStrong, "nom–prenom", $infosAffichage['particulier'] ); |
809 |
|
810 |
} else { |
811 |
$infosAffichage['personne_morale'] = $personne_morale_raison_sociale." ".$personne_morale_denomination; |
812 |
$infosAffichage['personne_morale_nom'] = $personne_morale_civilite ." ".$personne_morale_nom." ".$personne_morale_prenom; |
813 |
// S'il existe une civilité elle est ajoutée devant le nom de la personne morale |
814 |
if (! empty($personne_morale_civilite)) { |
815 |
$inst_civilite = $this->f->get_inst__om_dbform(array( |
816 |
"obj" => "civilite", |
817 |
"idx" => $personne_morale_civilite, |
818 |
)); |
819 |
$infosAffichage['personne_morale_nom'] = $inst_civilite->getVal("libelle")." ".$personne_morale_nom." ".$personne_morale_prenom; |
820 |
} |
821 |
|
822 |
if (!empty($infosAffichage['personne_morale'])) { |
823 |
$paragraphs_nom_adresse.= sprintf($templateParagraphStrong, "personne-morale-raison-sociale-denomination", $infosAffichage['personne_morale']); |
824 |
} |
825 |
|
826 |
if (!empty($infosAffichage['personne_morale_nom'])) { |
827 |
$paragraphs_nom_adresse.= sprintf($templateParagraph, "personne-morale-nom–prenom", "représenté(e) par ".$infosAffichage['personne_morale_nom']); |
828 |
} |
829 |
} |
830 |
|
831 |
// Limitation de l'affichage des informations personnelles des pétitionnaires au seul pétitionnaire principal |
832 |
if ($is_petitionnaire_principal) { |
833 |
$infosAffichage['adresse_1'] = $numero." ".$voie." ".$complement; |
834 |
$infosAffichage['adresse_2'] = $lieu_dit; |
835 |
$infosAffichage['adresse_3'] = $code_postal." ".$localite." ".$bp." ".$cedex; |
836 |
$infosAffichage['adresse_4'] = $division_territoriale." ".$pays; |
837 |
} |
838 |
if (!empty($infosAffichage['adresse_1'])) { |
839 |
$paragraphs_nom_adresse.= sprintf($templateParagraph, "adresse", $infosAffichage['adresse_1']); |
840 |
} |
841 |
if (!empty($infosAffichage['adresse_2'])) { |
842 |
$paragraphs_nom_adresse.= sprintf($templateParagraph, "adresse", $infosAffichage['adresse_2']); |
843 |
} |
844 |
if (!empty($infosAffichage['adresse_3'])) { |
845 |
$paragraphs_nom_adresse.= sprintf($templateParagraph, "adresse", $infosAffichage['adresse_3']); |
846 |
} |
847 |
if (!empty($infosAffichage['adresse_4'])) { |
848 |
$paragraphs_nom_adresse.= sprintf($templateParagraph, "adresse", $infosAffichage['adresse_4']); |
849 |
} |
850 |
|
851 |
if (!empty($paragraphs_nom_adresse)) { |
852 |
printf( |
853 |
$templateBlocNomAdresse, |
854 |
$paragraphs_nom_adresse |
855 |
); |
856 |
} |
857 |
|
858 |
$infosAffichage['notification'] = $notification; |
859 |
if ($is_petitionnaire_principal) { |
860 |
if ($telephone_fixe == "" && $telephone_mobile != "") { |
861 |
$infosAffichage['tel'] = $telephone_mobile; |
862 |
} elseif ($telephone_mobile == "" && $telephone_fixe != "" ) { |
863 |
$infosAffichage['tel'] = $telephone_fixe; |
864 |
} elseif ($telephone_fixe != "" && $telephone_mobile != "") { |
865 |
$infosAffichage['tel'] = $telephone_fixe . " - " . $telephone_mobile; |
866 |
} |
867 |
$infosAffichage['email'] = $courriel; |
868 |
} |
869 |
|
870 |
if (!empty($infosAffichage['notification'])) { |
871 |
$paragraphs_coordonnees.= sprintf($templateParagraphNotification, "notification", $templateIconeNotification, $infosAffichage['notification']); |
872 |
} |
873 |
if (!empty($infosAffichage['email'])) { |
874 |
$paragraphs_coordonnees.= sprintf($templateParagraph, "email", $infosAffichage['email']); |
875 |
} |
876 |
if (!empty($infosAffichage['tel'])) { |
877 |
$paragraphs_coordonnees.= sprintf($templateParagraph, "tel", $infosAffichage['tel']); |
878 |
} |
879 |
|
880 |
if (!empty($paragraphs_coordonnees)) { |
881 |
printf( |
882 |
$templateBlocCoordonnees, |
883 |
$paragraphs_coordonnees |
884 |
); |
885 |
} |
886 |
|
887 |
echo '<div class="bloc demande__demandeur--actions">'; |
888 |
|
889 |
// Lien de modification du demandeur |
890 |
if ($linkable === true) { |
891 |
printf( |
892 |
$templateBoutonModifDemandeur, |
893 |
$type_demandeur, |
894 |
$demandeur, |
895 |
$type, |
896 |
_("ÉDITER") |
897 |
); |
898 |
} |
899 |
|
900 |
// Si le paramètre linkable est défini à true on ajoute les balises |
901 |
// de lien. Le pétitionnaire principal n'est pas supprimable |
902 |
if ($linkable === true) { |
903 |
printf( |
904 |
$templateBoutonSupprDemandeur, |
905 |
$type, |
906 |
$demandeur, |
907 |
_("SUPPRIMER") |
908 |
); |
909 |
} |
910 |
|
911 |
echo " |
912 |
</div> |
913 |
</div> |
914 |
</fieldset >\n"; |
915 |
} |
916 |
|
917 |
/** |
918 |
* |
919 |
*/ |
920 |
function get_inst_civilite($civilite) { |
921 |
return $this->get_inst_common("civilite", $civilite); |
922 |
} |
923 |
|
924 |
/** |
925 |
* Retourne un tableau avec les données principales du demandeur. |
926 |
* |
927 |
* L'objectif est de mettre à disposition via un WS Reste un ensemble |
928 |
* de données exploitable par une autre application. |
929 |
*/ |
930 |
function get_datas() { |
931 |
|
932 |
/** |
933 |
* |
934 |
*/ |
935 |
$particulier_civilite = ""; |
936 |
$personne_morale_civilite = ""; |
937 |
if ($this->getVal('qualite') == 'particulier' |
938 |
&& $this->getVal('particulier_civilite') !== '') { |
939 |
// |
940 |
$inst_civilite = $this->get_inst_civilite($this->getVal('particulier_civilite')); |
941 |
$particulier_civilite = $inst_civilite->getVal("libelle"); |
942 |
} elseif ($this->getVal('qualite') == 'personne_morale' |
943 |
&& $this->getVal('personne_morale_civilite') !== '') { |
944 |
// |
945 |
$inst_civilite = $this->get_inst_civilite($this->getVal('personne_morale_civilite')); |
946 |
$personne_morale_civilite = $inst_civilite->getVal("libelle"); |
947 |
} |
948 |
|
949 |
/** |
950 |
* |
951 |
*/ |
952 |
// |
953 |
$datas = array( |
954 |
"demandeur" => $this->getVal($this->clePrimaire), |
955 |
"qualite" => $this->getVal("qualite"), |
956 |
); |
957 |
|
958 |
if ($this->getVal('qualite') == 'particulier') { |
959 |
$datas["particulier_civilite"] = $particulier_civilite; |
960 |
$datas["particulier_nom"] = $this->getVal("particulier_nom"); |
961 |
$datas["particulier_prenom"] = $this->getVal("particulier_prenom"); |
962 |
$datas["particulier_date_naissance"] = $this->getVal("particulier_date_naissance"); |
963 |
$datas["particulier_commune_naissance"] = $this->getVal("particulier_commune_naissance"); |
964 |
$datas["particulier_departement_naissance"] = $this->getVal("particulier_departement_naissance"); |
965 |
$datas["particulier_pays_naissance"] = $this->getVal("particulier_pays_naissance"); |
966 |
} |
967 |
if ($this->getVal('qualite') == 'personne_morale') { |
968 |
$datas["personne_morale_civilite"] = $personne_morale_civilite; |
969 |
$datas["personne_morale_denomination"] = $this->getVal("personne_morale_denomination"); |
970 |
$datas["personne_morale_raison_sociale"] = $this->getVal("personne_morale_raison_sociale"); |
971 |
$datas["personne_morale_siret"] = $this->getVal("personne_morale_siret"); |
972 |
$datas["personne_morale_categorie_juridique"] = $this->getVal("personne_morale_categorie_juridique"); |
973 |
$datas["personne_morale_nom"] = $this->getVal("personne_morale_nom"); |
974 |
$datas["personne_morale_prenom"] = $this->getVal("personne_morale_prenom"); |
975 |
} |
976 |
// |
977 |
$datas["numero"] = $this->getVal("numero"); |
978 |
$datas["voie"] = $this->getVal("voie"); |
979 |
$datas["complement"] = $this->getVal("complement"); |
980 |
$datas["lieu_dit"] = $this->getVal("lieu_dit"); |
981 |
$datas["localite"] = $this->getVal("localite"); |
982 |
$datas["code_postal"] = $this->getVal("code_postal"); |
983 |
$datas["bp"] = $this->getVal("bp"); |
984 |
$datas["cedex"] = $this->getVal("cedex"); |
985 |
$datas["pays"] = $this->getVal("pays"); |
986 |
$datas["division_territoriale"] = $this->getVal("division_territoriale"); |
987 |
$datas["telephone_fixe"] = $this->getVal("telephone_fixe"); |
988 |
$datas["telephone_mobile"] = $this->getVal("telephone_mobile"); |
989 |
$datas["indicatif"] = $this->getVal("indicatif"); |
990 |
$datas["courriel"] = $this->getVal("courriel"); |
991 |
$datas["fax"] = $this->getVal("fax"); |
992 |
|
993 |
/** |
994 |
* |
995 |
*/ |
996 |
return $datas; |
997 |
} |
998 |
|
999 |
|
1000 |
/** |
1001 |
* Indique si la redirection vers le lien de retour est activée ou non. |
1002 |
* |
1003 |
* L'objectif de cette méthode est de permettre d'activer ou de désactiver |
1004 |
* la redirection dans certains contextes. |
1005 |
* |
1006 |
* @return boolean |
1007 |
*/ |
1008 |
function is_back_link_redirect_activated() { |
1009 |
// |
1010 |
if ($this->getParameter("retourformulaire") === 'demande') { |
1011 |
// |
1012 |
return false; |
1013 |
} |
1014 |
|
1015 |
// |
1016 |
return true; |
1017 |
} |
1018 |
|
1019 |
public function get_dossier_from_link() { |
1020 |
$query = sprintf(' |
1021 |
SELECT lien_dossier_demandeur.dossier |
1022 |
FROM %1$slien_dossier_demandeur |
1023 |
WHERE lien_dossier_demandeur.demandeur = \'%2$s\' |
1024 |
', |
1025 |
DB_PREFIXE, |
1026 |
$this->getVal($this->clePrimaire) |
1027 |
); |
1028 |
$res = $this->f->get_all_results_from_db_query( |
1029 |
$query, |
1030 |
array( |
1031 |
"origin" => __METHOD__, |
1032 |
"force_return" => true, |
1033 |
) |
1034 |
); |
1035 |
if ($res['code'] === 'KO') { |
1036 |
return false; |
1037 |
} |
1038 |
return $res['result']; |
1039 |
} |
1040 |
|
1041 |
public function triggermodifierapres($id, &$dnu1 = null, $val = array(), $dnu2 = null) { |
1042 |
parent::triggermodifierapres($id, $dnu1, $val, $dnu2); |
1043 |
if (count(array_diff_assoc($this->valF, array_combine($this->champs, $this->val))) > 0) { |
1044 |
/** |
1045 |
* Gestion des tâches pour la dématérialisation |
1046 |
*/ |
1047 |
$dossiers = $this->get_dossier_from_link(); |
1048 |
foreach ($dossiers as $dossier) { |
1049 |
// |
1050 |
$inst_dossier = $this->f->get_inst__om_dbform(array( |
1051 |
"obj" => "dossier", |
1052 |
"idx" => $dossier['dossier'], |
1053 |
)); |
1054 |
|
1055 |
if ($this->f->is_option_mode_service_consulte_enabled() === false |
1056 |
&& $this->f->is_type_dossier_platau($inst_dossier->getVal('dossier_autorisation')) === true |
1057 |
&& $inst_dossier->getVal('etat_transmission_platau') !== 'jamais_transmissible') { |
1058 |
|
1059 |
$trigger_platau_required_fields = $inst_dossier->trigger_platau_required_fields($dossier['dossier']); |
1060 |
// Gestion de l'erreur |
1061 |
if (! $trigger_platau_required_fields) { |
1062 |
$this->addToMessage(sprintf('%s %s', |
1063 |
__("Une erreur s'est produite lors de la mise à jour de l'état de transmission du dossier."), |
1064 |
__("Veuillez contacter votre administrateur.") |
1065 |
)); |
1066 |
$this->correct = false; |
1067 |
return false; |
1068 |
} |
1069 |
} |
1070 |
|
1071 |
if ($this->f->is_type_dossier_platau($inst_dossier->getVal('dossier_autorisation')) |
1072 |
&& $inst_dossier->getVal('etat_transmission_platau') !== 'jamais_transmissible' |
1073 |
&& ($this->f->is_option_mode_service_consulte_enabled() !== true |
1074 |
|| ($this->f->is_option_mode_service_consulte_enabled() === true |
1075 |
&& ($inst_dossier->get_source_depot_from_demande() === PLATAU |
1076 |
|| $inst_dossier->get_source_depot_from_demande() === PORTAL)))) { |
1077 |
// |
1078 |
$inst_task = $this->f->get_inst__om_dbform(array( |
1079 |
"obj" => "task", |
1080 |
"idx" => 0, |
1081 |
)); |
1082 |
$task_val = array( |
1083 |
'type' => 'modification_DI', |
1084 |
'object_id' => $dossier['dossier'], |
1085 |
'dossier' => $dossier['dossier'], |
1086 |
); |
1087 |
// Change l'état de la tâche de notification en fonction de l'état de |
1088 |
// transmission du dossier d'instruction |
1089 |
if ($this->f->is_option_mode_service_consulte_enabled() === false |
1090 |
&& ($this->getVal('etat_transmission_platau') == 'non_transmissible' |
1091 |
|| $this->getVal('etat_transmission_platau') == 'transmis_mais_non_transmissible')) { |
1092 |
// |
1093 |
$task_val['state'] = $inst_task::STATUS_DRAFT; |
1094 |
} |
1095 |
$add_task = $inst_task->add_task(array('val' => $task_val)); |
1096 |
if ($add_task === false) { |
1097 |
$this->addToMessage(sprintf('%s %s', |
1098 |
__("Une erreur s'est produite lors de la création tâche."), |
1099 |
__("Veuillez contacter votre administrateur.") |
1100 |
)); |
1101 |
$this->correct = false; |
1102 |
return false; |
1103 |
} |
1104 |
// XXX Les données du DA sont mises à jour seulement lors de l'ajout ou modification |
1105 |
// d'une instruction du DI initial et lors de la décision sur le DI non initial. |
1106 |
// Sachant ce comportement, voir si cette tâche modification_DA est bien située. |
1107 |
// $inst_task = $this->f->get_inst__om_dbform(array( |
1108 |
// "obj" => "task", |
1109 |
// "idx" => 0, |
1110 |
// )); |
1111 |
// $task_val = array( |
1112 |
// 'type' => 'modification_DA', |
1113 |
// 'object_id' => $inst_dossier->getVal('dossier_autorisation'), |
1114 |
// 'dossier' => $inst_dossier->getVal('dossier_autorisation'), |
1115 |
// ); |
1116 |
// // Change l'état de la tâche de notification en fonction de l'état de |
1117 |
// // transmission du dossier d'instruction |
1118 |
// if ($this->f->is_option_mode_service_consulte_enabled() === false |
1119 |
// && ($this->getVal('etat_transmission_platau') == 'non_transmissible' |
1120 |
// || $this->getVal('etat_transmission_platau') == 'transmis_mais_non_transmissible')) { |
1121 |
// // |
1122 |
// $task_val['state'] = $inst_task::STATUS_DRAFT; |
1123 |
// } |
1124 |
// $add_task = $inst_task->add_task(array('val' => $task_val)); |
1125 |
// if ($add_task === false) { |
1126 |
// $this->addToMessage(sprintf('%s %s', |
1127 |
// __("Une erreur s'est produite lors de la création tâche."), |
1128 |
// __("Veuillez contacter votre administrateur.") |
1129 |
// )); |
1130 |
// $this->correct = false; |
1131 |
// return false; |
1132 |
// } |
1133 |
} |
1134 |
} |
1135 |
} |
1136 |
// |
1137 |
return true; |
1138 |
} |
1139 |
|
1140 |
public function view_json_data() { |
1141 |
$this->checkAccessibility(); |
1142 |
$this->f->disableLog(); |
1143 |
$view = $this->get_json_data(); |
1144 |
printf(json_encode($view)); |
1145 |
} |
1146 |
|
1147 |
public function get_json_data() { |
1148 |
$val = array_combine($this->champs, $this->val); |
1149 |
foreach ($val as $key => $value) { |
1150 |
$val[$key] = strip_tags($value); |
1151 |
} |
1152 |
return $val; |
1153 |
} |
1154 |
|
1155 |
}// fin classe |
1156 |
|