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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1949 - (hide annotations)
Wed May 29 15:42:34 2013 UTC (11 years, 8 months ago) by nhaye
File size: 12158 byte(s)
Ajout de commentaires

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26