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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2805 - (show annotations)
Tue Mar 11 14:55:03 2014 UTC (10 years, 10 months ago) by nmeucci
File size: 13063 byte(s)
Masquage de champs dans tous les formulaires des commissions et dans le
  formulaire d'ajout d'instructions. Suppression de colonnes dans le tableau
  listant les commissions. Mise en statique des champs 'date de retour RAR'
  dans l'ajout d'une instruction et 'lu' dans l'onglet commission du DI en modif.

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 //Mise à jour des données
188 if ( $uid != '' && $uid != 'OP_FAILURE' ){
189 // Logger
190 $this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE);
191 // Recuperation de la valeur de la cle primaire de l'objet
192 if($this->getVal($this->clePrimaire)!='')
193 $id = $this->getVal($this->clePrimaire);
194 else
195 $id=$this->id;
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(_("Finalisation non enregistree"));
254 return -1;
255 }
256 }
257 // Si le document n'a pas été stocké
258 else{
259 return -1;
260 }
261 }
262
263 /**
264 * Récupération du numéro de dossier d'instruction à ajouter aux métadonnées
265 * @return chaîne vide
266 */
267 protected function getDossier() {
268 return "";
269 }
270 /**
271 * Récupération la version du dossier d'instruction à ajouter aux métadonnées
272 * @return chaîne vide
273 */
274 protected function getDossierVersion() {
275 return "";
276 }
277 /**
278 * Récupération du numéro de dossier d'autorisation à ajouter aux métadonnées
279 * @return chaîne vide
280 */
281 protected function getNumDemandeAutor() {
282 return "";
283 }
284 /**
285 * Récupération de la date de demande initiale du dossier à ajouter aux métadonnées
286 * @return chaîne vide
287 */
288 protected function getAnneemoisDemandeAutor() {
289 return "";
290 }
291 /**
292 * Récupération du type de dossier d'instruction à ajouter aux métadonnées
293 * @return chaîne vide
294 */
295 protected function getTypeInstruction() {
296 return "";
297 }
298 /**
299 * Récupération du statut du dossier d'autorisation à ajouter aux métadonnées
300 * @return chaîne vide
301 */
302 protected function getStatutAutorisation() {
303 return "";
304 }
305 /**
306 * Récupération du type de dossier d'autorisation à ajouter aux métadonnées
307 * @return chaîne vide
308 */
309 protected function getTypeAutorisation() {
310 return "";
311 }
312 /**
313 * Récupération de la date d'ajout de document à ajouter aux métadonnées
314 * @return date de l'évènement
315 */
316 protected function getDateEvenementDocument() {
317 return date("Y-m-d");
318 }
319 /**
320 * Récupération du groupe d'instruction à ajouter aux métadonnées
321 * @return string Groupe d'instruction
322 */
323 protected function getGroupeInstruction() {
324 return "ADS";
325 }
326 /**
327 * Récupération du type du document à ajouter aux métadonnées
328 * @return string Type de document
329 */
330 protected function getTitleOrdreCommission() {
331 return "Ordre du jour de commission";
332 }
333 /**
334 * Récupération du type du document à ajouter aux métadonnées
335 * @return string Type de document
336 */
337 protected function getTitleCompteRenduCommission() {
338 return "Compte-rendu de commission";
339 }
340
341 }// fin classe
342 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26