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

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

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

revision 1307 by vpihour, Tue Mar 5 14:19:22 2013 UTC revision 1406 by nhaye, Thu Mar 14 17:05:37 2013 UTC
# Line 13  class demande extends demande_gen { Line 13  class demande extends demande_gen {
13                                  "delegataire" => "",                                  "delegataire" => "",
14                                  "petitionnaire" => array());                                  "petitionnaire" => array());
15    
16        var $autreDossierEnCour;
17    
18      function demande($id,&$db,$debug) {      function demande($id,&$db,$debug) {
19          $this->constructeur($id,$db,$debug);          $this->constructeur($id,$db,$debug);
20      }// fin constructeur      }// fin constructeur
# Line 57  class demande extends demande_gen { Line 59  class demande extends demande_gen {
59              }              }
60          }          }
61      }      }
62        function getDataSubmit() {
63    
64            $datasubmit = parent::getDataSubmit();
65            if($this->getParameter("idx_dossier") != "") {
66                $datasubmit .= "&idx_dossier=".$this->getParameter("idx_dossier");
67            }
68            return $datasubmit;
69        }
70            
71      /**      /**
72       * Méthode de verification du contenu       * Méthode de verification du contenu
# Line 69  class demande extends demande_gen { Line 79  class demande extends demande_gen {
79              $this->addToMessage("La saisie d'un petitionnaire principal est obligatoire.");              $this->addToMessage("La saisie d'un petitionnaire principal est obligatoire.");
80          }          }
81      }      }
82    
83        /**
84         * Méthode permettant de vérifier si un autre dossier d'instruction est en cour
85         * pour le même dossier d'autorisation.
86         */
87        function autreDossierEnCour() {
88    
89            $idx_dossier = $this->getParameter("idx_dossier");
90    
91            // Lorsqu'on se trouve sur un dossier existant
92            if(isset($idx_dossier) AND $idx_dossier != "") {
93    
94                // Si on a pas encore défini si un autre dossier est en cours
95                if(!isset($this->autreDossierEnCour)) {
96    
97                    if(file_exists ("../sql/".$this->db->phptype."/".$this->table.".form.inc.php"))
98                        include ("../sql/".$this->db->phptype."/".$this->table.".form.inc.php");
99                    elseif(file_exists ("../sql/".$this->db->phptype."/".$this->table.".form.inc"))
100                        include ("../sql/".$this->db->phptype."/".$this->table.".form.inc");
101                    $request = str_replace('<idx>', $idx_dossier,
102                                             $sql_autreDossierEnCour);
103    
104                    $nbDossier = $this->db->getOne($request);
105                    $this->f->addToLog("db->getone(\"".$request."\");", VERBOSE_MODE);
106                    $this->f->isDatabaseError($nbDossier);
107                    // Si un dossier est en cour return true
108                    if($nbDossier>0) {
109                        
110                        $this->autreDossierEnCour = true;
111                    } else {
112    
113                        $this->autreDossierEnCour = false;
114                    }
115    
116                }
117            } else {
118                $this->autreDossierEnCour = false;
119            }
120    
121            return $this->autreDossierEnCour;
122        }
123    
124        /**
125         * Configuration des select
126         */
127        function setSelect(&$form, $maj,&$db,$debug) {
128            parent::setSelect($form, $maj,$db,$debug);
129    
130            if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))
131                include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");
132            elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc"))
133                include ("../sql/".$db->phptype."/".$this->table.".form.inc");
134    
135            //Récupération de paramètre pour le rechargement ajax du select
136            $idx_dossier = $this->getParameter("idx_dossier");
137            $datd = $this->getParameter("datd");
138    
139            $contenu = array();
140    
141            // Ajout de filtre sur la requête (initial)
142            if(isset($idx_dossier) AND $idx_dossier != "") {
143                $sql_demande_type .= " WHERE demande_nature = 2 ";
144            } else {
145                $sql_demande_type .= " WHERE demande_nature = 1 ";
146            }
147            if(isset($_POST["dossier_autorisation_type_detaille"]) AND $_POST["dossier_autorisation_type_detaille"] != "") {
148                $datd = $_POST["dossier_autorisation_type_detaille"];
149            }
150            // Ajout de filtre sur la requête (dossier_autorisation_type_detaille)
151            if(isset($datd) AND $datd != "") {
152                $sql_demande_type .= " AND dossier_autorisation_type_detaille = ".$datd;
153            } else {
154                $sql_demande_type .= " AND dossier_autorisation_type_detaille = ".$this->getVal("dossier_autorisation_type_detaille");
155            }
156    
157            $res = $db->query($sql_demande_type);
158    
159            // logger
160            $this->addToLog("setSelect()[gen/obj]: db->query(\"".$sql_demande_type."\");",
161                            VERBOSE_MODE);
162            $this->f->isDatabaseError($res);
163    
164            $contenu[0][0] = '';
165            $contenu[1][0] = _('choisir')."&nbsp;"._("demande_type");
166    
167            $k=1;
168            while($row =& $res->fetchRow()){
169                $display = true;
170    
171                // Vérification des contraintes
172                if($row[2] != "") {
173                    foreach(explode(";", $row[2]) as $meth) {
174                        if(method_exists($this, $row[2])) {
175                            // Si une des contrainte est validée on affiche pas l'option
176                            if($this->$row[2]() === true) {
177                                $display = false;
178                            }
179                       }
180                    }
181                }
182                // Affichage ou non de l'option
183                if($display) {
184                    $contenu[0][$k] = $row[0];
185                    $contenu[1][$k] = $row[1];
186                    $k++;
187                }
188            }
189    
190            $form->setSelect("demande_type", $contenu);
191    
192        }
193      /*      /*
194      * Ajout du fielset      * Ajout du fielset
195      * Add fieldset      * Add fieldset
# Line 165  class demande extends demande_gen { Line 286  class demande extends demande_gen {
286          $valAuto['exercice']=NULL;          $valAuto['exercice']=NULL;
287          $valAuto['insee']=NULL;          $valAuto['insee']=NULL;
288          $valAuto['arrondissement']=NULL;          $valAuto['arrondissement']=NULL;
289          $valAuto['etat']=1;          $valAuto['etat_dossier_autorisation']=1;
290          $valAuto['erp_numero_batiment']=NULL;          $valAuto['erp_numero_batiment']=NULL;
291          $valAuto['erp_ouvert']=NULL;          $valAuto['erp_ouvert']=NULL;
292          $valAuto['erp_arrete_decision']=NULL;          $valAuto['erp_arrete_decision']=NULL;
293          $valAuto['dossier_autorisation_type_detaille']=$this->valF['dossier_autorisation_type_detaille'];          $valAuto['dossier_autorisation_type_detaille']=$this->valF['dossier_autorisation_type_detaille'];
294          $valAuto['depot_initial']=$this->valF['date_demande'];          $valAuto['depot_initial']=$this->dateDBToForm($this->valF['date_demande']);
295          $valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales'];          $valAuto['terrain_references_cadastrales']=$this->valF['terrain_references_cadastrales'];
296          $valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero'];          $valAuto['terrain_adresse_voie_numero']=$this->valF['terrain_adresse_voie_numero'];
297          $valAuto['complement']=$this->valF['complement'];          $valAuto['complement']=$this->valF['complement'];
# Line 277  class demande extends demande_gen { Line 398  class demande extends demande_gen {
398      }      }
399    
400      /**      /**
401         * Méthode permettant d'ajouter les données techniques au dossier d'instruction
402         */
403        function ajoutDonneesTechniques($id, &$db, $val, $DEBUG){
404            
405            require_once '../obj/donnees_techniques.class.php';
406            $donnees_techniques = new donnees_techniques("]",$db,$DEBUG);
407            
408            // Champs tous à NULL car seul le champ concernant le dossier d'instruction sera rempli
409            foreach($donnees_techniques->champs as $value) {
410                $val[$value] = NULL;
411            }
412                    
413            // Ajout du numéro de dossier d'instruction
414            $val['dossier_instruction']=$this->valF['dossier_instruction'];
415    
416            // Ajout des données techniques    
417            $donnees_techniques->ajouter($val, $db, $DEBUG);
418            $this->f->isDatabaseError();
419        }
420    
421        /**
422       * Ajout des liens demandeurs / dossier d'autorisation       * Ajout des liens demandeurs / dossier d'autorisation
423       **/       **/
424      function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) {      function ajoutLiensDossierAutorisation($id, &$db, $val, $DEBUG) {
# Line 415  class demande extends demande_gen { Line 557  class demande extends demande_gen {
557              if($dossier_type['dossier_instruction_type'] != NULL) {              if($dossier_type['dossier_instruction_type'] != NULL) {
558                  $this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']);                  $this->ajoutDossierInstruction($id, $db, $val, $DEBUG, $dossier_type['dossier_instruction_type']);
559                  $this -> addToMessage(_("Creation du dossier d'instruction no").$this->valF['dossier_instruction']);                  $this -> addToMessage(_("Creation du dossier d'instruction no").$this->valF['dossier_instruction']);
560                    
561                    //Ajout des données techniques au dossier d'instruction
562                    $this->ajoutDonneesTechniques($id, $db, $val, $DEBUG);
563              }              }
564                            
565              /*Création du lien de téléchargement de récépissé de demande*/              /*Création du lien de téléchargement de récépissé de demande*/
# Line 497  class demande extends demande_gen { Line 642  class demande extends demande_gen {
642                      $this->valF['instruction_recepisse'] = $instruction->valF['instruction'];                      $this->valF['instruction_recepisse'] = $instruction->valF['instruction'];
643                      $this -> addToMessage("<br/><a                      $this -> addToMessage("<br/><a
644                          class='lien'                          class='lien'
645                          href='../pdf/pdflettretype.php?obj=".$lettretype."&amp;idx=".$this->valF['dossier_instruction']."'                          href='../pdf/pdflettretype.php?obj=".$lettretype."&amp;idx=".$instruction->valF['instruction']."'
646                          target='_blank'>                          target='_blank'>
647                              <span                              <span
648                              class=\"om-icon om-icon-16 om-icon-fix pdf-16\"                              class=\"om-icon om-icon-16 om-icon-fix pdf-16\"
# Line 728  class demande extends demande_gen { Line 873  class demande extends demande_gen {
873       **/       **/
874      function listeDemandeur($from, $id) {      function listeDemandeur($from, $id) {
875          // Récupération des demandeurs de la base          // Récupération des demandeurs de la base
876          $sql = "SELECT demandeur.demandeur,          if(isset($this->valF['demande_type']) AND $this->getCodeDemandeType($this->valF['demande_type']) != "DT") {
877                          demandeur.type_demandeur,              $sql = "SELECT demandeur.demandeur,
878                          lien_".$from."_demandeur.petitionnaire_principal                              demandeur.type_demandeur,
879              FROM ".DB_PREFIXE."lien_".$from."_demandeur                              lien_".$from."_demandeur.petitionnaire_principal
880              INNER JOIN ".DB_PREFIXE."demandeur                  FROM ".DB_PREFIXE."lien_".$from."_demandeur
881              ON demandeur.demandeur=lien_".$from."_demandeur.demandeur                  INNER JOIN ".DB_PREFIXE."demandeur
882              WHERE ".$from." = '".$id."'";                  ON demandeur.demandeur=lien_".$from."_demandeur.demandeur
883          $res = $this->f->db->query($sql);                  WHERE ".$from." = '".$id."'";
884          $this->f->addToLog("listeDemandeur() : ".$sql);              $res = $this->f->db->query($sql);
885          $this->f->isDatabaseError($res);              $this->f->addToLog("listeDemandeur() : ".$sql);
886          // Stoquage du résultat dans un tableau              $this->f->isDatabaseError($res);
887          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){              // Stoquage du résultat dans un tableau
888              if ($row['petitionnaire_principal'] == 't' AND              while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
889                  $row['type_demandeur']=="petitionnaire") {                  if ($row['petitionnaire_principal'] == 't' AND
890                  $this->valIdDemandeur['petitionnaire_principal']=$row['demandeur'];                      $row['type_demandeur']=="petitionnaire") {
891              } elseif ($row['petitionnaire_principal'] == 'f' AND                      $this->valIdDemandeur['petitionnaire_principal']=$row['demandeur'];
892                  $row['type_demandeur']=="petitionnaire"){                  } elseif ($row['petitionnaire_principal'] == 'f' AND
893                  $this->valIdDemandeur['petitionnaire'][]=$row['demandeur'];                      $row['type_demandeur']=="petitionnaire"){
894              } elseif ($row['type_demandeur']=="delegataire"){                      $this->valIdDemandeur['petitionnaire'][]=$row['demandeur'];
895                  $this->valIdDemandeur['delegataire']=$row['demandeur'];                  } elseif ($row['type_demandeur']=="delegataire"){
896                        $this->valIdDemandeur['delegataire']=$row['demandeur'];
897                    }
898              }              }
899          }          }
900      }      }

Legend:
Removed from v.1307  
changed lines
  Added in v.1406

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26