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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3021 - (hide annotations)
Tue May 13 14:33:05 2014 UTC (10 years, 8 months ago) by nhaye
File size: 13391 byte(s)
Ajout d'informations dans le log des erreurs lors de la finalisation

1 fmichon 1022 <?php
2     //$Id$
3     //gen openMairie le 07/12/2012 17:33
4    
5     require_once ("../gen/obj/commission.class.php");
6    
7     class commission extends commission_gen {
8    
9 nhaye 1938 var $metadata = array(
10     "om_fichier_commission_ordre_jour" => array(
11     "dossier" => "getDossier",
12 softime 2016 "dossier_version" => "getDossierVersion",
13 softime 2025 "numDemandeAutor" => "getNumDemandeAutor",
14     "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
15     "typeInstruction" => "getTypeInstruction",
16     "statutAutorisation" => "getStatutAutorisation",
17     "typeAutorisation" => "getTypeAutorisation",
18     "dateEvenementDocument" => "getDateEvenementDocument",
19 softime 2016 "groupeInstruction" => 'getGroupeInstruction',
20 softime 2025 "title" => 'getTitleOrdreCommission',
21 nhaye 1938 ),
22     "om_fichier_commission_compte_rendu" => array(
23     "dossier" => "getDossier",
24 softime 2016 "dossier_version" => "getDossierVersion",
25 softime 2025 "numDemandeAutor" => "getNumDemandeAutor",
26     "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
27     "typeInstruction" => "getTypeInstruction",
28     "statutAutorisation" => "getStatutAutorisation",
29     "typeAutorisation" => "getTypeAutorisation",
30     "dateEvenementDocument" => "getDateEvenementDocument",
31 softime 2016 "groupeInstruction" => 'getGroupeInstruction',
32 softime 2025 "title" => 'getTitleCompteRenduCommission',
33 nhaye 1938 ),
34     );
35    
36 fmichon 1022 function commission($id,&$db,$debug) {
37     $this->constructeur($id,$db,$debug);
38     }// fin constructeur
39    
40 fmichon 1332 function afterFormSpecificContent() {
41 vpihour 1389
42     //Le sous-formulaire spécifique ne s'affiche qu'en consultation
43     if ( $this->parameters['maj'] == 3 ){
44     $f = $this->f;
45 fmichon 1520 include "../app/commission_manage.php";
46 vpihour 1389 }
47 fmichon 1332 }
48 vpihour 1389
49     //Le type de commission n'est pas modifiable une fois la commission ajoutée
50     function setType(&$form,$maj) {
51     parent::setType($form,$maj);
52    
53 vpihour 1401 //Cache le champ code en ajout
54     if ( $maj == 0 ){
55    
56     $form->setType('code', 'hidden');
57     }
58    
59 vpihour 1389 if ( $maj > 0 ) {
60 vpihour 1390 $form->setType('commission_type', 'selecthiddenstatic');
61 vpihour 1401 $form->setType('code', 'hiddenstatic');
62 vpihour 1389 }
63 vpihour 1899
64     //Cache les champs pour la finalisation
65 vpihour 1933 $form->setType('om_fichier_commission_ordre_jour', 'hidden');
66 nmeucci 2805 $form->setType('om_final_commission_ordre_jour', 'hidden');
67 vpihour 1933 $form->setType('om_fichier_commission_compte_rendu', 'hidden');
68 nmeucci 2805 $form->setType('om_final_commission_compte_rendu', 'hidden');
69 vpihour 1389 }
70 fmichon 1332
71 vpihour 1389 //Action javascript au changement du type de la commission
72     function setOnchange(&$form,$maj){
73     parent::setOnchange($form,$maj);
74    
75     $form->setOnchange("commission_type","chargeDonneesCommissionType(this.value);");
76     }
77    
78     // Date du jour par défaut
79     function setVal(&$form, $maj, $validation, &$db) {
80    
81     if( $maj == 0 ) {
82    
83     $form->setVal("date_commission",date('d/m/Y'));
84     }
85     }
86 vpihour 1401
87     // Génération automatique du code de la commission
88 vpihour 1453 function setvalF($val) {
89     parent::setValF($val);
90 vpihour 1772
91 vpihour 1401 // Récupération du code du type de la commission
92 vpihour 1772 $codeTypeCommission = "";
93     if ( isset($val['commission_type']) && is_numeric($val['commission_type']))
94     $codeTypeCommission = $this->getCodeTypeCommission($val['commission_type']);
95 vpihour 1401
96     //Formatte la date
97     $dateFormatee = $this->formatDate($val['date_commission']);
98    
99     $this->valF['code'] = $codeTypeCommission.$dateFormatee;
100     }
101    
102     //Retourne le code du type de la commission passée en paramètre
103     function getCodeTypeCommission($typeCommission){
104    
105     $codeTypeCommission = "";
106    
107     $sql = "SELECT
108     code
109     FROM
110     ".DB_PREFIXE."commission_type
111     WHERE
112     commission_type = ".$typeCommission;
113     $codeTypeCommission = $this->db->getOne($sql);
114 fmichon 1886 $this->f->addToLog("getCodeTypeCommission(): db->getone(\"".$sql."\")", VERBOSE_MODE);
115 vpihour 1773 if ( database::isError($codeTypeCommission) ){
116     die();
117     }
118 vpihour 1401
119     return $codeTypeCommission;
120     }
121    
122     // Prend une date au format JJ/MM/AAAA et retourne AAAAMMJJ
123     function formatDate($date){
124    
125     $dateFormatee = explode('/',$date);
126     $dateFormatee = $dateFormatee[2].$dateFormatee[1].$dateFormatee[0];
127    
128     return $dateFormatee;
129     }
130 vpihour 1933
131     /**
132     * Surcharge pour gérer les actions disponibles dans le portlet
133     */
134     function checkAccessibility() {
135     //
136     parent::checkAccessibility();
137     //Si le document est déjà finalisé, on affiche uniquement le lien de
138     //dé-finalisation pour l'ordre du jour et le compte rendu
139     $om_final_commission_ordre_jour = $this->getVal("om_final_commission_ordre_jour");
140     if ( isset($this->actions_sup["commission_ordre_jour"]) &&
141     $om_final_commission_ordre_jour== "t" ){
142    
143     //On cache le lien de finalisation et on affiche le bon lien pour l'édition
144     $this->actions_sup["commission_ordre_jour"]["lien"] = "../spg/file.php?id=";
145     $this->actions_sup["commission_ordre_jour"]["id"] =
146     "&amp;obj=commission&amp;champ=om_fichier_commission_ordre_jour";
147     }
148    
149     $om_final_commission_compte_rendu = $this->getVal("om_final_commission_compte_rendu");
150     if ( isset($this->actions_sup["finalisation"]) &&
151     $om_final_commission_compte_rendu== "t" ){
152    
153     //On cache le lien de finalisation et on affiche le bon lien pour l'édition
154     $this->actions_sup["commission_compte_rendu"]["lien"] = "../spg/file.php?id=";
155     $this->actions_sup["commission_compte_rendu"]["id"] =
156     "&amp;obj=commission&amp;champ=om_fichier_commission_compte_rendu";
157     }
158     }
159    
160     /**
161 nhaye 1949 * Finalisation des documents.
162     * @param string $champ champ du fichier à finaliser
163     * @param booleen $status permet de définir si on finalise ou définalise
164     * @param string $sousform permet de savoir si se trouve dans un sousformulaire (passé au javascript)
165 vpihour 1933 */
166     function finaliser( $champ = '', $status, $sousform){
167    
168     //Si on finalise le document
169     //Génération du PDF
170     $_GET['output'] = "string";
171     $_GET['obj'] = 'commission_'.$champ;
172     $f = $this->f;
173     include '../pdf/pdfetat.php';
174    
175     //Métadonnées du document
176     $metadata = array(
177     'filename' => 'commission_'.$champ.'_'.$idx.'.pdf',
178     'mimetype' => 'application/pdf',
179     'size' => strlen($pdf_output)
180     );
181 nhaye 1938 // Récupération des métadonnées calculées après validation
182     $spe_metadata = $this->getMetadata("om_fichier_commission_".$champ);
183     $metadata = array_merge($metadata, $spe_metadata);
184 vpihour 1933
185     $uid = $this->f->storage->create($pdf_output, $metadata);
186    
187 nhaye 3021 // Recuperation de la valeur de la cle primaire de l'objet
188     if($this->getVal($this->clePrimaire)!='')
189     $id = $this->getVal($this->clePrimaire);
190     else
191     $id=$this->id;
192 vpihour 1933 //Mise à jour des données
193 vpihour 2789 if ( $uid != '' && $uid != 'OP_FAILURE' ){
194 vpihour 1933 // Logger
195     $this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE);
196    
197     //Tableau contenant le lien vers le PDF et lien du portlet pour la mise
198     //à jour de l'interface
199     $lien = '../spg/file.php?obj=commission&'.
200     'champ=om_fichier_commission_'.$champ.'&id='.$id;
201    
202     foreach ( $this->champs as $key=>$value )
203     $val[$value] = $this->val[$key];
204     $val['date_commission']=$this->dateDBToForm($val['date_commission']);
205    
206     $this->setvalF($val);
207    
208     // Verification de la validite des donnees
209     $this->verifier($this->val, $this->db, DEBUG);
210     // Verification du verrou
211     $this->testverrou();
212     // Si les verifications precedentes sont correctes, on procede a
213     // la modification, sinon on ne fait rien et on retourne une erreur
214     if ($this->correct) {
215     // Execution du trigger 'before' specifique au MODE 'update'
216     $this->triggermodifier( $id, $this->db, $this->val, DEBUG);
217    
218     //Modifie uniquement les valeurs des champs concernant la finalisation
219     //du document
220     $valF = array(
221     "om_final_commission_".$champ => TRUE,
222     "om_fichier_commission_".$champ => $uid
223     );
224    
225     // Execution de la requête de modification des donnees de l'attribut
226     // valF de l'objet dans l'attribut table de l'objet
227     $res = $this->db->autoExecute(DB_PREFIXE.$this->table, $valF,
228     DB_AUTOQUERY_UPDATE, $this->getCle($id));
229     // Si une erreur survient
230     if (database::isError($res)) {
231     // Appel de la methode de recuperation des erreurs
232     $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
233     } else {
234     // Log
235     $this->addToLog(_("Requete executee"), VERBOSE_MODE);
236     // Log
237     $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
238     $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
239     $message .= "[&nbsp;".$this->db->affectedRows()."&nbsp;";
240     $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
241     $this->addToLog($message, VERBOSE_MODE);
242     // Mise en place du verrou pour ne pas finaliser plusieurs fois
243     // le meme document
244     $this->verrouille();
245     // Execution du trigger 'after' specifique au MODE 'update'
246     $this->triggermodifierapres($id, $this->db, $this->val, DEBUG);
247    
248     return $lien;
249     }
250     } else {
251     // Message d'echec (saut d'une ligne supplementaire avant le
252     // message pour qu'il soit mis en evidence)
253 nhaye 3021 $this->addToLog(
254     _("Finalisation non enregistree")." - ".
255     _("id instruction")." = ".$id." - ".
256     _("uid fichier")." = ".$uid
257     );
258 vpihour 1933 return -1;
259     }
260     }
261     // Si le document n'a pas été stocké
262     else{
263 nhaye 3021 $this->addToLog(
264     _("Finalisation non enregistree")." - ".
265     _("id instruction")." = ".$id." - ".
266     _("uid fichier")." = ".$uid
267     );
268 vpihour 1933 return -1;
269     }
270     }
271 nhaye 1938
272 nhaye 1949 /**
273 nhaye 1938 * Récupération du numéro de dossier d'instruction à ajouter aux métadonnées
274 nhaye 1949 * @return chaîne vide
275 nhaye 1938 */
276     protected function getDossier() {
277     return "";
278     }
279     /**
280 softime 2016 * Récupération la version du dossier d'instruction à ajouter aux métadonnées
281     * @return chaîne vide
282     */
283     protected function getDossierVersion() {
284     return "";
285     }
286     /**
287 nhaye 1938 * Récupération du numéro de dossier d'autorisation à ajouter aux métadonnées
288 nhaye 1949 * @return chaîne vide
289 nhaye 1938 */
290 softime 2025 protected function getNumDemandeAutor() {
291 nhaye 1938 return "";
292     }
293     /**
294     * Récupération de la date de demande initiale du dossier à ajouter aux métadonnées
295 nhaye 1949 * @return chaîne vide
296 nhaye 1938 */
297 softime 2025 protected function getAnneemoisDemandeAutor() {
298 nhaye 1938 return "";
299     }
300     /**
301     * Récupération du type de dossier d'instruction à ajouter aux métadonnées
302 nhaye 1949 * @return chaîne vide
303 nhaye 1938 */
304 softime 2025 protected function getTypeInstruction() {
305 nhaye 1938 return "";
306     }
307     /**
308     * Récupération du statut du dossier d'autorisation à ajouter aux métadonnées
309 nhaye 1949 * @return chaîne vide
310 nhaye 1938 */
311 softime 2025 protected function getStatutAutorisation() {
312 nhaye 1938 return "";
313     }
314     /**
315     * Récupération du type de dossier d'autorisation à ajouter aux métadonnées
316 nhaye 1949 * @return chaîne vide
317 nhaye 1938 */
318 softime 2025 protected function getTypeAutorisation() {
319 nhaye 1938 return "";
320     }
321     /**
322     * Récupération de la date d'ajout de document à ajouter aux métadonnées
323 nhaye 1949 * @return date de l'évènement
324 nhaye 1938 */
325 softime 2025 protected function getDateEvenementDocument() {
326 softime 2046 return date("Y-m-d");
327 nhaye 1938 }
328     /**
329     * Récupération du groupe d'instruction à ajouter aux métadonnées
330     * @return string Groupe d'instruction
331     */
332     protected function getGroupeInstruction() {
333 nhaye 1941 return "ADS";
334 nhaye 1938 }
335 softime 2002 /**
336     * Récupération du type du document à ajouter aux métadonnées
337     * @return string Type de document
338     */
339 softime 2025 protected function getTitleOrdreCommission() {
340 softime 2002 return "Ordre du jour de commission";
341     }
342     /**
343     * Récupération du type du document à ajouter aux métadonnées
344     * @return string Type de document
345     */
346 softime 2025 protected function getTitleCompteRenduCommission() {
347 softime 2002 return "Compte-rendu de commission";
348     }
349 nhaye 1938
350 fmichon 1022 }// fin classe
351     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26