/[openfoncier]/branches/3.14.x/obj/commission.class.php
ViewVC logotype

Contents of /branches/3.14.x/obj/commission.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3343 - (show annotations)
Thu Mar 19 17:34:18 2015 UTC (9 years, 10 months ago) by vpihour
File size: 13405 byte(s)
Ajout de la branche

1 <?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 var $metadata = array(
10 "om_fichier_commission_ordre_jour" => array(
11 "dossier" => "getDossier",
12 "dossier_version" => "getDossierVersion",
13 "numDemandeAutor" => "getNumDemandeAutor",
14 "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
15 "typeInstruction" => "getTypeInstruction",
16 "statutAutorisation" => "getStatutAutorisation",
17 "typeAutorisation" => "getTypeAutorisation",
18 "dateEvenementDocument" => "getDateEvenementDocument",
19 "groupeInstruction" => 'getGroupeInstruction',
20 "title" => 'getTitleOrdreCommission',
21 ),
22 "om_fichier_commission_compte_rendu" => array(
23 "dossier" => "getDossier",
24 "dossier_version" => "getDossierVersion",
25 "numDemandeAutor" => "getNumDemandeAutor",
26 "anneemoisDemandeAutor" => "getAnneemoisDemandeAutor",
27 "typeInstruction" => "getTypeInstruction",
28 "statutAutorisation" => "getStatutAutorisation",
29 "typeAutorisation" => "getTypeAutorisation",
30 "dateEvenementDocument" => "getDateEvenementDocument",
31 "groupeInstruction" => 'getGroupeInstruction',
32 "title" => 'getTitleCompteRenduCommission',
33 ),
34 );
35
36 function commission($id,&$db,$debug) {
37 $this->constructeur($id,$db,$debug);
38 }// fin constructeur
39
40 function afterFormSpecificContent() {
41
42 //Le sous-formulaire spécifique ne s'affiche qu'en consultation
43 if ( $this->parameters['maj'] == 3 ){
44 $f = $this->f;
45 include "../app/commission_manage.php";
46 }
47 }
48
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 //Cache le champ code en ajout
54 if ( $maj == 0 ){
55
56 $form->setType('code', 'hidden');
57 }
58
59 if ( $maj > 0 ) {
60 $form->setType('commission_type', 'selecthiddenstatic');
61 $form->setType('code', 'hiddenstatic');
62 }
63
64 //Cache les champs pour la finalisation
65 $form->setType('om_fichier_commission_ordre_jour', 'hidden');
66 $form->setType('om_final_commission_ordre_jour', 'hidden');
67 $form->setType('om_fichier_commission_compte_rendu', 'hidden');
68 $form->setType('om_final_commission_compte_rendu', 'hidden');
69 }
70
71 //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
87 // Génération automatique du code de la commission
88 function setvalF($val) {
89 parent::setValF($val);
90
91 // Récupération du code du type de la commission
92 $codeTypeCommission = "";
93 if ( isset($val['commission_type']) && is_numeric($val['commission_type']))
94 $codeTypeCommission = $this->getCodeTypeCommission($val['commission_type']);
95
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 $this->f->addToLog("getCodeTypeCommission(): db->getone(\"".$sql."\")", VERBOSE_MODE);
115 if ( database::isError($codeTypeCommission) ){
116 die();
117 }
118
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
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 * 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 */
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 // 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
185 $uid = $this->f->storage->create($pdf_output, $metadata);
186
187 // 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 //Mise à jour des données
193 if ( $uid != '' && $uid != 'OP_FAILURE' ){
194 // 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 $this->addToLog(
254 _("Finalisation non enregistree")." - ".
255 _("id commission_").$champ." = ".$id." - ".
256 _("uid fichier")." = ".$uid
257 );
258 return -1;
259 }
260 }
261 // Si le document n'a pas été stocké
262 else{
263 $this->addToLog(
264 _("Finalisation non enregistree")." - ".
265 _("id commission_").$champ." = ".$id." - ".
266 _("uid fichier")." = ".$uid
267 );
268 return -1;
269 }
270 }
271
272 /**
273 * Récupération du numéro de dossier d'instruction à ajouter aux métadonnées
274 * @return chaîne vide
275 */
276 protected function getDossier() {
277 return "";
278 }
279 /**
280 * 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 * Récupération du numéro de dossier d'autorisation à ajouter aux métadonnées
288 * @return chaîne vide
289 */
290 protected function getNumDemandeAutor() {
291 return "";
292 }
293 /**
294 * Récupération de la date de demande initiale du dossier à ajouter aux métadonnées
295 * @return chaîne vide
296 */
297 protected function getAnneemoisDemandeAutor() {
298 return "";
299 }
300 /**
301 * Récupération du type de dossier d'instruction à ajouter aux métadonnées
302 * @return chaîne vide
303 */
304 protected function getTypeInstruction() {
305 return "";
306 }
307 /**
308 * Récupération du statut du dossier d'autorisation à ajouter aux métadonnées
309 * @return chaîne vide
310 */
311 protected function getStatutAutorisation() {
312 return "";
313 }
314 /**
315 * Récupération du type de dossier d'autorisation à ajouter aux métadonnées
316 * @return chaîne vide
317 */
318 protected function getTypeAutorisation() {
319 return "";
320 }
321 /**
322 * Récupération de la date d'ajout de document à ajouter aux métadonnées
323 * @return date de l'évènement
324 */
325 protected function getDateEvenementDocument() {
326 return date("Y-m-d");
327 }
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 return "ADS";
334 }
335 /**
336 * Récupération du type du document à ajouter aux métadonnées
337 * @return string Type de document
338 */
339 protected function getTitleOrdreCommission() {
340 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 protected function getTitleCompteRenduCommission() {
347 return "Compte-rendu de commission";
348 }
349
350 }// fin classe
351 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26