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

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

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

revision 3087 by vpihour, Fri Jul 4 13:27:55 2014 UTC revision 3277 by vpihour, Thu Feb 5 16:41:31 2015 UTC
# Line 651  class dossier extends dossier_gen { Line 651  class dossier extends dossier_gen {
651                  $form->setType('numero_versement_archive', 'static');                  $form->setType('numero_versement_archive', 'static');
652                  $form->setType('enjeu_urba', 'checkboxstatic');                  $form->setType('enjeu_urba', 'checkboxstatic');
653                  $form->setType('enjeu_erp', 'checkboxstatic');                  $form->setType('enjeu_erp', 'checkboxstatic');
                 $form->setType('terrain_references_cadastrales','referencescadastralesstatic');  
                 $form->setType('terrain_adresse_voie_numero','static');  
                 $form->setType('terrain_adresse_voie','static');  
                 $form->setType('terrain_adresse_lieu_dit','static');  
                 $form->setType('terrain_adresse_localite','static');  
                 $form->setType('terrain_adresse_code_postal','static');  
                 $form->setType('terrain_adresse_bp','static');  
                 $form->setType('terrain_adresse_cedex','static');  
                 $form->setType('terrain_superficie','static');  
654              }              }
655          }          }
656    
# Line 674  class dossier extends dossier_gen { Line 665  class dossier extends dossier_gen {
665          if ($maj == 0) {          if ($maj == 0) {
666              $form->setType('dossier_autorisation', 'select');              $form->setType('dossier_autorisation', 'select');
667          }          }
         // On cache enjeu_ERP si l'option n'est pas activée  
         if($this->f->getParameter('option_erp') != 'true') {  
             $form->setType('erp', 'hidden');  
             $form->setType('enjeu_erp', 'hidden');  
         }  
