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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1134 - (hide annotations)
Mon Dec 31 15:17:38 2012 UTC (12 years, 1 month ago) by vpihour
File size: 7802 byte(s)
Ajout des commentaires

1 fraynaud 4 <?php
2     //$Id$
3     //gen openMairie le 10/02/2011 22:10
4     require_once ("../gen/obj/etat.class.php");
5    
6     class etat extends etat_gen {
7    
8 fraynaud 6 function etat($id,&$db,$debug) {
9     $this->constructeur($id,$db,$debug);
10     }// fin constructeur
11 fraynaud 4
12 vpihour 1134 //Ajout du type select multiple sur evenement
13 vpihour 1130 function setType(&$form,$maj) {
14    
15     parent::setType($form, $maj);
16    
17     //type
18     if ($maj==0){ //ajout
19    
20     $form->setType('evenement','select_multiple');
21     }// fin ajout
22     if ($maj==1){ //modifier
23    
24     $form->setType('evenement','select_multiple');
25     }// fin modifier
26     if ($maj==2){ //supprimer
27    
28     $form->setType('evenement','select_multiple_static');
29     }//fin supprimer
30     if ($maj==3){ //consulter
31    
32     $form->setType('evenement','select_multiple_static');
33     }//fin consulter
34     }
35    
36     function setSelect(&$form, $maj,&$db,$debug) {
37    
38     if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))
39     include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");
40     elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc"))
41     include ("../sql/".$db->phptype."/".$this->table.".form.inc");
42    
43     parent::setSelect($form, $maj, $db, $debug);
44    
45     // evenement
46     $this->init_select($form, $db, $maj, $debug, "evenement",
47     $sql_evenement, $sql_evenement_by_id, false);
48     }
49    
50 vpihour 1134 //Nombre de evenement affiché
51 vpihour 1130 function setTaille(&$form, $maj) {
52    
53     parent::setTaille($form, $maj);
54     $form->setTaille("evenement", 5);
55     }
56    
57 vpihour 1134 //Nombre de evenement maximum
58 vpihour 1130 function setMax(&$form, $maj) {
59    
60     parent::setMax($form, $maj);
61     $form->setMax("evenement", 5);
62     }
63    
64     //Ajoute autant de transitions que d'événements
65     function triggerajouterapres($id,&$db,$val,$DEBUG) {
66    
67     parent::triggerajouterapres($id,$db,$val,$DEBUG);
68    
69     //Récupère les données du select multiple
70     $evenements = $this->getPostedValues('evenement');
71    
72     //Ne traite les données que s'il y en a et qu'elles sont correctes
73     if ( is_array($evenements) && count($evenements) > 0 ){
74    
75     $nb_tr = 0;
76     //Va créer autant de transition que d'événements choisis
77     foreach( $evenements as $value ){
78    
79     //Test si la valeur par défaut est sélectionnée
80     if ( $value != "" ) {
81    
82     //Données
83     $donnees = array(
84     'etat' => $this->valF['etat'],
85     'evenement' => $value
86     );
87    
88     //Ajoute une nouvelle transition
89     $this->addTransition($donnees, $db, $DEBUG);
90    
91     $nb_tr++;
92     }
93     }
94    
95     //Message de confirmation de création de(s) transition(s).
96     if ( $nb_tr > 0 ){
97    
98     if ( $nb_tr == 1 ){
99    
100     $this->addToMessage("Creation de $nb_tr nouvelle transition
101     realisee avec succes.");
102     }
103     else{
104    
105     $this->addToMessage("Creation de $nb_tr nouvelles transitions
106     realisee avec succes.");
107     }
108     }
109     }
110    
111     }
112    
113     //Fonction générique permettant de récupérer les données d'un champ postées
114     function getPostedValues($champ) {
115    
116     // Récupération des demandeurs dans POST
117     if (isset($_POST[$champ]) ) {
118    
119     return $_POST[$champ];
120     }
121     }
122    
123     //Modification des liens
124     function triggerModifierApres($id, &$db, $val, $DEBUG){
125    
126     parent::triggerModifierApres($id, $db, $val, $DEBUG);
127    
128     //Supprime toutes les transitions liées à l'état
129     $this->deleteAllTransitionEtat($this->valF['etat'], $db, $DEBUG);
130    
131     //Récupère les données du select multiple
132     $evenements = $this->getPostedValues('evenement');
133    
134     //Ne traite les données que s'il y en a et qu'elles sont correctes
135     if ( is_array($evenements) && count($evenements) > 0 ){
136    
137     $nb_tr = 0;
138     //Va créer autant de transition que d'événements choisis
139     foreach( $evenements as $value ){
140    
141     //Test si la valeur par défaut est sélectionnée
142     if ( $value != "" ) {
143    
144     //Données
145     $donnees = array(
146     'etat' => $this->valF['etat'],
147     'evenement' => $value
148     );
149    
150     //Ajoute une nouvelle transition
151     $this->addTransition($donnees, $db, $DEBUG);
152    
153     $nb_tr++;
154     }
155     }
156    
157     //Message de confirmation de création de(s) transition(s).
158     if ( $nb_tr > 0 ){
159    
160     $this->addToMessage("Mise à jour des liaisons avec transition
161     realisee avec succes.");
162     }
163     }
164     }
165    
166     //Ajoute une nouvelle transition
167     // $data array de données
168     function addTransition($data, $db, $DEBUG){
169    
170     require_once '../obj/transition.class.php';
171    
172     $transition = new transition("]",$db,$DEBUG);
173     $transition->valF = "";
174    
175     //Données
176     $valTransi['transition']=NULL;
177    
178     if ( is_array($data) ){
179    
180     foreach ($data as $key => $value) {
181    
182     $valTransi[$key]=$value;
183     }
184     }
185    
186     $transition->ajouter($valTransi, $db, $DEBUG);
187     }
188    
189     //Supprime toutes les transitions liées à un état
190     function deleteAllTransitionEtat($id, $db, $DEBUG){
191    
192     //Création de la requête
193     $sql = "DELETE FROM ".DB_PREFIXE."transition WHERE etat like '$id'";
194    
195     //Exécution de la requête
196     $res = $db->query($sql);
197    
198     //Ajout au log
199     $this->f->addToLog("deleteAllTransitionEtat(): db->query(\"".$sql."\");", VERBOSE_MODE);
200     $this->f->isDatabaseError();
201     }
202    
203     //Suppression de toutes les liaisons avec transition
204     function triggersupprimer($id, &$db, $val, $DEBUG){
205    
206     //Supprime toutes les transitions liées à l'état
207     $this->deleteAllTransitionEtat($id, $db, $DEBUG);
208     }
209    
210     /* Surcharge de la fonction cleSecondaire pour qu'elle ne vérifie pas le lien avec
211     * transition qui sera supprimé juste après*/
212     function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) {
213    
214     // Verification de la cle secondaire : dossier
215     $this->rechercheTable($db, "dossier", "etat", $id);
216     // Verification de la cle secondaire : dossier_autorisation
217     $this->rechercheTable($db, "dossier_autorisation", "etat", $id);
218     // Verification de la cle secondaire : evenement
219     $this->rechercheTable($db, "evenement", "etat", $id);
220     // Verification de la cle secondaire : instruction
221     $this->rechercheTable($db, "instruction", "etat", $id);
222     }
223    
224 vpihour 1134 //Affichage des evenement anciennement liés
225 vpihour 1130 function setVal(&$form, $maj, $validation, &$db) {
226    
227     parent::setVal($form, $maj, $validation, $db);
228    
229     if($maj == 2 && $validation == 1 ) {
230     $form->setVal("evenement",$this->val[3]);
231     }
232     }
233 fraynaud 4 }// fin classe
234     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26