/[openfoncier]/trunk/obj/commission.class.php
ViewVC logotype

Annotation of /trunk/obj/commission.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10573 - (hide annotations)
Thu Oct 14 12:43:35 2021 UTC (3 years, 3 months ago) by softime
File size: 47715 byte(s)
* Fusion de la branche d'intégration 5.0.0-develop dans le trunk

1 mbroquet 3730 <?php
2 jymadier 4554 /**
3     * DBFORM - 'commission' - Surcharge gen.
4     *
5     * Ce script permet de définir la classe 'commission'.
6     *
7     * @package openads
8     * @version SVN : $Id: commission.class.php 4824 2015-06-15 05:58:07Z fmichon $
9     */
10 mbroquet 3730
11 jymadier 4554 require_once "../gen/obj/commission.class.php";
12 mbroquet 3730
13 jymadier 4554 /**
14     * Définition de la classe 'commission'.
15     *
16     * Cette classe permet d'interfacer la commission, c'est-à-dire
17     * l'enregistrement représentant ...
18     */
19 mbroquet 3730 class commission extends commission_gen {
20    
21 jymadier 4554 /**
22     * Champs contenant les UID des fichiers.
23     */
24 mbroquet 3730 var $abstract_type = array(
25     "om_fichier_commission_ordre_jour" => "file",
26     "om_fichier_commission_compte_rendu" => "file",
27     );
28    
29 jymadier 4554 /**
30     * Définition des actions disponibles sur la classe.
31     *
32     * @return void
33     */
34     function init_class_actions() {
35 mbroquet 3730
36 jymadier 4554 // On récupère les actions génériques définies dans la méthode
37     // d'initialisation de la classe parente
38     parent::init_class_actions();
39    
40     // ACTION - 011 - diffuser_ordre_jour
41     //
42     $this->class_actions[11] = array(
43     "identifier" => "diffuser_ordre_jour",
44     "portlet" => array(
45     "type" => "action-direct",
46     "libelle" => _("(OJ) Diffuser l'OJ"),
47     "order" => 28,
48     "class" => "transferer-16",
49     ),
50     "view" => "formulaire",
51     "method" => "diffuse_document",
52     "button" => "diffuser_ordre_jour",
53     "permission_suffix" => "diffuser_ordre_jour",
54     );
55    
56     // ACTION - 012 - diffuser_compte_rendu
57     //
58     $this->class_actions[12] = array(
59     "identifier" => "diffuser_compte_rendu",
60     "portlet" => array(
61     "type" => "action-direct",
62     "libelle" => _("(CR) Diffuser le CR"),
63     "order" => 29,
64     "class" => "transferer-16",
65     ),
66     "view" => "formulaire",
67     "method" => "diffuse_document",
68     "button" => "diffuser_compte_rendu",
69     "permission_suffix" => "diffuser_compte_rendu",
70     );
71    
72     // ACTION - 021 - edition_proposition_ordre_jour
73     //
74     $this->class_actions[21] = array(
75     "identifier" => "edition_proposition_ordre_jour",
76     "portlet" => array(
77     "type" => "action-blank",
78     "libelle" => _("(OJ) Proposition"),
79     "order" => 30,
80     "class" => "pdf-16",
81     ),
82     "view" => "view_edition_pdf",
83     "permission_suffix" => "consulter",
84     );
85    
86     // ACTION - 022 - edition_ordre_jour
87     //
88     $this->class_actions[22] = array(
89     "identifier" => "edition_ordre_jour",
90     "portlet" => array(
91     "type" => "action-blank",
92     "libelle" => _("(OJ) Ordre du jour"),
93     "order" => 31,
94     "class" => "pdf-16",
95     ),
96     "view" => "view_edition_pdf",
97     "permission_suffix" => "consulter",
98     );
99    
100     // ACTION - 023 - edition_compte_rendu
101     //
102     $this->class_actions[23] = array(
103     "identifier" => "edition_compte_rendu",
104     "portlet" => array(
105     "type" => "action-blank",
106     "libelle" => _("(CR) Compte-rendu"),
107     "order" => 32,
108     "class" => "pdf-16",
109     ),
110     "view" => "view_edition_pdf",
111     "permission_suffix" => "consulter",
112     );
113    
114     // ACTION - 031 - view_plan_or_unplan_demands
115     //
116     $this->class_actions[31] = array(
117     "identifier" => "view_form_plan_or_unplan_demands",
118     "view" => "view_form_plan_or_unplan_demands",
119     "permission_suffix" => "dossiers_planifier_retirer",
120     "button" => _("Valider"),
121     );
122    
123     // ACTION - 032 - view_form_add_and_plan_demand
124     //
125     $this->class_actions[32] = array(
126     "identifier" => "view_form_add_and_plan_demand",
127     "view" => "view_form_add_and_plan_demand",
128     "permission_suffix" => "dossiers_planifier_retirer",
129     "button" => _("Valider"),
130     );
131 mbroquet 3730 }
132 jymadier 4554
133     /**
134 softime 8989 * Clause select pour la requête de sélection des données de l'enregistrement.
135     *
136     * @return array
137     */
138     function get_var_sql_forminc__champs() {
139     return array(
140     "commission",
141     "code",
142     "om_collectivite",
143     "commission_type",
144     "libelle",
145     "date_commission",
146     "heure_commission",
147     "lieu_adresse_ligne1",
148     "lieu_adresse_ligne2",
149     "lieu_salle",
150     "listes_de_diffusion",
151     "participants",
152     "om_fichier_commission_ordre_jour",
153     "om_final_commission_ordre_jour",
154     "om_fichier_commission_compte_rendu",
155     "om_final_commission_compte_rendu",
156     );
157     }
158    
159     /**
160     *
161     * @return string
162     */
163     function get_var_sql_forminc__sql_om_collectivite() {
164     return "SELECT om_collectivite.om_collectivite, om_collectivite.libelle FROM ".DB_PREFIXE."om_collectivite WHERE om_collectivite.niveau = '1' ORDER BY om_collectivite.libelle ASC";
165     }
166    
167     /**
168     *
169     * @return string
170     */
171     function get_var_sql_forminc__sql_commission_type_by_collectivite() {
172     return "SELECT commission_type.commission_type, commission_type.libelle FROM ".DB_PREFIXE."commission_type WHERE ((commission_type.om_validite_debut IS NULL AND (commission_type.om_validite_fin IS NULL OR commission_type.om_validite_fin > CURRENT_DATE)) OR (commission_type.om_validite_debut <= CURRENT_DATE AND (commission_type.om_validite_fin IS NULL OR commission_type.om_validite_fin > CURRENT_DATE))) AND commission_type.om_collectivite = <id_collectivite> ORDER BY commission_type.libelle ASC";
173     }
174    
175     /**
176     *
177     * @return string
178     */
179     function get_var_sql_forminc__sql_commission_type_no_result() {
180     return "SELECT commission_type.commission_type, commission_type.libelle FROM ".DB_PREFIXE."commission_type WHERE 0 = 1";
181     }
182    
183     /**
184 jymadier 4554 * Instance de la classe commission_type.
185     *
186     * @var mixed (resource | null)
187     */
188     var $inst_commission_type = null;
189    
190     /**
191     * Récupère l'instance du type de commission.
192     *
193     * @param string $commission_type Identifiant du type de commission.
194     *
195     * @return object
196     */
197     function get_inst_commission_type($commission_type = null) {
198     //
199     return $this->get_inst_common("commission_type", $commission_type);
200     }
201    
202     /**
203     *
204     */
205     function setType(&$form, $maj) {
206     //
207     parent::setType($form, $maj);
208 mbroquet 3730
209 jymadier 4554 // Cache le champ code en ajout
210     if ($maj == 0) {
211 mbroquet 3730
212     $form->setType('code', 'hidden');
213     }
214    
215 jymadier 4554 if ($maj > 0) {
216     // Le type de commission n'est pas modifiable une fois la commission ajoutée
217 mbroquet 3730 $form->setType('commission_type', 'selecthiddenstatic');
218 softime 6702 $form->setType('om_collectivite', 'selecthiddenstatic');
219 jymadier 4554
220 mbroquet 3730 $form->setType('code', 'hiddenstatic');
221     }
222 jymadier 4554 // On définit le type des champs pour les actions direct
223     // utilisant la vue formulaire
224     if ($maj == 11 || $maj == 12) {
225     foreach ($this->champs as $key => $value) {
226     $form->setType($value, 'hidden');
227     }
228     }
229    
230 mbroquet 3730 //Cache les champs pour la finalisation
231     $form->setType('om_fichier_commission_ordre_jour', 'hidden');
232     $form->setType('om_final_commission_ordre_jour', 'hidden');
233     $form->setType('om_fichier_commission_compte_rendu', 'hidden');
234     $form->setType('om_final_commission_compte_rendu', 'hidden');
235     }
236    
237 jymadier 4554 /**
238     *
239     */
240     function setOnchange(&$form, $maj) {
241     //
242     parent::setOnchange($form, $maj);
243     // Action javascript au changement du type de la commission
244     $form->setOnchange(
245     "commission_type",
246     "commission_update_data_from_commission_type(this.value);"
247     );
248 softime 6702 $form->setOnchange(
249     "om_collectivite",
250     "changeCommissionType();"
251     );
252 mbroquet 3730 }
253    
254 jymadier 4554 /**
255 softime 8989 * SETTER_FORM - setVal (setVal).
256 jymadier 4554 *
257 softime 8989 * @return void
258 jymadier 4554 */
259 softime 8989 function setVal(&$form, $maj, $validation, &$dnu1 = null, $dnu2 = null) {
260     //parent::setVal($form, $maj, $validation);
261 jymadier 4554 //
262     if ($maj == 0) {
263     // Date du jour par défaut
264     $form->setVal("date_commission", date('d/m/Y'));
265 softime 6702 // Bride de collectivité pour les niveaux mono
266     if ($_SESSION['niveau'] == 1) {
267     $form->setVal("om_collectivite", $_SESSION["collectivite"]);
268     }
269 mbroquet 3730 }
270     }
271 jymadier 4554
272     /**
273     *
274     */
275 softime 6929 function setvalF($val = array()) {
276 jymadier 4554 //
277 mbroquet 3730 parent::setValF($val);
278    
279 jymadier 4554 // Génération automatique du code de la commission
280 mbroquet 3730 // Récupération du code du type de la commission
281 jymadier 4554 $commission_type_code = "";
282     if (isset($val['commission_type'])
283     && is_numeric($val['commission_type'])) {
284     //
285     $inst_commission_type = $this->get_inst_commission_type($val['commission_type']);
286     $commission_type_code = $inst_commission_type->getVal("code");
287     }
288 mbroquet 3730 //Formatte la date
289     $dateFormatee = $this->formatDate($val['date_commission']);
290 jymadier 4554
291     //
292     $this->valF['code'] = $commission_type_code.$dateFormatee;
293 mbroquet 3730 }
294 jymadier 4554
295     /**
296 softime 8989 * SETTER_FORM - setSelect.
297 softime 6702 *
298 softime 8989 * @return void
299 softime 6702 */
300 softime 8989 function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
301     parent::setSelect($form, $maj);
302 softime 6702 $crud = $this->get_action_crud($maj);
303     // Le but ici est de brider les types aux types de la même commune que le dossier en cas d'ajout
304     if ($crud == 'create' OR ($crud === null AND $maj == 0)) {
305     if ($_SESSION["niveau"] == 2) {
306 softime 8989 // om_collectivite
307     $this->init_select(
308     $form,
309     $this->f->db,
310     $maj,
311     null,
312     "om_collectivite",
313     $this->get_var_sql_forminc__sql("om_collectivite"),
314     $this->get_var_sql_forminc__sql("om_collectivite_by_id"),
315     false
316     );
317 softime 6702 }
318 softime 8989 if ($this->getParameter("om_collectivite") != null) {
319     $sql_commission_type_by_collectivite = str_replace(
320     '<id_collectivite>',
321     $this->getParameter("om_collectivite"),
322     $this->get_var_sql_forminc__sql("commission_type_by_collectivite")
323     );
324     $this->init_select(
325     $form,
326     $this->f->db,
327     $maj,
328     null,
329     "commission_type",
330     $sql_commission_type_by_collectivite,
331     $this->get_var_sql_forminc__sql("commission_type_by_id"),
332     true
333     );
334     } elseif ($_SESSION["niveau"] == 2) {
335     $this->init_select(
336     $form,
337     $this->f->db,
338     $maj,
339     null,
340     "commission_type",
341     $this->get_var_sql_forminc__sql("commission_type_no_result"),
342     $this->get_var_sql_forminc__sql("commission_type_by_id"),
343     true
344     );
345 softime 6702 }
346     }
347     }
348    
349     /**
350 jymadier 4554 * Prend une date au format JJ/MM/AAAA et retourne AAAAMMJJ
351     */
352     function formatDate($date) {
353     $dateFormatee = explode('/', $date);
354 mbroquet 3730 $dateFormatee = $dateFormatee[2].$dateFormatee[1].$dateFormatee[0];
355     return $dateFormatee;
356     }
357 jymadier 4554
358 mbroquet 3730 /**
359 jymadier 4554 *
360 mbroquet 3730 */
361 jymadier 4554 function afterFormSpecificContent() {
362     //Le sous-formulaire spécifique ne s'affiche qu'en consultation
363     if ($this->getParameter("maj") == 3) {
364     $this->view_manage();
365     }
366     }
367    
368     /**
369     * VIEW - view_manage.
370     *
371     * @return void
372     */
373     function view_manage() {
374    
375     // Identifiant de l'enregistrement
376     $idx = $this->getVal($this->clePrimaire);
377    
378 mbroquet 3730 //
379 jymadier 4554 printf(
380     '
381     <div id="commission-manage-tabs">
382     <ul>
383 softime 7996 <li><a href="'.OM_ROUTE_SOUSTAB.'&obj=dossier_commission&idxformulaire=%1$s&retourformulaire=commission" id="dossier_planifie">%2$s</a></li>
384     <li><a href="'.OM_ROUTE_FORM.'&obj=commission&action=31&idx=%1$s" id="commission_dossiers_planifier_retirer">%3$s</a></li>
385     <li><a href="'.OM_ROUTE_FORM.'&obj=commission&action=32&idx=%1$s" id="commission_dossiers_planifier_numero">%4$s</a></li>
386 jymadier 4554 </ul>
387     </div>',
388     $idx,
389     _("les dossiers planifies"),
390     _("planifier/retirer des dossiers"),
391     _("planifier un dossier specifique")
392     );
393    
394     }
395    
396     /**
397     * VIEW - view_edition_pdf.
398     *
399     * Edite l'édition de l'instruction ou affiche celle contenue dans le stockage.
400     *
401     * @return void
402     */
403     function view_edition_pdf() {
404    
405     //
406     $this->checkAccessibility();
407     // Identifiant de l'enregistrement
408     $idx = $this->getVal($this->clePrimaire);
409    
410     /**
411     * Définition des paramètres.
412     */
413     //
414     if ($this->getParameter("maj") == 21) {
415     $obj = "commission_proposition_ordre_jour";
416     } elseif ($this->getParameter("maj") == 22) {
417     $obj = "commission_ordre_jour";
418     $mention = "OJ";
419     $type = "de l'ordre du jour";
420     $field_uid = "om_fichier_commission_ordre_jour";
421     $field_final = "om_final_commission_ordre_jour";
422     } elseif ($this->getParameter("maj") == 23) {
423     $obj = "commission_compte_rendu";
424     $mention = "CR";
425     $type = "du compte-rendu";
426     $field_uid = "om_fichier_commission_compte_rendu";
427     $field_final = "om_final_commission_compte_rendu";
428 mbroquet 3730 }
429 jymadier 4554
430     // Si l'instruction est finalisée
431     if (isset($field_final)
432     && $this->getVal($field_final) == 't'
433     && $this->getVal($field_final) != null) {
434     // Ouvre le document
435 softime 7996 $lien = '../app/index.php?module=form&snippet=file&obj='.$this->table.'&'.
436 jymadier 4554 'champ='.$field_uid.'&id='.$this->getVal($this->clePrimaire);
437     //
438     header("Location: ".$lien);
439     } else {
440    
441     // Génération du PDF
442 softime 6702 $collectivite = $this->f->getCollectivite($this->getVal("om_collectivite"));
443 jymadier 4554 $result = $this->compute_pdf_output(
444     'etat',
445     $obj,
446 softime 6702 $collectivite,
447 jymadier 4554 $idx
448     );
449     // Affichage du PDF
450     $this->expose_pdf_output(
451     $result['pdf_output'],
452     $result['filename']
453     );
454 mbroquet 3730 }
455     }
456 jymadier 4554
457 mbroquet 3730 /**
458 jymadier 4554 * VIEW - view_form_plan_or_unplan_demands.
459     *
460     * @return void
461 mbroquet 3730 */
462 jymadier 4554 function view_form_plan_or_unplan_demands() {
463 mbroquet 3730
464 jymadier 4554 //
465     $this->checkAccessibility();
466     // Identifiant de l'enregistrement
467 mbroquet 3730 $idx = $this->getVal($this->clePrimaire);
468    
469 jymadier 4554 //
470     if (!isset($_POST["dossier"])) {
471     //
472     printf('<div id="view_form_plan_or_unplan_demands">');
473     //
474     printf('<div id="sousform-plan_or_unplan_demands">');
475     }
476    
477     // Treatment
478     if (isset($_POST["dossier"])) {
479     //
480     $dossier_commission_all_ids = array();
481     $dossier_commission_checkeds = array();
482     //
483     $posted_dossier = $this->f->get_submitted_post_value('dossier');
484     $posted_checkeds = $this->f->get_submitted_post_value('checkeds');
485     //
486     foreach ($posted_dossier as $key => $value) {
487     $plop = explode("_", $value);
488     if (count($plop) == 2) {
489     $dossier_commission_all_ids[$plop[0]] = array(
490     "dossier_commission_id" => $plop[0],
491     "dossier" => $plop[1],
492     );
493     }
494     }
495     foreach (explode(";", $posted_checkeds) as $key => $value) {
496     $plop = explode("_", $value);
497     if (count($plop) == 2) {
498     $dossier_commission_checkeds[$plop[0]] = array(
499     "dossier_commission_id" => $plop[0],
500     "dossier" => $plop[1],
501     );
502     }
503     }
504     //
505     $planned = array_keys($dossier_commission_checkeds);
506     $unplanned = array_diff(
507     array_keys($dossier_commission_all_ids),
508     array_keys($dossier_commission_checkeds)
509     );
510     //
511     $ret = $this->update_planning(
512     array(
513     "planned" => $planned,
514     "unplanned" => $unplanned,
515     )
516     );
517     $this->message();
518     }
519    
520     // Formulaire
521     printf(
522     '
523     <!-- ########## START DBFORM ########## -->
524     <form
525     method="post" action=""
526     onsubmit="commission_submit_plan_or_unplan_demands(\'plan_or_unplan_demands\', \'%s\', this);return false;">',
527     $this->getDataSubmit()
528 mbroquet 3730 );
529    
530 jymadier 4554 /**
531     *
532     */
533     //
534     $query = sprintf(
535     'SELECT
536     dossier_commission.dossier_commission as "dossier_commission_id",
537     dossier_commission.dossier as "dossier",
538     dossier.dossier_libelle as "dossier_libelle",
539     CASE WHEN demandeur.qualite = \'particulier\'
540     THEN TRIM(
541     CONCAT(
542     demandeur.particulier_nom,
543     \' \',
544     demandeur.particulier_prenom
545     )
546     )
547     ELSE TRIM(
548     CONCAT(
549     demandeur.personne_morale_raison_sociale,
550     \' \',
551     demandeur.personne_morale_denomination
552     )
553     )
554     END as "demandeur",
555     TRIM(
556 softime 10573 COALESCE(
557     dossier.adresse_normalisee,
558     CONCAT_WS(
559     \' \',
560     dossier.terrain_adresse_voie_numero,
561     dossier.terrain_adresse_voie,
562     dossier.terrain_adresse_lieu_dit,
563     dossier.terrain_adresse_code_postal,
564     dossier.terrain_adresse_localite,
565     dossier.terrain_adresse_bp,
566     dossier.terrain_adresse_cedex
567     )
568 jymadier 4554 )
569     ) as "terrain",
570     instructeur.nom as "instructeur",
571     dossier_commission.motivation as "motivation",
572     to_char(dossier_commission.date_souhaitee, \'DD/MM/YYYY\') as "date_souhaitee",
573     to_char(dossier.date_limite, \'DD/MM/YYYY\') as "date_limite",
574     etat.libelle as "etat",
575     dossier_commission.avis as "avis"
576     FROM
577     %1$sdossier_commission
578     LEFT JOIN %1$sdossier
579     ON dossier_commission.dossier = dossier.dossier
580     LEFT JOIN %1$setat
581     ON dossier.etat = etat.etat
582 softime 7996 LEFT JOIN (
583     SELECT *
584     FROM %1$slien_dossier_demandeur
585     INNER JOIN %1$sdemandeur
586     ON demandeur.demandeur = lien_dossier_demandeur.demandeur
587     WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE
588     AND LOWER(demandeur.type_demandeur) = LOWER(\'petitionnaire\')
589     ) as "demandeur"
590     ON demandeur.dossier = dossier.dossier
591 jymadier 4554 LEFT JOIN %1$sinstructeur
592     ON dossier.instructeur = instructeur.instructeur
593     ',
594     DB_PREFIXE
595     );
596     $orderby = "
597     ORDER BY
598     dossier_commission.avis DESC NULLS LAST,
599     dossier
600     ";
601     // Demandes déjà rattachées à la commission.
602     $sql = $query."
603     WHERE
604     dossier_commission.commission = ".$idx."
605     ".$orderby;
606     $res = $this->f->db->query($sql);
607     $this->f->addToLog(
608     __METHOD__."(): db->query(\"".$sql."\");",
609     VERBOSE_MODE
610     );
611     $this->f->isDatabaseError($res);
612     // Demandes rattachables à la commission.
613     $sqlAjout = $query."
614     WHERE
615     dossier_commission.commission IS NULL AND
616     dossier_commission.commission_type =
617     (
618     SELECT
619     commission_type
620     FROM
621     ".DB_PREFIXE."commission
622     WHERE commission.commission = ".$idx."
623     )
624     ".$orderby;
625     $resAjout = $this->f->db->query($sqlAjout);
626     $this->f->addToLog(
627     __METHOD__."(): db->query(\"".$sqlAjout."\");",
628     VERBOSE_MODE
629     );
630     $this->f->isDatabaseError($resAjout);
631 mbroquet 3730
632 jymadier 4554 /**
633     * Aucun résultat. On affiche un message explicite à l'utilisateur
634     * et on sort de la view.
635     */
636     if ($res->numrows() == 0 && $resAjout->numrows() == 0) {
637     echo _("Aucune demande de passage pour ce type de commission.");
638     return;
639     }
640 mbroquet 3730
641 jymadier 4554 /**
642     * Définition des templates HTML pour l'affichage du tableau.
643     */
644     //
645     $template_table = '
646     <table class="tab-tab">%s
647     <tbody>%s
648     </tbody>
649     </table>
650     ';
651     //
652     $template_head = '
653     <thead>
654     <tr class="ui-tabs-nav ui-accordion ui-state-default tab-title">
655     <th class="title col-0 firstcol"><span class="name"></span></th>
656     <th class="title col-0 firstcol"><span class="name">%s</span></th>
657     <th class="title col-0 firstcol"><span class="name">%s</span></th>
658     <th class="title col-0 firstcol"><span class="name">%s</span></th>
659     <th class="title col-0 firstcol"><span class="name">%s</span></th>
660     <th class="title col-0 firstcol"><span class="name">%s</span></th>
661     <th class="title col-0 firstcol"><span class="name">%s</span></th>
662     <th class="title col-0 firstcol"><span class="name">%s</span></th>
663     <th class="title col-0 firstcol"><span class="name">%s</span></th>
664     <th class="title col-0 firstcol"><span class="name">%s</span></th>
665     </tr>
666     </thead>';
667     //
668     $template_line = '
669     <tr class="tab-data odd" id="dossier_commission-%s">
670     <td class="icons">
671     <input type="checkbox"%s name="dossier[]" value="%s"%s />
672     </td>
673     <td class="col-1 firstcol">%s</td>
674     <td class="col-1 firstcol">%s</td>
675     <td class="col-1">%s</td>
676     <td class="col-2 lastcol">%s</td>
677     <td class="col-2 lastcol">%s</td>
678     <td class="col-2 lastcol">%s</td>
679     <td class="col-2 lastcol">%s</td>
680     <td class="col-2 lastcol">%s</td>
681     <td class="col-2 lastcol">%s</td>
682     </tr>';
683 mbroquet 3730
684 jymadier 4554 /**
685     * Affichage du tableau.
686     */
687     //
688     $ct_head = sprintf(
689     $template_head,
690     _('id'),
691     _('dossier'),
692     _('demandeur'),
693     _('terrain'),
694     _('instructeur'),
695     _('motivation'),
696     _('date_souhaitee'),
697     _('date_limite'),
698     _('etat')
699     );
700     //
701     $ct_body = "";
702     //
703     while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
704     $ct_body .= sprintf(
705     $template_line,
706     $row['dossier'],
707     ' checked="checked"',
708     $row['dossier_commission_id']."_".$row['dossier'],
709     ($row['avis'] != '' ? 'disabled="disabled"' : ''),
710     $row['dossier_commission_id'],
711     $row['dossier_libelle'],
712     $row['demandeur'],
713     $row['terrain'],
714     $row['instructeur'],
715     $row['motivation'],
716     $this->f->formatDate($row['date_souhaitee']),
717     $this->f->formatDate($row['date_limite']),
718     $this->f->formatDate($row['etat'])
719     );
720     }
721     //
722     while ($row =& $resAjout->fetchRow(DB_FETCHMODE_ASSOC)) {
723     $ct_body .= sprintf(
724     $template_line,
725     $row['dossier'],
726     '',
727     $row['dossier_commission_id']."_".$row['dossier'],
728     '',
729     $row['dossier_commission_id'],
730     $row['dossier_libelle'],
731     $row['demandeur'],
732     $row['terrain'],
733     $row['instructeur'],
734     $row['motivation'],
735     $this->f->formatDate($row['date_souhaitee']),
736     $this->f->formatDate($row['date_limite']),
737     $this->f->formatDate($row['etat'])
738     );
739     }
740     //
741     printf($template_table, $ct_head, $ct_body);
742 mbroquet 3730
743 jymadier 4554 /**
744     * Affichage du bouton de validation.
745     */
746     echo "\t<div class=\"formControls\">\n";
747     $correct = $this->correct;
748     $this->correct = false;
749     $this->bouton($this->getParameter("maj"));
750     $this->correct = $correct;
751     echo "\t</div>\n";
752    
753     //
754     printf('</form>');
755    
756     //
757     if (isset($_POST["dossier"])) {
758     printf('</div>');
759     printf('</div>');
760     }
761    
762     }
763    
764     /**
765     * VIEW - view_form_add_and_plan_demand.
766     *
767     * @return void
768     */
769     function view_form_add_and_plan_demand() {
770    
771     //
772     $this->checkAccessibility();
773     // Identifiant de l'enregistrement
774     $idx = $this->getVal($this->clePrimaire);
775    
776     //
777     if (!isset($_POST["dossier"])) {
778     //
779     printf('<div id="view_form_add_and_plan_demand">');
780     //
781     printf('<div id="sousform-add_and_plan_demand">');
782     }
783    
784     // Treatment
785     if (isset($_POST["dossier"])) {
786     $ret = $this->add_and_plan_demand(
787     array(
788     "dossier" => $this->f->get_submitted_post_value('dossier'),
789     )
790     );
791     $this->message();
792     }
793    
794     // Formulaire
795     printf(
796     '
797     <!-- ########## START DBFORM ########## -->
798     <form
799     method="post" action=""
800     onsubmit="affichersform(\'add_and_plan_demand\', \'%s\', this);return false;">',
801     $this->getDataSubmit()
802     );
803    
804     // Le formulaire a un seul champ : dossier
805     $champs = array("dossier");
806     // Création d'un nouvel objet de type formulaire
807 softime 7996 $form = $this->f->get_inst__om_formulaire(array(
808     "validation" => 0,
809     "maj" => 0,
810     "champs" => $champs,
811     ));
812 jymadier 4554 // Caractéristique du champ
813     $form->setLib("dossier", _("No de dossier")." :");
814     $form->setType("dossier", "text");
815     $form->setTaille("dossier", 25);
816     $form->setMax("dossier", 25);
817     //
818     $form->afficher($champs, 0, false, false);
819     //
820     echo "\t<div class=\"formControls\">\n";
821     $correct = $this->correct;
822     $this->correct = false;
823     $this->bouton($this->getParameter("maj"));
824     $this->correct = $correct;
825     echo "\t</div>\n";
826     //
827     printf('</form>');
828    
829     //
830     if (isset($_POST["dossier"])) {
831     printf('</div>');
832     printf('</div>');
833     }
834    
835     }
836    
837     /**
838     * TREATMENT - update_planning.
839     *
840     * @return boolean
841     */
842     function update_planning($val = array()) {
843     //
844     $this->begin_treatment(__METHOD__);
845     // Identifiant de l'enregistrement
846     $idx = $this->getVal($this->clePrimaire);
847    
848     //
849     if (isset($val["planned"])
850     && is_array($val["planned"])
851     && count($val["planned"]) != 0) {
852     // Mise à jour des éléments checked
853     $sql = "UPDATE ".DB_PREFIXE."dossier_commission SET commission=".$idx."
854     WHERE dossier_commission in (".implode(",", $val["planned"]).")
855     AND (commission IS NULL OR commission = ".$idx.")";
856     $res = $this->f->db->query($sql);
857     $this->f->addToLog(
858     __METHOD__."(): db->query(\"".$sql."\");",
859     VERBOSE_MODE
860     );
861     $this->f->isDatabaseError($res);
862     //
863     if (count($val["planned"]) != $this->f->db->affectedRows()) {
864     $this->correct = false;
865     $this->addToMessage(_("Erreur lors de la mise à jour de la planification."));
866     return $this->end_treatment(__METHOD__, false);
867 mbroquet 3730 }
868     }
869 jymadier 4554
870     if (isset($val["unplanned"])
871     && is_array($val["unplanned"])
872     && count($val["unplanned"]) != 0) {
873     // Mise à jour des éléments unchecked
874     $sql = "UPDATE ".DB_PREFIXE."dossier_commission SET commission=null
875     WHERE dossier_commission in (".implode(",", $val["unplanned"]).") AND (avis = '' OR avis IS NULL)";
876     $res = $this->f->db->query($sql);
877     $this->f->addToLog(
878     __METHOD__."(): db->query(\"".$sql."\");",
879     VERBOSE_MODE
880     );
881     $this->f->isDatabaseError($res);
882     //
883     if (count($val["unplanned"]) != $this->f->db->affectedRows()) {
884     $this->correct = false;
885     $this->addToMessage(_("Erreur lors de la mise à jour de la planification."));
886     return $this->end_treatment(__METHOD__, false);
887     }
888     }
889     //
890     $this->addToMessage(_("Mise à jour de la planification effectuée."));
891     return $this->end_treatment(__METHOD__, true);
892     }
893    
894     /**
895     * TREATMENT - add_and_plan_demand.
896     *
897     * @return boolean
898     */
899     function add_and_plan_demand($val = array()) {
900     //
901     $this->begin_treatment(__METHOD__);
902     // Identifiant de l'enregistrement
903     $idx = $this->getVal($this->clePrimaire);
904    
905     // Vérification de l'existence du paramètre
906     if (!isset($val["dossier"]) || $val["dossier"] === "") {
907     $this->correct = false;
908     $this->addToMessage(_("Aucun numero de dossier saisi."));
909     return $this->end_treatment(__METHOD__, false);
910     }
911    
912     // Vérification de l'existence du dossier
913     $dossier = $val["dossier"];
914 softime 6702 $sql = "SELECT dossier, om_collectivite
915 softime 6565 FROM ".DB_PREFIXE."dossier
916     INNER JOIN ".DB_PREFIXE."dossier_instruction_type
917     ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type
918     INNER JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille
919     ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
920     INNER JOIN ".DB_PREFIXE."dossier_autorisation_type
921     ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
922     INNER JOIN ".DB_PREFIXE."groupe
923     ON dossier_autorisation_type.groupe = groupe.groupe
924     AND groupe.code != 'CTX'
925     WHERE dossier = '".$this->f->db->escapeSimple($dossier)."'";
926 softime 6702 $resDossier = $this->f->db->query($sql);
927 jymadier 4554 $this->f->addToLog(
928     __METHOD__."(): db->query(\"".$sql."\");",
929     VERBOSE_MODE
930     );
931 softime 6702 $this->f->isDatabaseError($resDossier);
932 jymadier 4554
933     // Si le dossier n'existe pas
934 softime 6702 if ($resDossier->numrows() == 0) {
935 jymadier 4554 $this->correct = false;
936     $this->addToMessage(_("Ce dossier n'existe pas."));
937     return $this->end_treatment(__METHOD__, false);
938     }
939    
940     // Teste si le dossier est déjà à l'ordre du jour
941     $sql = sprintf(
942     'SELECT
943     dossier
944     FROM
945     %sdossier_commission
946     WHERE
947     dossier = \'%s\'
948     AND dossier_commission.commission = %s',
949     DB_PREFIXE,
950     $this->f->db->escapeSimple($dossier),
951     $idx
952     );
953     $res = $this->f->db->query($sql);
954     $this->f->addToLog(
955     __METHOD__."(): db->query(\"".$sql."\");",
956     VERBOSE_MODE
957     );
958     $this->f->isDatabaseError($res);
959    
960     // Le dossier est déjà à l'ordre du jour
961     if ($res->numrows() != 0) {
962     $this->correct = false;
963     $this->addToMessage(_("Ce dossier est deja a l'ordre du jour."));
964     return $this->end_treatment(__METHOD__, false);
965     }
966    
967     // Récupération du type de commission
968     $inst_commission_type = $this->get_inst_commission_type();
969     $commission_type_id = $inst_commission_type->getVal($inst_commission_type->clePrimaire);
970 softime 6702 $rowDossier = $resDossier->fetchRow(DB_FETCHMODE_ASSOC);
971     // On vérifie que le type de commission est de la même collectivité que le dossier
972     if ($inst_commission_type->getVal("om_collectivite") != $rowDossier['om_collectivite']) {
973     $this->correct = false;
974     $this->addToMessage(_("Ce dossier n'existe pas."));
975     return $this->end_treatment(__METHOD__, false);
976 jymadier 4554
977 softime 6702 }
978    
979 jymadier 4554 // Tableau des données du nouveau dossier à passer en commission
980     $data = array(
981     "dossier_commission" => null,
982     "dossier" => $dossier,
983     "commission_type" => $commission_type_id,
984     "date_souhaitee" => date("d/m/Y"),
985     "motivation" => null,
986     "commission" => $idx,
987     "avis" => null,
988     "lu" => false,
989     );
990    
991     // Ajout du nouveau dossier
992 softime 7996 $dossier_commission = $this->f->get_inst__om_dbform(array(
993     "obj" => "dossier_commission",
994     "idx" => "]",
995     ));
996 jymadier 4554 $ret = $dossier_commission->ajouter($data);
997     if ($ret !== true) {
998     $this->correct = false;
999     $this->addToMessage(_("Une erreur s'est produite lors de l'ajout de ce dossier. Veuillez contacter votre administrateur."));
1000     return $this->end_treatment(__METHOD__, false);
1001     }
1002    
1003     // Le dossier a bien été ajouté
1004     $this->addToMessage(_("Dossier ajoute avec succes."));
1005     return $this->end_treatment(__METHOD__, true);
1006     }
1007    
1008     /**
1009     * TREATMENT - diffuse_document.
1010     *
1011     * @return boolean
1012     */
1013     function diffuse_document($val = array()) {
1014     //
1015     $this->begin_treatment(__METHOD__);
1016     // Identifiant de l'enregistrement
1017     $idx = $this->getVal($this->clePrimaire);
1018    
1019     /**
1020     * Définition des paramètres.
1021     */
1022     //
1023     if ($this->getParameter("maj") == 11) {
1024     $obj = "commission_ordre_jour";
1025     $mention = "OJ";
1026     $type = "de l'ordre du jour";
1027     $champ = "ordre_jour";
1028     } elseif ($this->getParameter("maj") == 12) {
1029     $obj = "commission_compte_rendu";
1030     $mention = "CR";
1031     $type = "du compte-rendu";
1032     $champ = "compte_rendu";
1033     }
1034    
1035     /**
1036     * Composition du PDF.
1037     */
1038     //
1039 softime 6702 $collectivite = $this->f->getCollectivite($this->getVal("om_collectivite"));
1040 jymadier 4554 $pdf_result = $this->compute_pdf_output(
1041     "etat",
1042     $obj,
1043 softime 6702 $collectivite,
1044 jymadier 4554 $idx
1045     );
1046    
1047     /**
1048     * Envoi du mail.
1049     */
1050     $sql = "
1051     SELECT
1052     commission.listes_de_diffusion as listes_de_diffusion,
1053     commission.code as code,
1054     to_char(commission.date_commission, 'DD/MM/YYYY') as date_commission,
1055     commission.libelle as libelle, commission_type.corps_du_courriel as corps_du_courriel
1056     FROM
1057     ".DB_PREFIXE."commission
1058     LEFT JOIN
1059     ".DB_PREFIXE."commission_type
1060     ON
1061     commission.commission_type = commission_type.commission_type
1062     WHERE
1063     commission.commission = ".$idx;
1064     $res = $this->f->db->query($sql);
1065     $this->f->addTolog(
1066     __METHOD__." : db->query(\"".$sql."\");",
1067     VERBOSE_MODE
1068     );
1069     $this->f->isDatabaseError($res);
1070     $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);
1071     //
1072     $titre = "[".$mention."] ".$row['date_commission']." ".$row['libelle'];
1073     //
1074     $corps = utf8_decode($row['corps_du_courriel']);
1075     //
1076     $listes_de_diffusion = str_replace(
1077     "\r\n",
1078     ',',
1079     $row['listes_de_diffusion']
1080     );
1081     //
1082     $piece_jointe = array(
1083     "content" => $pdf_result['pdf_output'],
1084     "title" => $mention."_".str_replace('/', '-', $row['date_commission'])."_".$row['code'].".pdf",
1085     "stream" => '',
1086     );
1087     //
1088     $ret = $this->f->sendMail(
1089     $titre,
1090     $corps,
1091     $listes_de_diffusion,
1092     array($piece_jointe)
1093     );
1094    
1095     /**
1096     * Si une erreur survient lors de l'envoi du mail, on stoppe le traitement.
1097     */
1098     //
1099     if ($ret !== true) {
1100     $this->addToMessage(
1101     sprintf(
1102     _("Une erreur s'est produite lors de la diffusion %s. Veuillez contacter votre administrateur."),
1103     $type
1104     )
1105     );
1106     $this->correct = false;
1107     return $this->end_treatment(__METHOD__, false);
1108     }
1109    
1110     /**
1111     *
1112     */
1113     $ret = $this->finalise_document(array("champ" => $champ, ));
1114     if ($ret !== true) {
1115     $this->addToMessage(_("Une erreur s'est produite lors de la finalisation du document."));
1116     $this->correct = false;
1117     return $this->end_treatment(__METHOD__, false);
1118     }
1119    
1120     /**
1121     *
1122     */
1123     $this->addToMessage(
1124     sprintf(
1125     _("La diffusion %s s'est effectuée avec succès."),
1126     $type
1127     )
1128     );
1129     $this->correct = true;
1130     return $this->end_treatment(__METHOD__, true);
1131     }
1132    
1133     /**
1134     * TREATMENT - finalise_document.
1135     *
1136     * Finalisation des documents.
1137     *
1138     * @return boolean
1139     */
1140     function finalise_document($val = array()) {
1141     //
1142     $this->begin_treatment(__METHOD__);
1143     // Identifiant de l'enregistrement
1144     $idx = $this->getVal($this->clePrimaire);
1145     //
1146     $champ = $val["champ"];
1147    
1148     /**
1149     * Génération du fichier PDF et de ses métadonnées avant le stockage.
1150     */
1151     // Génération du fichier PDF.
1152 softime 6702 $collectivite = $this->f->getCollectivite($this->getVal("om_collectivite"));
1153 jymadier 4554 $pdf_result = $this->compute_pdf_output(
1154     "etat",
1155     'commission_'.$champ,
1156 softime 6702 $collectivite,
1157 jymadier 4554 $idx
1158     );
1159     // Composition des métadonnées du document.
1160     $metadata = array_merge(
1161     array(
1162     'filename' => 'commission_'.$champ.'_'.$idx.'.pdf',
1163     'mimetype' => 'application/pdf',
1164     'size' => strlen($pdf_result["pdf_output"])
1165     ),
1166     $this->getMetadata("om_fichier_commission_".$champ)
1167     );
1168 nmeucci 4649 //Si le document a déjà été finalisé
1169     //on met à jour le document mais pas son uid
1170     if ( $this->getVal("om_final_commission_".$champ) != 'f' ){
1171     $uid = $this->f->storage->update(
1172     $this->getVal("om_fichier_commission_".$champ), $pdf_result["pdf_output"], $metadata);
1173     }
1174     //Sinon, on joute le document et on récupère son uid
1175     else {
1176     //Stockage du PDF
1177 softime 10573 $uid = $this->f->storage->create($pdf_result["pdf_output"], $metadata, "from_content", $this->table.".".$champ);
1178 nmeucci 4649 }
1179 jymadier 4554
1180     // Si le document n'a pas pu être stocké
1181     if ($uid == "" || $uid == 'OP_FAILURE') {
1182 softime 5169 $log_msg_error = "Finalisation non enregistrée - id commission_%s = %s - uid fichier = %s";
1183 softime 8989 $this->addToLog(sprintf($log_msg_error, $champ, $idx, $uid), DEBUG_MODE);
1184 jymadier 4554 $this->correct = false;
1185     return $this->end_treatment(__METHOD__, false);
1186 mbroquet 3730 }
1187 jymadier 4554
1188     // Modifie uniquement les valeurs des champs concernant la finalisation
1189     // du document
1190     $valF = array(
1191     "om_final_commission_".$champ => true,
1192     "om_fichier_commission_".$champ => $uid
1193     );
1194     // Execution de la requête de modification des donnees de l'attribut
1195     // valF de l'objet dans l'attribut table de l'objet
1196 softime 8989 $res = $this->f->db->autoExecute(
1197 jymadier 4554 DB_PREFIXE.$this->table,
1198     $valF,
1199     DB_AUTOQUERY_UPDATE,
1200     $this->getCle($idx)
1201     );
1202     // Si une erreur survient
1203     if (database::isError($res)) {
1204     // Appel de la methode de recuperation des erreurs
1205     $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
1206     $this->correct = false;
1207     return $this->end_treatment(__METHOD__, false);
1208     }
1209    
1210     // Log
1211     $this->addToLog(_("Requete executee"), VERBOSE_MODE);
1212     // Log
1213     $message = _("Enregistrement")."&nbsp;".$idx."&nbsp;";
1214     $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
1215 softime 8989 $message .= "[&nbsp;".$this->f->db->affectedRows()."&nbsp;";
1216 jymadier 4554 $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
1217     $this->addToLog($message, VERBOSE_MODE);
1218     //
1219     return $this->end_treatment(__METHOD__, true);
1220    
1221 mbroquet 3730 }
1222    
1223 jymadier 4554 // {{{ Gestion des métadonnées pour les fichiers
1224    
1225 mbroquet 3730 /**
1226 jymadier 4554 *
1227     */
1228     var $metadata = array(
1229     "om_fichier_commission_ordre_jour" => array(
1230     "dossier" => "getDossier",
1231     "dossier_version" => "getDossierVersion",
1232     "numDemandeAutor" => "getNumDemandeAutor",
1233     "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
1234     "typeInstruction" => "getTypeInstruction",
1235     "statutAutorisation" => "getStatutAutorisation",
1236     "typeAutorisation" => "getTypeAutorisation",
1237     "dateEvenementDocument" => "getDateEvenementDocument",
1238     "groupeInstruction" => 'getGroupeInstruction',
1239     "title" => 'getTitleOrdreCommission',
1240 softime 10573
1241     'type' => 'getDocumentType',
1242     'collectivite' => 'getDossierServiceOrCollectivite',
1243     'commission' => 'getCommissionCode'
1244 jymadier 4554 ),
1245     "om_fichier_commission_compte_rendu" => array(
1246     "dossier" => "getDossier",
1247     "dossier_version" => "getDossierVersion",
1248     "numDemandeAutor" => "getNumDemandeAutor",
1249     "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
1250     "typeInstruction" => "getTypeInstruction",
1251     "statutAutorisation" => "getStatutAutorisation",
1252     "typeAutorisation" => "getTypeAutorisation",
1253     "dateEvenementDocument" => "getDateEvenementDocument",
1254     "groupeInstruction" => 'getGroupeInstruction',
1255     "title" => 'getTitleCompteRenduCommission',
1256 softime 10573
1257     'type' => 'getDocumentType',
1258     'collectivite' => 'getDossierServiceOrCollectivite',
1259     'commission' => 'getCommissionCode'
1260 jymadier 4554 ),
1261     );
1262    
1263     /**
1264 mbroquet 3730 * Récupération du numéro de dossier d'instruction à ajouter aux métadonnées
1265     * @return chaîne vide
1266     */
1267 softime 10573 protected function getDossier($champ = null) {
1268 nmeucci 4275 return "COMMISSION_".$this->getVal('date_commission');
1269 mbroquet 3730 }
1270 jymadier 4554
1271 mbroquet 3730 /**
1272     * Récupération la version du dossier d'instruction à ajouter aux métadonnées
1273     * @return chaîne vide
1274     */
1275     protected function getDossierVersion() {
1276     return "";
1277     }
1278 jymadier 4554
1279 mbroquet 3730 /**
1280     * Récupération du numéro de dossier d'autorisation à ajouter aux métadonnées
1281     * @return chaîne vide
1282     */
1283     protected function getNumDemandeAutor() {
1284     return "";
1285     }
1286 jymadier 4554
1287 mbroquet 3730 /**
1288     * Récupération de la date de demande initiale du dossier à ajouter aux métadonnées
1289     * @return chaîne vide
1290     */
1291     protected function getAnneemoisDemandeAutor() {
1292     return "";
1293     }
1294 jymadier 4554
1295 mbroquet 3730 /**
1296     * Récupération du type de dossier d'instruction à ajouter aux métadonnées
1297     * @return chaîne vide
1298     */
1299     protected function getTypeInstruction() {
1300     return "";
1301     }
1302 jymadier 4554
1303 mbroquet 3730 /**
1304     * Récupération du statut du dossier d'autorisation à ajouter aux métadonnées
1305     * @return chaîne vide
1306     */
1307     protected function getStatutAutorisation() {
1308     return "";
1309     }
1310 jymadier 4554
1311 mbroquet 3730 /**
1312     * Récupération du type de dossier d'autorisation à ajouter aux métadonnées
1313     * @return chaîne vide
1314     */
1315     protected function getTypeAutorisation() {
1316     return "";
1317     }
1318 jymadier 4554
1319 mbroquet 3730 /**
1320     * Récupération de la date d'ajout de document à ajouter aux métadonnées
1321     * @return date de l'évènement
1322     */
1323     protected function getDateEvenementDocument() {
1324     return date("Y-m-d");
1325     }
1326 jymadier 4554
1327 mbroquet 3730 /**
1328     * Récupération du groupe d'instruction à ajouter aux métadonnées
1329     * @return string Groupe d'instruction
1330     */
1331     protected function getGroupeInstruction() {
1332     return "ADS";
1333     }
1334 jymadier 4554
1335 mbroquet 3730 /**
1336     * Récupération du type du document à ajouter aux métadonnées
1337     * @return string Type de document
1338     */
1339     protected function getTitleOrdreCommission() {
1340 nmeucci 4275 return 'Ordre du jour : '.$this->getVal($this->clePrimaire).'_'.$this->getVal('libelle');
1341 mbroquet 3730 }
1342 jymadier 4554
1343 mbroquet 3730 /**
1344     * Récupération du type du document à ajouter aux métadonnées
1345     * @return string Type de document
1346     */
1347     protected function getTitleCompteRenduCommission() {
1348 nmeucci 4275 return 'Compte-rendu : '.$this->getVal($this->clePrimaire).'_'.$this->getVal('libelle');
1349 mbroquet 3730 }
1350 jymadier 4554
1351     // }}}
1352    
1353 softime 10573 protected function getDocumentType($champ = null) {
1354     switch($champ) {
1355     case "om_fichier_commission_ordre_jour": ;
1356     return __("Commission").':'.__("Ordre du jour");
1357     case "om_fichier_commission_compte_rendu":
1358     return __("Commission").':'.__("Compte rendu");
1359     }
1360     return parent::getDocumentType();
1361     }
1362 jymadier 4554
1363 softime 10573 protected function getDossierServiceOrCollectivite($champ = null) {
1364     $collectiviteId = $this->getVal('om_collectivite');
1365     if (! empty($collectiviteId)) {
1366     $collectivite = $this->f->findObjectById('om_collectivite', $collectiviteId);
1367     if (! empty($collectivite)) {
1368     return $collectivite->getVal('libelle');
1369     }
1370     }
1371     }
1372 softime 7996
1373 softime 10573 protected function getCommissionCode($champ = null) {
1374     return $this->getVal('code');
1375     }
1376     }

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26