668    
669          // En mode modifier, supprimer et consulter          // En mode modifier, supprimer et consulter
670          if ($maj != 0) {          if ($maj != 0) {
# Line 693  class dossier extends dossier_gen { Line 679  class dossier extends dossier_gen {
679          $form->setType('date_chantier', 'hiddendate');          $form->setType('date_chantier', 'hiddendate');
680          $form->setType('date_achevement', 'hiddendate');          $form->setType('date_achevement', 'hiddendate');
681          $form->setType('date_conformite', 'hiddendate');          $form->setType('date_conformite', 'hiddendate');
682            
683            // On cache les champs geom si aucun SIG n'est configuré
684            if($this->f->getParameter('option_sig') == ''
685                || $this->f->getParameter('option_sig') == 'aucun'){
686                $form->setType('geom', 'hidden');
687                $form->setType('geom1', 'hidden');
688            }
689      }      }
690    
691      function setVal(&$form,$maj,$validation){      function setVal(&$form,$maj,$validation){
# Line 733  class dossier extends dossier_gen { Line 726  class dossier extends dossier_gen {
726      }      }
727    
728      function setSelect(&$form, $maj,&$db,$debug) {      function setSelect(&$form, $maj,&$db,$debug) {
729          parent::setSelect($form, $maj, $db, $debug);          // XXX Commenté pour patcher le problème de montée en charge de la base
730            // de données en cas de reprise de données d'un gros volume de dossier
731            // d'instruction
732            //parent::setSelect($form, $maj, $db, $debug);
733    
734          //optimisation sur table importante parcelle -> pas d appel methode parent          //optimisation sur table importante parcelle -> pas d appel methode parent
735          if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))          if(file_exists ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php"))
736                  include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");                  include ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php");
737    
738          /*          /*
739           *  Pour chaque init_select d'un select non modifiable on teste           *  Pour chaque init_select d'un select non modifiable on teste
# Line 1045  class dossier extends dossier_gen { Line 1041  class dossier extends dossier_gen {
1041          }          }
1042                    
1043                    
1044          if ($this->f->getParameter('option_erp') != "") {          if ($this->f->getParameter('option_erp') === 'true') {
1045              // envoi du message a ERP en cas d'un depot du dossier dat              // envoi du message a ERP en cas d'un depot du dossier dat
1046              if ($this->f->getDATDCode($this->valF['dossier']) ==              if ($this->f->getDATDCode($this->valF['dossier']) ==
1047                      $this->f->getParameter('erp_depot_dossier_dat')) {                      $this->f->getParameter('erp_depot_dossier_dat')) {
# Line 1144  class dossier extends dossier_gen { Line 1140  class dossier extends dossier_gen {
1140                      }                      }
1141                  }                  }
1142              }              }
1143          } // fin de if ($this->f->getParameter('option_erp') != "")            } // fin de if ($this->f->getParameter('option_erp') === 'true')
1144            
1145            //On ajoute les données techniques
1146            if($this->ajoutDonneesTechniquesDI($id, $db, $val, $DEBUG) === false){
1147                //
1148                $this -> addToMessage(
1149                    _("Erreur lors de l'enregistrement du dossier.")." ".
1150                    _("Contactez votre  administrateur.")
1151                );
1152                $this->correct = false;
1153                return false;
1154            }
1155            
1156          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1157          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1158          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);
# Line 1421  class dossier extends dossier_gen { Line 1428  class dossier extends dossier_gen {
1428          }          }
1429                                    
1430          // verification si envoi vers ERP est active          // verification si envoi vers ERP est active
1431          if ($this->f->getParameter('option_erp') != "") {          if ($this->f->getParameter('option_erp') === 'true') {
1432              if ($this->val[array_search('a_qualifier', $this->champs)] == 't'              if ($this->val[array_search('a_qualifier', $this->champs)] == 't'
1433                  && $this->valF['a_qualifier'] === false) {                  && $this->valF['a_qualifier'] === false) {
1434                                                                    
# Line 1502  class dossier extends dossier_gen { Line 1509  class dossier extends dossier_gen {
1509                      }                      }
1510                  }                  }
1511              }              }
1512          } // fin de if($this->f->getParameter('option_erp'))            } // fin de if($this->f->getParameter('option_erp') === 'true')  
1513    
1514          // Ajout ou modification des demandeurs          // Ajout ou modification des demandeurs
1515          $this->insertLinkDemandeDemandeur($db, $DEBUG);          $this->insertLinkDemandeDemandeur($db, $DEBUG);
# Line 1785  class dossier extends dossier_gen { Line 1792  class dossier extends dossier_gen {
1792       **/       **/
1793      function getPostedValues() {      function getPostedValues() {
1794          // Récupération des demandeurs dans POST          // Récupération des demandeurs dans POST
1795          if (isset($_POST['petitionnaire_principal']) OR          if ($this->f->get_submitted_post_value('petitionnaire_principal') !== null OR
1796                  isset($_POST['delegataire']) OR                  $this->f->get_submitted_post_value('delegataire') !== null OR
1797                      isset($_POST['petitionnaire'])) {                      $this->f->get_submitted_post_value('petitionnaire') !== null) {
1798              if( isset($_POST['petitionnaire_principal']) AND              if($this->f->get_submitted_post_value('petitionnaire_principal') !== null AND
1799                      !empty($_POST['petitionnaire_principal'])) {                      $this->f->get_submitted_post_value('petitionnaire_principal') != '') {
1800                  $this->postedIdDemandeur['petitionnaire_principal'] = $_POST['petitionnaire_principal'];                  $this->postedIdDemandeur['petitionnaire_principal'] = $this->f->get_submitted_post_value('petitionnaire_principal');
1801              }              }
1802              if( isset($_POST['delegataire']) AND              if($this->f->get_submitted_post_value('delegataire') !== null AND
1803                      !empty($_POST['delegataire'])) {                      $this->f->get_submitted_post_value('delegataire') != '') {
1804                  $this->postedIdDemandeur['delegataire'] = $_POST['delegataire'];                  $this->postedIdDemandeur['delegataire'] = $this->f->get_submitted_post_value('delegataire');
1805              }              }
1806              if( isset($_POST['petitionnaire']) AND              if($this->f->get_submitted_post_value('petitionnaire') !== null AND
1807                      !empty($_POST['petitionnaire'])) {                      $this->f->get_submitted_post_value('petitionnaire') != '') {
1808                  $this->postedIdDemandeur['petitionnaire'] = $_POST['petitionnaire'];                  $this->postedIdDemandeur['petitionnaire'] = $this->f->get_submitted_post_value('petitionnaire');
1809              }              }
1810          }          }
1811      }      }
# Line 2075  class dossier extends dossier_gen { Line 2082  class dossier extends dossier_gen {
2082           */           */
2083          $this->listeDemandeur("dossier", $this->getVal('dossier'));          $this->listeDemandeur("dossier", $this->getVal('dossier'));
2084    
2085          if($maj < 2 AND !$this->correct AND !$this->f->isUserQualificateur()) {          if($maj < 2 AND !$this->correct) {
2086              $linkable = true;              $linkable = true;
2087          } else {          } else {
2088              $linkable = false;              $linkable = false;
# Line 2267  class dossier extends dossier_gen { Line 2274  class dossier extends dossier_gen {
2274                  echo "tab.php?";                  echo "tab.php?";
2275              }              }
2276              // Permet de retourner sur la bonne page              // Permet de retourner sur la bonne page
2277              if (isset($_GET['retourformulaire']) && $_GET['retourformulaire'] != '') {              if ($this->f->get_submitted_get_value('retourformulaire') !== null && $this->f->get_submitted_get_value('retourformulaire') != '') {
2278                  echo "obj=".$_GET['retourformulaire'];                  echo "obj=".$this->f->get_submitted_get_value('retourformulaire');
2279              } else {              } else {
2280                  echo "obj=".get_class($this);                  echo "obj=".get_class($this);
2281              }              }
2282              if (isset($_GET['retourformulaire2']) && $_GET['retourformulaire2'] != '') {              if ($this->f->get_submitted_get_value('retourformulaire2') !== null && $this->f->get_submitted_get_value('retourformulaire2') != '') {
2283                  echo "&retourformulaire=".$_GET['retourformulaire2'];                  echo "&retourformulaire=".$this->f->get_submitted_get_value('retourformulaire2');
2284              }              }
2285              if($this->getParameter("retour")=="form") {              if($this->getParameter("retour")=="form") {
2286                  echo "&amp;idx=".$this->getParameter("idx");                  echo "&amp;idx=".$this->getParameter("idx");
# Line 2523  class dossier extends dossier_gen { Line 2530  class dossier extends dossier_gen {
2530          return $quartier;          return $quartier;
2531      }      }
2532            
2533        /**
2534         * Méthode permettant d'ajouter les données techniques d'un DI.
2535         *
2536         * @param integer  $id    identifiant de la demande
2537         * @param database &$db   handler de la base de donnée
2538         * @param array    $val   tableau de valeurs postées via le formulaire
2539         * @param boolean  $DEBUG debug
2540         *
2541         * @return boolean false si erreur
2542         */
2543        function ajoutDonneesTechniquesDI($id, &$db, $val, $DEBUG) {
2544    
2545            //On vérifie que le dossier d'autorisation a des données techniques
2546            $sql = "SELECT * "
2547                ."FROM ".DB_PREFIXE."donnees_techniques "
2548                ."WHERE dossier_autorisation = '".$this->valF["dossier_autorisation"]."'";
2549            $dtda = $this->db->query($sql);
2550            $this->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);
2551            if($this->f->isDatabaseError($dtda, true)){
2552                $this->f->addToLog(__METHOD__."() : ERROR - Erreur de base de données. Impossible d'ajouter les données techniques du dossier d'instruction.", DEBUG_MODE);
2553                return false;
2554            }
2555            
2556            //Si le dossier d'autorisation a des données techniques
2557            if ( $dtda->numrows() == 1 ){
2558                //
2559                require_once '../obj/donnees_techniques.class.php';
2560                $dtdi = new donnees_techniques(']', $db, $DEBUG);
2561                //Préparation des données
2562                $valF = $dtda->fetchRow(DB_FETCHMODE_ASSOC);
2563                //Suppression de l'identifiant
2564                $valF["donnees_techniques"] = null;
2565                // Ajout du numéro de dossier d'instruction
2566                $valF['dossier_instruction'] = $this->valF['dossier'];
2567                // Suppression du numéro de dossier d'autorisation
2568                $valF['dossier_autorisation'] = null;
2569                // Ajout des données techniques
2570                if($dtdi->ajouter($valF, $db, $DEBUG) === false) {
2571                    $this->f->addToLog(__METHOD__."() : ERROR - Impossible d'ajouter les données techniques du dossier d'instruction.", DEBUG_MODE);
2572                    return false;
2573                }
2574            }
2575            else {
2576                //Le dossier d'autorisation n'a pas de données techniques
2577                $this->f->addToLog(__METHOD__."() : ERROR - le DA n'a pas de données techniques.", DEBUG_MODE);
2578                return -1;
2579            }
2580    
2581            //
2582            return true;
2583        }
2584        
2585  }// fin classe  }// fin classe
2586  ?>  ?>

Legend:
Removed from v.3087  
changed lines
  Added in v.3277

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26