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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.404  
changed lines
  Added in v.1130

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26