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

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

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

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

Legend:
Removed from v.433  
changed lines
  Added in v.1133

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26