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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2002 - (hide annotations)
Wed Jun 12 10:52:42 2013 UTC (11 years, 7 months ago) by softime
File size: 12741 byte(s)
- Dans instruction.class.php mettre le libelle de l'évenement dans type_doc
- Ajouter métadonnées dans les classes consultation et commisson
- Modification des tests pour éviter les aléatoires

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26