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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1135 - (hide annotations)
Mon Dec 31 15:20:51 2012 UTC (12 years, 1 month ago) by vpihour
File size: 11640 byte(s)
Correction d'oubli

1 fraynaud 3 <?php
2 atreal 312 //$Id$
3     //gen openMairie le 10/02/2011 20:33
4 fraynaud 3 require_once ("../gen/obj/evenement.class.php");
5    
6     class evenement extends evenement_gen {
7    
8 fraynaud 7 function evenement($id,&$db,$debug) {
9     $this->constructeur($id,$db,$debug);
10     }// fin constructeur
11 fraynaud 3
12 fraynaud 7 function setType(&$form,$maj) {
13     parent::setType($form,$maj);
14     if ($maj < 2) {
15     //$form->setType('fin_instruction', 'select');
16     $form->setType('accord_tacite', 'select');
17     $form->setType('delai_notification', 'select');
18     $form->setType('delai', 'select');
19     $form->setType('lettretype', 'select');
20 nhaye 433 $form->setType('consultation', 'checkbox');
21 vpihour 1133 $form->setType('dossier_instruction_type','select_multiple');
22 fraynaud 7 }
23 vpihour 1133
24 vpihour 1134 //Ajout du type select multiple sur dossier_instruction_type
25 vpihour 1133 if ($maj==2){ //supprimer
26    
27     $form->setType('dossier_instruction_type','select_multiple_static');
28     }//fin supprimer
29     if ($maj==3){ //consulter
30    
31     $form->setType('dossier_instruction_type','select_multiple_static');
32     }//fin consulter
33 fraynaud 7 }
34 atreal 312
35 fraynaud 7 function setSelect(&$form, $maj,$db,$debug) {
36 vpihour 1133
37     if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))
38     include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");
39    
40 fraynaud 7 parent::setSelect($form, $maj,$db,$debug);
41    
42 atreal 312 if($maj<2){
43     // lettretype
44 vpihour 1133
45 atreal 312 $contenu=array();
46     $res = $db->query($sql_om_lettretype);
47     if (database::isError($res))
48     die($res->getMessage().$sql_om_lettretype);
49     else{
50     if ($debug == 1)
51     echo " la requete ".$sql_om_lettretype." est executee<br>";
52     $contenu[0][0]='';
53     $contenu[1][0]=_('choisir')."&nbsp;"._('lettretype');
54     $k=1;
55     while ($row=& $res->fetchRow()){
56     $contenu[0][$k]=$row[0];
57     $contenu[1][$k]=$row[1];
58     $k++;
59     }
60     $form->setSelect('lettretype',$contenu);
61     }// fin error db
62 fraynaud 7 }
63     // accord_tacite
64     $contenu=array();
65     $contenu[0]=array('Non','Oui');
66     $contenu[1]=array($this->lang('Non'),$this->lang('Oui'));
67     $form->setSelect("accord_tacite",$contenu);
68     // delai_notification
69     $contenu=array();
70     $contenu[0]=array('0','1');
71     $contenu[1]=array('sans','1 '.$this->lang("mois"));
72     $form->setSelect("delai_notification",$contenu);
73     // delai
74     $contenu=array();
75     $contenu[0]=array('0','1','2','3','4','5','6','7','8','9','10','11','12','18','24');
76     $contenu[1]=array('sans',
77     '1 '._("mois"),
78     '2 '._("mois"),
79     '3 '._("mois"),
80     '4 '._("mois"),
81     '5 '._("mois"),
82     '6 '._("mois"),
83     '7 '._("mois"),
84     '8 '._("mois"),
85     '9 '._("mois"),
86     '10 '._("mois"),
87     '11 '._("mois"),
88     '12 '._("mois"),
89     '18 '._("mois"),
90     '24 '._("mois")
91 atreal 312 );
92 fraynaud 7 $form->setSelect("delai",$contenu);
93 vpihour 1133
94     // dossier_instruction_type
95     $this->init_select($form, $db, $maj, $debug, "dossier_instruction_type",
96     $sql_dossier_instruction_type, $sql_dossier_instruction_type_by_id, false);
97 fraynaud 7 }
98 vpihour 1134
99     //Nombre de dossier_instruction_type affiché
100 vpihour 1133 function setTaille(&$form, $maj) {
101    
102     parent::setTaille($form, $maj);
103     $form->setTaille("dossier_instruction_type", 5);
104     }
105    
106 vpihour 1134 //Nombre de dossier_instruction_type maximum
107 vpihour 1133 function setMax(&$form, $maj) {
108    
109     parent::setMax($form, $maj);
110     $form->setMax("dossier_instruction_type", 5);
111     }
112 fraynaud 7
113 vpihour 1133 //Ajoute autant de lien_dossier_instruction_type_evenement que de dossier_instruction_type
114     function triggerajouterapres($id,&$db,$val,$DEBUG) {
115    
116     parent::triggerajouterapres($id,$db,$val,$DEBUG);
117 atreal 312
118 vpihour 1133 //Récupère les données du select multiple
119     $dossier_instruction_type = $this->getPostedValues('dossier_instruction_type');
120    
121     //Ne traite les données que s'il y en a et qu'elles sont correctes
122     if ( is_array($dossier_instruction_type) && count($dossier_instruction_type) > 0 ){
123    
124     $nb_tr = 0;
125 vpihour 1134 /* Va créer autant de lien_dossier_instruction_type_evenement
126     * que de dossier_instruction_type choisis */
127 vpihour 1133 foreach( $dossier_instruction_type as $value ){
128    
129     //Test si la valeur par défaut est sélectionnée
130     if ( $value != "" ) {
131    
132     //Données
133     $donnees = array(
134     'evenement' => $this->valF['evenement'],
135     'dossier_instruction_type' => $value
136     );
137    
138 vpihour 1134 //Ajoute un nouveau lien_dossier_instruction_type_evenement
139     $this->addLienDossierInstructionType($donnees, $db, $DEBUG);
140 vpihour 1133
141     $nb_tr++;
142     }
143     }
144    
145     //Message de confirmation de création de(s) lien_dossier_instruction_type_evenement(s).
146     if ( $nb_tr > 0 ){
147    
148     if ( $nb_tr == 1 ){
149    
150 vpihour 1135 $this->addToMessage(_("Creation de $nb_tr nouvelle liaison
151     realisee avec succes."));
152 vpihour 1133 }
153     else{
154    
155 vpihour 1135 $this->addToMessage(_("Creation de $nb_tr nouvelles liaisions
156     realisee avec succes."));
157 vpihour 1133 }
158     }
159     }
160    
161     }
162    
163     //Fonction générique permettant de récupérer les données d'un champ postées
164     function getPostedValues($champ) {
165    
166     // Récupération des demandeurs dans POST
167     if (isset($_POST[$champ]) ) {
168    
169     return $_POST[$champ];
170     }
171     }
172    
173     //Modification des liens
174     function triggerModifierApres($id, &$db, $val, $DEBUG){
175    
176     parent::triggerModifierApres($id, $db, $val, $DEBUG);
177    
178     //Supprime toutes les liaisions liées à l'événement
179     $this->deleteAllLienDossierInstructionTypeEvenementEvenement($this->valF['evenement'], $db, $DEBUG);
180    
181     //Récupère les données du select multiple
182     $dossier_instruction_type = $this->getPostedValues('dossier_instruction_type');
183    
184     //Ne traite les données que s'il y en a et qu'elles sont correctes
185     if ( is_array($dossier_instruction_type) && count($dossier_instruction_type) > 0 ){
186    
187     $nb_tr = 0;
188     //Va créer autant de lien_dossier_instruction_type_evenement que de dossier_instruction_type choisis
189     foreach( $dossier_instruction_type as $value ){
190    
191     //Test si la valeur par défaut est sélectionnée
192     if ( $value != "" ) {
193    
194     //Données
195     $donnees = array(
196     'evenement' => $this->valF['evenement'],
197     'dossier_instruction_type' => $value
198     );
199    
200 vpihour 1134 //Ajoute un nouveau lien_dossier_instruction_type_evenement
201     $this->addLienDossierInstructionType($donnees, $db, $DEBUG);
202 vpihour 1133
203     $nb_tr++;
204     }
205     }
206    
207 vpihour 1134 //Message de confirmation de création de(s) lien_dossier_instruction_type_evenement.
208 vpihour 1133 if ( $nb_tr > 0 ){
209    
210 vpihour 1135 $this->addToMessage(_("Mise à jour des liaisons realisee avec succes."));
211 vpihour 1133 }
212     }
213     }
214    
215     //Ajoute un nouveau lien_dossier_instruction_type_evenement
216     // $data array de données
217 vpihour 1134 function addLienDossierInstructionType($data, $db, $DEBUG){
218 vpihour 1133
219     require_once '../obj/lien_dossier_instruction_type_evenement.class.php';
220    
221     $lien_dossier_instruction_type_evenement = new lien_dossier_instruction_type_evenement("]",$db,$DEBUG);
222     $lien_dossier_instruction_type_evenement->valF = "";
223    
224     //Données
225     $vallien_dossier_instruction_type_evenement['lien_dossier_instruction_type_evenement']=NULL;
226    
227     if ( is_array($data) ){
228    
229     foreach ($data as $key => $value) {
230    
231     $vallien_dossier_instruction_type_evenement[$key]=$value;
232     }
233     }
234    
235     $lien_dossier_instruction_type_evenement->ajouter($vallien_dossier_instruction_type_evenement, $db, $DEBUG);
236     }
237    
238     //Supprime toutes les lien_dossier_instruction_type_evenement liées à un événement
239     function deleteAllLienDossierInstructionTypeEvenementEvenement($id, $db, $DEBUG){
240    
241     //Création de la requête
242     $sql = "DELETE FROM
243     ".DB_PREFIXE."lien_dossier_instruction_type_evenement
244     WHERE
245     evenement = $id";
246    
247     //Exécution de la requête
248     $res = $db->query($sql);
249    
250     //Ajout au log
251     $this->f->addToLog("deleteAllLienDossierInstructionTypeEvenementEvenement(): db->query(\"".$sql."\");", VERBOSE_MODE);
252     $this->f->isDatabaseError();
253     }
254    
255     //Suppression de toutes les lien_dossier_instruction_type_evenement avec evenement
256     function triggersupprimer($id, &$db, $val, $DEBUG){
257    
258 vpihour 1134 //Supprime toutes les lien_dossier_instruction_type_evenement liées à l'evenement
259 vpihour 1133 $this->deleteAllLienDossierInstructionTypeEvenementEvenement($id, $db, $DEBUG);
260     }
261    
262     /* Surcharge de la fonction cleSecondaire pour qu'elle ne vérifie pas le lien avec
263 vpihour 1134 * lien_dossier_instruction_type_evenement qui sera supprimé juste après*/
264 vpihour 1133 function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) {
265    
266     // Verification de la cle secondaire : bible
267     $this->rechercheTable($db, "bible", "evenement", $id);
268     // Verification de la cle secondaire : demande_type
269     $this->rechercheTable($db, "demande_type", "evenement", $id);
270     // Verification de la cle secondaire : evenement
271     $this->rechercheTable($db, "evenement", "evenement_retour_ar", $id);
272     // Verification de la cle secondaire : evenement
273     $this->rechercheTable($db, "evenement", "evenement_suivant_tacite", $id);
274     // Verification de la cle secondaire : instruction
275     $this->rechercheTable($db, "instruction", "evenement", $id);
276     // Verification de la cle secondaire : lien_evenement_dossier_autorisation_type
277     $this->rechercheTable($db, "lien_evenement_dossier_autorisation_type", "evenement", $id);
278     // Verification de la cle secondaire : transition
279     $this->rechercheTable($db, "transition", "evenement", $id);
280     }
281    
282 vpihour 1134 //Affichage des dossier_instruction_type anciennement liés
283 vpihour 1133 function setVal(&$form, $maj, $validation, &$db) {
284    
285     parent::setVal($form, $maj, $validation, $db);
286    
287     if($maj == 2 && $validation == 1 ) {
288     $form->setVal("dossier_instruction_type",$this->val[count($this->val)-1]);
289     }
290     }
291    
292 fraynaud 3 }// fin classe
293     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26