/[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 2783 by vpihour, Tue Mar 4 10:14:13 2014 UTC revision 3346 by vpihour, Wed Mar 25 09:51:56 2015 UTC
# Line 27  class dossier extends dossier_gen { Line 27  class dossier extends dossier_gen {
27      var $aff_description = "startClosed";      var $aff_description = "startClosed";
28      var $aff_amenagement = "startClosed";      var $aff_amenagement = "startClosed";
29      var $dossier_instruction_type;      var $dossier_instruction_type;
30        var $is_incomplet_notifie = null;
31      var $valIdDemandeur = array("petitionnaire_principal" => "",      var $valIdDemandeur = array("petitionnaire_principal" => "",
32                                  "delegataire" => "",                                  "delegataire" => "",
33                                  "petitionnaire" => array());                                  "petitionnaire" => array());
# Line 78  class dossier extends dossier_gen { Line 79  class dossier extends dossier_gen {
79          }          }
80                            
81          //Si l'utilisateur est un instructeur et le dossier d'instruction est clôturé,          //Si l'utilisateur est un instructeur et le dossier d'instruction est clôturé,
82                  //il n'est plus possible de le modifier, on affiche pas le lien de modification du          //il n'est plus possible de le modifier, on affiche pas le lien de modification du
83          //portlet          //portlet
84          if ( $this->f->isUserInstructeur() && $this->getStatut() == "cloture" ){          if ( $this->f->isUserInstructeur() && $this->getStatut() == "cloture" ){
85    
# Line 91  class dossier extends dossier_gen { Line 92  class dossier extends dossier_gen {
92                                    
93                  $this->actions_sup['rapport_instruction'] = NULL;                  $this->actions_sup['rapport_instruction'] = NULL;
94              }              }
95                        }
96              //Cache le lien des données techniques, si aucun n'est lié  
97              if ( $this->getDonneesTechniques() == '' ){          //Cache le lien des données techniques, si aucun n'est lié
98                            if ( $this->getDonneesTechniques() == '' && !$this->f->isUserAdministrateur() ){
99                  $this->actions_sup['donnees_techniques'] = NULL;  
100              }              $this->actions_sup['donnees_techniques'] = NULL;
101          }          }
102    
103          // Si l'option sig n'est pas réglé sur 'sig_externe',          // Si l'option sig n'est pas réglé sur 'sig_externe',
# Line 382  class dossier extends dossier_gen { Line 383  class dossier extends dossier_gen {
383                  $this->f->addToError("", $numeroVersionDossierInstructionType, $numeroVersionDossierInstructionType);                  $this->f->addToError("", $numeroVersionDossierInstructionType, $numeroVersionDossierInstructionType);
384                  return false;                  return false;
385              }              }
386                
387                // Requête SQL
388                $sql = "SELECT
389                            substring(dossier, '.{2}$')::int as last_num_dossier
390                        FROM ".DB_PREFIXE."dossier
391                        WHERE dossier_instruction_type = ".$dossier_instruction_type."
392                        AND dossier_autorisation = '".$dossier_autorisation."'
393                        AND version = (
394                            SELECT max(version)
395                            FROM ".DB_PREFIXE."dossier
396                            WHERE dossier_instruction_type = ".$dossier_instruction_type."
397                            AND dossier_autorisation = '".$dossier_autorisation."'
398                            GROUP BY dossier_instruction_type, dossier_autorisation
399                        )";
400                $res = $this->db->query($sql);
401                $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);
402                $this->f->isDatabaseError($res);
403                $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);
404    
405                $num_version_last_dossier = $row['last_num_dossier'];
406    
407                if (!empty($num_version_last_dossier)
408                    && $num_version_last_dossier >= $numeroVersionDossierInstructionType) {
409                    // Modifie le numéro suivant
410                    $numeroVersionDossierInstructionType = $num_version_last_dossier;
411                }
412              //              //
413              if ($increment === true) {              if ($increment === true) {
414                  $numeroVersionDossierInstructionType = ++$numeroVersionDossierInstructionType;                  $numeroVersionDossierInstructionType = ++$numeroVersionDossierInstructionType;
# Line 461  class dossier extends dossier_gen { Line 487  class dossier extends dossier_gen {
487              $this->addToMessage(_("La saisie d'un petitionnaire principal est obligatoire."));              $this->addToMessage(_("La saisie d'un petitionnaire principal est obligatoire."));
488          }          }
489          if($val['parcelle']!="" and $val['sig']!='Oui'){          if($val['parcelle']!="" and $val['sig']!='Oui'){
490              if  (!preg_match('/^[0-9]{3} [A-Z]{1,3} [0-9]{1,5}$/', $val['parcelle']) && !preg_match('/^[0-9]{3}[A-Z]{1,3}[0-9]{1,5}$/', $val['parcelle'])){                  if  (!preg_match('/^[0-9]{3} [A-Z]{1,3} [0-9]{1,5}$/', $val['parcelle']) && !preg_match('/^[0-9]{3}[A-Z]{1,3}[0-9]{1,5}$/', $val['parcelle'])){
491                  $this->correct=false;                  $this->correct=false;
492                  $this->addToMessage("<br>format parcelle incorrect");                  $this->addToMessage("<br>format parcelle incorrect");
493              }              }
# Line 477  class dossier extends dossier_gen { Line 503  class dossier extends dossier_gen {
503          $form->setType('parcelle_lot_lotissement','hidden'); // PC          $form->setType('parcelle_lot_lotissement','hidden'); // PC
504          $form->setType('version','hidden'); // PC          $form->setType('version','hidden'); // PC
505          $form->setType('incompletude','hidden');          $form->setType('incompletude','hidden');
506          $form->setType('evenement_suivant_tacite','hidden');          $form->setType('incomplet_notifie','hidden');
         $form->setType('evenement_suivant_tacite_incompletude','hidden');  
507          $form->setType('etat_pendant_incompletude','hidden');          $form->setType('etat_pendant_incompletude','hidden');
508          $form->setType('duree_validite','hidden');          $form->setType('duree_validite','hidden');
509          $form->setType('description','hidden');          $form->setType('description','hidden');
510            $form->setType('quartier', 'hidden');
511          // XXX          // XXX
512          $form->setType('servitude', 'hidden');            $form->setType('servitude', 'hidden');  
513          if ($maj < 2) { //ajouter et modifier          if ($maj < 2) { //ajouter et modifier
514              // cache              // cache
515              if($maj==0) $form->setType('dossier_libelle', 'hidden');              if($maj==0) $form->setType('dossier_libelle', 'hidden');
516                if($maj==0) $form->setType('dossier_demandeur','hidden');
517                if($maj==0) $form->setType('description_projet','hidden');
518                $form->setType('description_projet','hiddenstatic');
519              $form->setType('annee', 'hidden');              $form->setType('annee', 'hidden');
520              $form->setType('parcelle_archive','hidden');              $form->setType('parcelle_archive','hidden');
521              $form->setType('parcelle_lot_archive','hidden');              $form->setType('parcelle_lot_archive','hidden');
               
522              $form->setType('geom1', 'hidden');              $form->setType('geom1', 'hidden');
523              $form->setType('geom', 'hiddenstatic');              $form->setType('geom', 'hiddenstatic');
524              // $form->setType('servitude', 'hiddenstatic');                    // $form->setType('servitude', 'hiddenstatic');
525                $form->setType('autorite_competente', 'selecthiddenstatic');
526                
527                // Si l'état du dossier est incomplet
528                if ($this->is_incomplet_notifie()) {
529                    // On cache les dates de complétude et de limite d'instruction
530                    $form->setType('date_complet', 'hiddendate');
531                    $form->setType('date_limite', 'hiddendate');
532                    $form->setType('evenement_suivant_tacite_incompletude','selecthiddenstatic');
533                    $form->setType('evenement_suivant_tacite','hidden');
534                    $form->setType('date_limite_incompletude', 'hiddenstaticdate');
535    
536              $form->setType('autorite_competente', 'selectstatic');              } else {
537                    // Sinon on cache la date de limite d'incomplétude
538                    $form->setType('date_limite_incompletude', 'hiddendate');
539                    $form->setType('evenement_suivant_tacite_incompletude','hidden');
540                    $form->setType('evenement_suivant_tacite','selecthiddenstatic');
541                    $form->setType('date_complet', 'hiddenstaticdate');
542                    $form->setType('date_limite', 'hiddenstaticdate');
543                }
544    
545              // hiddenstatic              // hiddenstatic
546              if($maj==1) $form->setType('dossier_libelle', 'hiddenstatic');              if($maj==1) $form->setType('dossier_libelle', 'hiddenstatic');
547                if($maj==1) $form->setType('dossier_demandeur','hiddenstatic');
548                $form->setType('terrain','hiddenstatic');
549              $form->setType('etat','hiddenstatic');              $form->setType('etat','hiddenstatic');
550              $form->setType('avis_decision','hiddenstatic');              $form->setType('avis_decision','hiddenstatic');
551              $form->setType('delai_incompletude','hiddenstatic');              $form->setType('delai_incompletude','hidden');
552              $form->setType('delai','hiddenstatic');              $form->setType('delai','hiddenstatic');
553              $form->setType('terrain_surface_calcul','hiddenstatic');              $form->setType('terrain_surface_calcul','hiddenstatic');
554              $form->setType('shon_calcul','hiddenstatic');              $form->setType('shon_calcul','hiddenstatic');
# Line 512  class dossier extends dossier_gen { Line 559  class dossier extends dossier_gen {
559              // hiddenstaticdate              // hiddenstaticdate
560              $form->setType('date_notification_delai','hiddenstaticdate');              $form->setType('date_notification_delai','hiddenstaticdate');
561              $form->setType('date_decision','hiddenstaticdate');              $form->setType('date_decision','hiddenstaticdate');
562              $form->setType('date_limite','hiddenstaticdate');              //$form->setType('date_limite','hiddenstaticdate');
563              $form->setType('date_rejet','hiddenstaticdate');              $form->setType('date_rejet','hiddenstaticdate');
564              $form->setType('date_complet','hiddenstaticdate');              //$form->setType('date_complet','hiddenstaticdate');
565              $form->setType('date_limite','hiddenstaticdate');              //$form->setType('date_limite','hiddenstaticdate');
566              $form->setType('date_validite','hiddenstaticdate');              $form->setType('date_validite','hiddenstaticdate');
567              $form->setType('date_chantier','hiddenstaticdate');              $form->setType('date_chantier','hiddenstaticdate');
568              $form->setType('date_achevement','hiddenstaticdate');              $form->setType('date_achevement','hiddenstaticdate');
569              $form->setType('date_conformite','hiddenstaticdate');              $form->setType('date_conformite','hiddenstaticdate');
570              $form->setType('date_limite_incompletude','hiddenstaticdate');              //$form->setType('date_limite_incompletude','hiddenstaticdate');
571    
572              $form->setType('date_depot','hiddenstaticdate');              $form->setType('date_depot','hiddenstaticdate');
573              $form->setType('date_dernier_depot','hiddenstaticdate');              $form->setType('date_dernier_depot','hiddenstaticdate');
# Line 602  class dossier extends dossier_gen { Line 649  class dossier extends dossier_gen {
649              $form->setType('shon_calcul', 'hidden');              $form->setType('shon_calcul', 'hidden');
650              $form->setType('shob', 'hidden');              $form->setType('shob', 'hidden');
651              $form->setType('lot', 'hidden');              $form->setType('lot', 'hidden');
652                $form->setType('delai_incompletude','hidden');
653                // Si l'état du dossier est incomplet
654                if ($this->is_incomplet_notifie()) {
655                    // On cache les dates de complétude et de limite d'instruction
656                    $form->setType('date_complet', 'hiddendate');
657                    $form->setType('date_limite', 'hiddendate');
658                    $form->setType('evenement_suivant_tacite_incompletude','selecthiddenstatic');
659                    $form->setType('evenement_suivant_tacite','hidden');
660    
661                } else {
662                    // Sinon on cache la date de limite d'incomplétude
663                    $form->setType('date_limite_incompletude', 'hiddendate');
664                    $form->setType('evenement_suivant_tacite_incompletude','hidden');
665                    $form->setType('evenement_suivant_tacite','selecthiddenstatic');
666                }
667          }          }
668    
669          // Le profil Qualificateur ne peut modifier seulement les champs          // Le profil Qualificateur ne peut modifier seulement les champs
670                  // autorite_competente, a_qualifier et erp          // autorite_competente, a_qualifier et erp
671          if ($this->f->isUserQualificateur()) {          if ($this->f->isUserQualificateur()) {
672    
673              // En modification              // En modification
# Line 614  class dossier extends dossier_gen { Line 676  class dossier extends dossier_gen {
676                  $form->setType('numero_versement_archive', 'static');                  $form->setType('numero_versement_archive', 'static');
677                  $form->setType('enjeu_urba', 'checkboxstatic');                  $form->setType('enjeu_urba', 'checkboxstatic');
678                  $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');  
679              }              }
680          }          }
681    
# Line 631  class dossier extends dossier_gen { Line 684  class dossier extends dossier_gen {
684              $form->setType('division', 'hidden');              $form->setType('division', 'hidden');
685          }          }
686          $form->setType('dossier_autorisation', 'hidden');          $form->setType('dossier_autorisation', 'hidden');
687          $form->setType('dossier_autorisation_libelle', 'hiddenstatic');          $form->setType('dossier_autorisation_libelle', 'hidden');
688          $form->setType('dossier_instruction_type', 'selecthiddenstatic');          $form->setType('dossier_instruction_type', 'selecthiddenstatic');
689          //          //
690          if ($maj == 0) {          if ($maj == 0) {
691              $form->setType('dossier_autorisation', 'select');              $form->setType('dossier_autorisation', 'select');
692          }          }
         // 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');  
         }  
693    
694          // En mode modifier, supprimer et consulter          // En mode modifier, supprimer et consulter
695          if ($maj != 0) {          if ($maj != 0) {
696              // Cache la date de la demande              // Cache la date de la demande
697              $form->setType('date_demande', 'hidden');              $form->setType('date_demande', 'hiddendate');
698            }
699    
700            // XXX Champs cachés
701            $form->setType('accord_tacite', 'hidden');
702            $form->setType('date_rejet', 'hiddendate');
703            $form->setType('date_notification_delai', 'hiddendate');
704            $form->setType('date_chantier', 'hiddendate');
705            $form->setType('date_achevement', 'hiddendate');
706            $form->setType('date_conformite', 'hiddendate');
707            
708            // On cache les champs geom si aucun SIG n'est configuré
709            if($this->f->getParameter('option_sig') == ''
710                || $this->f->getParameter('option_sig') == 'aucun'){
711                $form->setType('geom', 'hidden');
712                $form->setType('geom1', 'hidden');
713          }          }
714      }      }
715    
# Line 688  class dossier extends dossier_gen { Line 751  class dossier extends dossier_gen {
751      }      }
752    
753      function setSelect(&$form, $maj,&$db,$debug) {      function setSelect(&$form, $maj,&$db,$debug) {
754            // XXX Commenté pour patcher le problème de montée en charge de la base
755            // de données en cas de reprise de données d'un gros volume de dossier
756            // d'instruction
757            //parent::setSelect($form, $maj, $db, $debug);
758    
759          //optimisation sur table importante parcelle -> pas d appel methode parent          //optimisation sur table importante parcelle -> pas d appel methode parent
760          if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))          if(file_exists ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php"))
761                  include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");                  include ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php");
762    
763            /*
764             *  Pour chaque init_select d'un select non modifiable on teste
765             *  si l'on est en mode modifier : si c'est le cas alors on initialise le
766             *  select en mode consulter (qui n'affiche rien s'il n'y a aucune valeur).
767             */
768    
769          // instructeur          // instructeur
770          $this->init_select($form, $db, $maj, $debug, "instructeur",          $this->init_select($form, $db, $maj, $debug, "instructeur",
771                             $sql_instructeur, $sql_instructeur_by_id, true);                                 $sql_instructeur, $sql_instructeur_by_id, true);
772    
773          // etat          // etat
774          $this->init_select($form, $db, $maj, $debug, "etat",          if ($maj == 1) {
775                $this->init_select($form, $db, 3, $debug, "etat",
776                             $sql_etat, $sql_etat_by_id, false);                             $sql_etat, $sql_etat_by_id, false);
777            } else {
778                $this->init_select($form, $db, $maj, $debug, "etat",
779                                   $sql_etat, $sql_etat_by_id, false);
780            }
781    
782          // dossier_instruction_type          // dossier_instruction_type
783          $this->init_select($form, $db, $maj, $debug, "dossier_instruction_type",          if ($maj == 1) {
784                $this->init_select($form, $db, 3, $debug, "dossier_instruction_type",
785                             $sql_dossier_instruction_type, $sql_dossier_instruction_type_by_id, false);                             $sql_dossier_instruction_type, $sql_dossier_instruction_type_by_id, false);
786            } else {
787                $this->init_select($form, $db, $maj, $debug, "dossier_instruction_type",
788                                   $sql_dossier_instruction_type, $sql_dossier_instruction_type_by_id, false);
789            }
790    
791          // division          // division
792          $this->init_select($form, $db, $maj, $debug, "division",          $this->init_select($form, $db, $maj, $debug, "division",
793                             $sql_division, $sql_division_by_id, true);                                 $sql_division, $sql_division_by_id, false);
794    
795          // autorite_competente          // autorite_competente
796          $this->init_select($form, $db, $maj, $debug, "autorite_competente",          if ($maj == 1) {
797                $this->init_select($form, $db, 3, $debug, "autorite_competente",
798                             $sql_autorite_competente, $sql_autorite_competente_by_id, false);                             $sql_autorite_competente, $sql_autorite_competente_by_id, false);
799            } else {
800                $this->init_select($form, $db, $maj, $debug, "autorite_competente",
801                                   $sql_autorite_competente, $sql_autorite_competente_by_id, false);
802            }
803    
804          // avis_decision          // avis_decision
805          $this->init_select($form, $db, $maj, $debug, "avis_decision",          if ($maj == 1) {
806                $this->init_select($form, $db, 3, $debug, "avis_decision",
807                             $sql_avis_decision, $sql_avis_decision_by_id, false);                             $sql_avis_decision, $sql_avis_decision_by_id, false);
808            } else {
809                $this->init_select($form, $db, $maj, $debug, "avis_decision",
810                                   $sql_avis_decision, $sql_avis_decision_by_id, false);
811            }
812    
813            // evenement_suivant_tacite
814            if ($maj == 1) {
815                $this->init_select($form, $db, 3, $debug, "evenement_suivant_tacite",
816                               $sql_evenement_suivant_tacite, $sql_evenement_suivant_tacite_by_id, false);
817            } else {
818                $this->init_select($form, $db, $maj, $debug, "evenement_suivant_tacite",
819                                   $sql_evenement_suivant_tacite, $sql_evenement_suivant_tacite_by_id, false);
820            }
821    
822            // evenement_suivant_tacite_incompletude
823            if ($maj == 1) {
824                $this->init_select($form, $db, 3, $debug, "evenement_suivant_tacite_incompletude",
825                               $sql_evenement_suivant_tacite_incompletude, $sql_evenement_suivant_tacite_incompletude_by_id, false);
826            } else {
827                $this->init_select($form, $db, $maj, $debug, "evenement_suivant_tacite_incompletude",
828                                   $sql_evenement_suivant_tacite_incompletude, $sql_evenement_suivant_tacite_incompletude_by_id, false);
829            }
830    
831          if($maj<2){          if($maj<2){
832              // parcelle_lot              // parcelle_lot
# Line 771  class dossier extends dossier_gen { Line 882  class dossier extends dossier_gen {
882          if($this->f->getParameter('option_afficher_division')==='true') {          if($this->f->getParameter('option_afficher_division')==='true') {
883              // instructeur              // instructeur
884              $this->init_select($form, $db, $maj, $debug, "instructeur",              $this->init_select($form, $db, $maj, $debug, "instructeur",
885              $sql_instructeur_div, $sql_instructeur_div_by_id, false);              $sql_instructeur_div, $sql_instructeur_div_by_id, true);
886          }          }
887      }      }
888    
889      function setLib(&$form,$maj) {      function setLib(&$form,$maj) {
890          parent::setLib($form,$maj);          parent::setLib($form,$maj);
891          $form->setLib('dossier_autorisation_libelle',_('dossier_autorisation_libelle'));          $form->setLib('dossier_autorisation_libelle',_('dossier_autorisation_libelle'));
892            $form->setLib('dossier_instruction_type',_('type de dossier'));
893          $form->setLib('servitude',_('contraintes'));          $form->setLib('servitude',_('contraintes'));
894          $form->setLib('geom',_('centroide'));          $form->setLib('dossier_demandeur',_('demandeur'));
895            $form->setLib('description_projet',_('description du projet'));        
896            $form->setLib('autorite_competente',_('competence'));
897            $form->setLib('geom',_('geolocalisaion'));
898          $form->setLib('date_limite',_("date limite d'instruction"));          $form->setLib('date_limite',_("date limite d'instruction"));
899          $form->setLib('delai',_("delai d'instruction"));          $form->setLib('delai',_("delai d'instruction"));
900          $form->setLib('accord_tacite',_("decision tacite"));          $form->setLib('accord_tacite',_("decision tacite"));
901            $form->setLib('enjeu_urba', _("urbanisme"));
902            $form->setLib('enjeu_erp', _("ERP"));
903            $form->setLib('numero_versement_archive', _("numero"));
904            $form->setLib('erp', _("ERP"));
905            $form->setLib('date_depot', _("depot"));
906            $form->setLib('date_dernier_depot', _("dernier depot"));
907            $form->setLib('date_limite', _("limite d'instruction"));
908            $form->setLib('delai', _("delai (mois)"));
909            $form->setLib('date_complet', _("completude"));
910            $form->setLib('date_limite_incompletude', _("limite d'incompletude"));
911            $form->setLib('date_decision', _("date de la decision"));
912            $form->setLib('date_validite', _("fin de validite le"));
913      }          }    
914    
915      function setOnchange(&$form,$maj){      function setOnchange(&$form,$maj){
# Line 801  class dossier extends dossier_gen { Line 928  class dossier extends dossier_gen {
928      }      }
929    
930      function setLayout(&$form, $maj) {      function setLayout(&$form, $maj) {
931          //          
932             // En-tête
933          $form->setBloc('dossier_libelle', 'D', '', ($maj == 3 ? 'col_9':'col_12'));          $form->setBloc('dossier_libelle', 'D', '', ($maj == 3 ? 'col_9':'col_12'));
934    
935                    // Col1 : Fieldset "Dossier d'Instruction"
936              $form->setBloc('dossier_libelle', 'D', '', 'col_9');              $form->setBloc('dossier_libelle', 'D', '', 'col_9');
937    
938                  $form->setFieldset('dossier_libelle', 'D', _("Dossier d'instruction"));                  $form->setFieldset('dossier_libelle', 'D', _("Dossier d'instruction"));
939                  $form->setFieldset('numero_versement_archive', 'F');                  $form->setFieldset('geom', 'F');
940                  //Fieldset "Localisation du terrain"                  
                 //  
                 $form->setBloc('terrain_adresse_voie_numero','D');  
                     $form->setFieldset('terrain_adresse_voie_numero','D',_('Localisation du terrain'));  
   
                         $form->setBloc('terrain_adresse_voie_numero','D',"","col_6");  
                         $form->setBloc('terrain_references_cadastrales','F');  
   
                         $form->setBloc('terrain_adresse_voie','D',"","col_6");  
                         $form->setBloc('geom','F');  
   
                     $form->setFieldset('geom','F','');  
                 $form->setBloc('geom','F');  
941    
942              $form->setBloc('geom', 'F');              $form->setBloc('geom', 'F');
943                    
944              $form->setBloc('date_demande', 'D', '', 'col_3');                  // Col2 : 3 fieldsets
945                $form->setBloc('enjeu_urba', 'D', '', 'col_3');
946    
947                  $form->setFieldset('date_demande', 'D', _("Depot"));                  // Fieldset "Enjeu"
                 $form->setFieldset('date_dernier_depot', 'F');  
                   
948                  $form->setFieldset('enjeu_urba', 'D', _("Enjeu"));                  $form->setFieldset('enjeu_urba', 'D', _("Enjeu"));
949                  $form->setFieldset('enjeu_erp', 'F');                  $form->setFieldset('enjeu_erp', 'F');
950                                    // Fieldset "Qualification"
951                  $form->setFieldset('erp', 'D', _("Qualification"));                  $form->setFieldset('erp', 'D', _("Qualification"));
952                  $form->setFieldset('a_qualifier', 'F');                  $form->setFieldset('a_qualifier', 'F');
953                    // Fieldset "Archive"
954                    $form->setFieldset('numero_versement_archive', 'D', _("Archive"));
955                    $form->setFieldset('date_demande', 'F');
956    
957                $form->setBloc('date_demande', 'F');
958            $form->setBloc('date_demande', 'F');
959    
960            // Fieldset "Instruction"
961            $form->setBloc('date_depot', 'D', '', 'col_12');
962            $form->setFieldset('date_depot', 'D', _('Instruction'), 'col_12');
963    
964            // Fieldset "Suivi"
965            $form->setBloc('date_depot', 'D', '', 'col_12');
966            
967                $form->setFieldset('date_depot', 'D', _('Suivi'), 'col_12');
968                // Col 1
969                $form->setBloc('date_depot', 'D', '', 'col_6');
970                    $form->setBloc('date_depot', 'D');
971                    $form->setBloc('date_dernier_depot', 'F');
972                    $form->setBloc('date_limite', 'D', '', 'interligne');
973                    $form->setBloc('date_limite_incompletude', 'F');
974                $form->setBloc('date_limite_incompletude', 'F');
975                // Col 2
976                $form->setBloc('etat', 'D', '', 'col_6');
977                    $form->setBloc('etat', 'D');
978                    $form->setBloc('etat', 'F');
979                    $form->setBloc('evenement_suivant_tacite', 'D', '', 'evmt_suivant_tacite_di');
980                    $form->setBloc('evenement_suivant_tacite_incompletude', 'F');
981                $form->setBloc('evenement_suivant_tacite_incompletude', 'F');
982                $form->setFieldset('evenement_suivant_tacite_incompletude','F','');
983            
984            $form->setBloc('evenement_suivant_tacite_incompletude', 'F'); // Fin Suivi
985    
986              $form->setBloc('a_qualifier', 'F');          // Bloc 2 fieldsets
987          $form->setBloc('a_qualifier', 'F');          $form->setBloc('date_decision', 'D', '', 'col_12');
988    
989          //          // Col 1 Fieldset "Décision"
990          $form->setBloc('date_complet', 'D', '', 'col_12');          $form->setFieldset('date_decision', 'D', _('Decision'), 'col_6');
991                    $form->setFieldset('avis_decision','F','');
992              $form->setFieldset('date_complet', 'D', _('Instruction'), 'col_12');          // Col 2 Fieldset "Validité de l'autorisation"
993            $form->setFieldset('date_validite', 'D', _("Validite de l'autorisation"), 'col_6');
994            $form->setFieldset('date_validite','F','');
995    
996                  $form->setBloc('date_complet', 'D', '', 'col_4');          $form->setBloc('date_validite', 'F'); // Fin bloc 2 fieldsets
                 $form->setBloc('date_limite_incompletude', 'F');  
997    
998                  $form->setBloc('date_rejet', 'D', '', 'col_4');          // XXX Champs cachés
999                  $form->setBloc('delai_incompletude', 'F');          // // Fieldset "Autre"
1000            // $form->setBloc('accord_tacite', 'D', '', 'col_12');        
1001            //     $form->setFieldset('accord_tacite', 'D', _('Autre'), 'col_12');
1002    
1003                  $form->setBloc('etat', 'D', '', 'col_4');          //         $form->setBloc('accord_tacite', 'D', '', 'col_4');
1004                  $form->setBloc('date_conformite', 'F');          //         $form->setBloc('accord_tacite', 'F');
1005    
1006              $form->setFieldset('date_conformite','F','');          //         $form->setBloc('date_rejet', 'D', '', 'col_4');
1007                    //         $form->setBloc('date_achevement', 'F');
1008          $form->setBloc('date_conformite', 'F');  
1009                    //         $form->setBloc('date_conformite', 'D', '', 'col_4');
1010          $form->setBloc('parcelle','D',"", "col_12");          //         $form->setBloc('date_conformite', 'F');
1011          $form->setBloc('geom1','F');  
1012            //     $form->setFieldset('date_conformite','F','');        
1013            // $form->setBloc('date_conformite', 'F'); // Fin Autre
1014    
1015            $form->setFieldset('date_conformite','F','');
1016            $form->setBloc('date_conformite', 'F'); // Fin Instruction
1017    
1018            // Fieldset "Localisation du terrain"
1019            $form->setBloc('terrain_adresse_voie_numero', 'D', '', 'col_12');
1020    
1021                $form->setFieldset('terrain_adresse_voie_numero', 'D', _('Localisation du terrain'), 'startClosed');
1022                    // Col 1
1023                    $form->setBloc('terrain_adresse_voie_numero', 'D', "", "col_6");
1024                    $form->setBloc('terrain_references_cadastrales', 'F');
1025                    // Col 2
1026                    $form->setBloc('terrain_adresse_voie', 'D', "", "col_6");
1027                    $form->setBloc('terrain_superficie', 'F');
1028    
1029                $form->setFieldset('terrain_superficie', 'F', '');
1030    
1031            $form->setBloc('terrain_superficie', 'F');
1032        }
1033    
1034        /**
1035         * Permet de retourner si le dossier est incomplet notifié
1036         *
1037         * @return boolean true si incomplet notifié
1038         */
1039        function is_incomplet_notifie() {
1040            // Si le dossier est défini en tant qu'incomplet notifie
1041            if($this->getVal('incomplet_notifie') == 't' AND
1042                $this->getVal('incompletude') == 't') {
1043                return true;
1044            }
1045            return false;
1046      }      }
1047    
1048      /* =============================================================      /* =============================================================
# Line 882  class dossier extends dossier_gen { Line 1066  class dossier extends dossier_gen {
1066          }          }
1067                    
1068                    
1069          if ($this->f->getParameter('option_erp') != "") {          if ($this->f->getParameter('option_erp') === 'true') {
1070              // 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
1071              if ($this->f->getDATDCode($this->valF['dossier']) ==              if ($this->f->getDATDCode($this->valF['dossier']) ==
1072                      $this->f->getParameter('erp_depot_dossier_dat')) {                      $this->f->getParameter('erp_depot_dossier_dat')) {
1073                  $msgenque = new MessageEnqueuer();                  $msgenque = new MessageEnqueuer();
1074                  $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                  $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1075                  $msgenque->enqueueMessage($msgenque::$ERP_DEPOT_DOSSIER_DAT);                  $return = $msgenque->enqueueMessage($msgenque::$ERP_DEPOT_DOSSIER_DAT);
1076                    //Si une erreur s'est produite on arrête le traitement et on
1077                    //retourne une erreur
1078                    if ($return !== 0){
1079                        
1080                        $this->addToMessage(_("Une erreur s'est produite lors de ".
1081                            "l'envoi du message au referentiel ERP. Merci de ".
1082                            "contacter votre administrateur"));
1083                        //On ne valide pas le formulaire
1084                        $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1085                        $this->correct = false;
1086                        return false;
1087                    }
1088                    else {
1089                        $this->addToMessage(_("Le message a ete transmis au ".
1090                            "referentiel ERP."));
1091                    }
1092              }              }
1093                            
1094              // envoi du message a ERP en cas d'une demande d'ouverture DAT              // envoi du message a ERP en cas d'une demande d'ouverture DAT
# Line 896  class dossier extends dossier_gen { Line 1096  class dossier extends dossier_gen {
1096                      $this->f->getParameter('erp_demande_ouverture_dat')) {                      $this->f->getParameter('erp_demande_ouverture_dat')) {
1097                  $msgenque = new MessageEnqueuer();                  $msgenque = new MessageEnqueuer();
1098                  $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                  $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1099                  $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_OUVERTURE_DAT);                  $return = $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_OUVERTURE_DAT);
1100                    //Si une erreur s'est produite on arrête le traitement et on
1101                    //retourne une erreur
1102                    if ($return !== 0){
1103                        
1104                        $this->addToMessage(_("Une erreur s'est produite lors de ".
1105                            "l'envoi du message au referentiel ERP. Merci de ".
1106                            "contacter votre administrateur"));
1107                        //On ne valide pas le formulaire
1108                        $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1109                        $this->correct = false;
1110                        return false;
1111                    }
1112                    else {
1113                        $this->addToMessage(_("Le message a ete transmis au ".
1114                            "referentiel ERP."));
1115                    }
1116              }              }
1117                            
1118              if ($this->valF['erp'] === true) {              if ($this->valF['erp'] === true) {
# Line 905  class dossier extends dossier_gen { Line 1121  class dossier extends dossier_gen {
1121                          $this->f->getParameter('erp_annulation_demande')) {                          $this->f->getParameter('erp_annulation_demande')) {
1122                      $msgenque = new MessageEnqueuer();                      $msgenque = new MessageEnqueuer();
1123                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1124                      $msgenque->enqueueMessage($msgenque::$ERP_ANNULATION_DEMANDE);                      $return = $msgenque->enqueueMessage($msgenque::$ERP_ANNULATION_DEMANDE);
1125                        //Si une erreur s'est produite on arrête le traitement et on
1126                        //retourne une erreur
1127                        if ($return !== 0){
1128                            
1129                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1130                                "l'envoi du message au referentiel ERP. Merci de ".
1131                                "contacter votre administrateur"));
1132                            //On ne valide pas le formulaire
1133                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1134                            $this->correct = false;
1135                            return false;
1136                        }
1137                        else {
1138                            $this->addToMessage(_("Le message a ete transmis au ".
1139                                "referentiel ERP."));
1140                        }
1141                  }                  }
1142                                    
1143                  // envoi du message a ERP en cas d'ouverture d'un dossier PC "rattache"                  // envoi du message a ERP en cas d'ouverture d'un dossier PC "rattache"
# Line 914  class dossier extends dossier_gen { Line 1146  class dossier extends dossier_gen {
1146                          $this->f->getParameter('erp_demande_ouverture_pc_daact')) {                          $this->f->getParameter('erp_demande_ouverture_pc_daact')) {
1147                      $msgenque = new MessageEnqueuer();                      $msgenque = new MessageEnqueuer();
1148                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1149                      $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_OUVERTURE_PC);                      $return = $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_OUVERTURE_PC);
1150                        //Si une erreur s'est produite on arrête le traitement et on
1151                        //retourne une erreur
1152                        if ($return !== 0){
1153                            
1154                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1155                                "l'envoi du message au referentiel ERP. Merci de ".
1156                                "contacter votre administrateur"));
1157                            //On ne valide pas le formulaire
1158                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1159                            $this->correct = false;
1160                            return false;
1161                        }
1162                        else {
1163                            $this->addToMessage(_("Le message a ete transmis au ".
1164                                "referentiel ERP."));
1165                        }
1166                  }                  }
1167              }              }
1168          } // fin de if ($this->f->getParameter('option_erp') != "")            } // fin de if ($this->f->getParameter('option_erp') === 'true')
1169            
1170            //On ajoute les données techniques
1171            if($this->ajoutDonneesTechniquesDI($id, $db, $val, $DEBUG) === false){
1172                //
1173                $this -> addToMessage(
1174                    _("Erreur lors de l'enregistrement du dossier.")." ".
1175                    _("Contactez votre  administrateur.")
1176                );
1177                $this->correct = false;
1178                return false;
1179            }
1180            
1181          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1182          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1183          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);
# Line 1194  class dossier extends dossier_gen { Line 1453  class dossier extends dossier_gen {
1453          }          }
1454                                    
1455          // verification si envoi vers ERP est active          // verification si envoi vers ERP est active
1456          if ($this->f->getParameter('option_erp') != "") {          if ($this->f->getParameter('option_erp') === 'true') {
1457              if ($this->val[array_search('a_qualifier', $this->champs)] == 't'              if ($this->val[array_search('a_qualifier', $this->champs)] == 't'
1458                  && $this->valF['a_qualifier'] === false) {                  && $this->valF['a_qualifier'] === false) {
1459                                                                    
# Line 1209  class dossier extends dossier_gen { Line 1468  class dossier extends dossier_gen {
1468                      $msgenque->setContraintePlu($this->valF['servitude']);                      $msgenque->setContraintePlu($this->valF['servitude']);
1469                      $msgenque->setReferenceCadastrale(                      $msgenque->setReferenceCadastrale(
1470                              $this->getReferenceCadastrale($this->valF['dossier']));                              $this->getReferenceCadastrale($this->valF['dossier']));
1471                      $msgenque->enqueueMessage($msgenque::$ERP_QUALIFIE);                                                  $return = $msgenque->enqueueMessage($msgenque::$ERP_QUALIFIE);
1472                        //Si une erreur s'est produite on arrête le traitement et on
1473                        //retourne une erreur
1474                        if ($return !== 0){
1475                            
1476                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1477                                "l'envoi du message au referentiel ERP. Merci de ".
1478                                "contacter votre administrateur"));
1479                            //On ne valide pas le formulaire
1480                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1481                            $this->correct = false;
1482                            return false;
1483                        }
1484                        else {
1485                            $this->addToMessage(_("Le message a ete transmis au ".
1486                                "referentiel ERP."));
1487                        }                            
1488                  }                  }
1489                                    
1490                  // envoi des messages a ERP en cas du dossier PC traite par URBA, et                  // envoi des messages a ERP en cas du dossier PC traite par URBA, et
# Line 1219  class dossier extends dossier_gen { Line 1494  class dossier extends dossier_gen {
1494                      && $this->valF['erp'] == true) {                      && $this->valF['erp'] == true) {
1495                      $msgenque = new MessageEnqueuer();                      $msgenque = new MessageEnqueuer();
1496                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1497                      $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_COMPLETUDE_PC);                      $return = $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_COMPLETUDE_PC);
1498                      $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_QUALIFICATION_PC);                      //Si une erreur s'est produite on arrête le traitement et on
1499                        //retourne une erreur
1500                        if ($return !== 0){
1501                            
1502                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1503                                "l'envoi du message au referentiel ERP. Merci de ".
1504                                "contacter votre administrateur"));
1505                            //On ne valide pas le formulaire
1506                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1507                            $this->correct = false;
1508                            return false;
1509                        }
1510                        else {
1511                            $this->addToMessage(_("Le message a ete transmis au ".
1512                                "referentiel ERP."));
1513                        }
1514                    
1515                        $return = $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_QUALIFICATION_PC);
1516                        //Si une erreur s'est produite on arrête le traitement et on
1517                        //retourne une erreur
1518                        if ($return !== 0){
1519                            
1520                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1521                                "l'envoi du message au referentiel ERP. Merci de ".
1522                                "contacter votre administrateur"));
1523                            //Si c'est un problème de connexion vers rabbitMQ et AMQP
1524                            //On ne valide pas le formulaire
1525                            if ( $return === -3 ){
1526                                $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1527                                $this->correct = false;
1528                                return false;
1529                            }
1530                        }
1531                        else {
1532                            $this->addToMessage(_("Le message a ete transmis au ".
1533                                "referentiel ERP."));
1534                        }
1535                  }                  }
1536              }              }
1537          } // fin de if($this->f->getParameter('option_erp'))            } // fin de if($this->f->getParameter('option_erp') === 'true')  
1538    
1539          // Ajout ou modification des demandeurs          // Ajout ou modification des demandeurs
1540          $this->insertLinkDemandeDemandeur($db, $DEBUG);          $this->insertLinkDemandeDemandeur($db, $DEBUG);
# Line 1506  class dossier extends dossier_gen { Line 1817  class dossier extends dossier_gen {
1817       **/       **/
1818      function getPostedValues() {      function getPostedValues() {
1819          // Récupération des demandeurs dans POST          // Récupération des demandeurs dans POST
1820          if (isset($_POST['petitionnaire_principal']) OR          if ($this->f->get_submitted_post_value('petitionnaire_principal') !== null OR
1821                  isset($_POST['delegataire']) OR                  $this->f->get_submitted_post_value('delegataire') !== null OR
1822                      isset($_POST['petitionnaire'])) {                      $this->f->get_submitted_post_value('petitionnaire') !== null) {
1823              if( isset($_POST['petitionnaire_principal']) AND              if($this->f->get_submitted_post_value('petitionnaire_principal') !== null AND
1824                      !empty($_POST['petitionnaire_principal'])) {                      $this->f->get_submitted_post_value('petitionnaire_principal') != '') {
1825                  $this->postedIdDemandeur['petitionnaire_principal'] = $_POST['petitionnaire_principal'];                  $this->postedIdDemandeur['petitionnaire_principal'] = $this->f->get_submitted_post_value('petitionnaire_principal');
1826              }              }
1827              if( isset($_POST['delegataire']) AND              if($this->f->get_submitted_post_value('delegataire') !== null AND
1828                      !empty($_POST['delegataire'])) {                      $this->f->get_submitted_post_value('delegataire') != '') {
1829                  $this->postedIdDemandeur['delegataire'] = $_POST['delegataire'];                  $this->postedIdDemandeur['delegataire'] = $this->f->get_submitted_post_value('delegataire');
1830              }              }
1831              if( isset($_POST['petitionnaire']) AND              if($this->f->get_submitted_post_value('petitionnaire') !== null AND
1832                      !empty($_POST['petitionnaire'])) {                      $this->f->get_submitted_post_value('petitionnaire') != '') {
1833                  $this->postedIdDemandeur['petitionnaire'] = $_POST['petitionnaire'];                  $this->postedIdDemandeur['petitionnaire'] = $this->f->get_submitted_post_value('petitionnaire');
1834              }              }
1835          }          }
1836      }      }
# Line 1594  class dossier extends dossier_gen { Line 1905  class dossier extends dossier_gen {
1905          }          }
1906    
1907          // Tri          // Tri
1908          $tri = " ORDER BY contrainte_groupe, contrainte_sousgroupe,          $tri = " ORDER BY contrainte_groupe DESC, contrainte_sousgroupe,
1909                      contrainte.no_ordre, contrainte.libelle ";                      contrainte.no_ordre, contrainte.libelle ";
1910    
1911          // Requête SQL          // Requête SQL
# Line 1622  class dossier extends dossier_gen { Line 1933  class dossier extends dossier_gen {
1933          if ($listContrainte->numRows() != 0) {          if ($listContrainte->numRows() != 0) {
1934    
1935              // Affiche du fieldset              // Affiche du fieldset
1936              printf("<div id=\"liste_contrainte\" class=\"demande_hidden_bloc col_12\">");              printf("<div id=\"liste_contrainte\" class=\"demande_hidden_bloc\">");
1937              printf("<fieldset class=\"cadre ui-corner-all ui-widget-content\">");              printf("<fieldset class=\"cadre ui-corner-all ui-widget-content col_12 startClosed\">");
1938              printf("  <legend class=\"ui-corner-all ui-widget-content ui-state-active\">"              printf("  <legend class=\"ui-corner-all ui-widget-content ui-state-active\"
1939                        id =\"fieldset_contraintes_liees\">"
1940                      ._("dossier_contrainte")."</legend>");                      ._("dossier_contrainte")."</legend>");
1941                printf("<div class=\"fieldsetContent\" style=\"display: none;\">");
1942    
1943              // Entête pour le groupe              // Entête pour le groupe
1944              $groupeHeader = "              $groupeHeader = "
# Line 1651  class dossier extends dossier_gen { Line 1964  class dossier extends dossier_gen {
1964              $tableHeader = "              $tableHeader = "
1965              <thead>              <thead>
1966                  <tr class='ui-tabs-nav ui-accordion ui-state-default tab-title'>                  <tr class='ui-tabs-nav ui-accordion ui-state-default tab-title'>
1967                      <th class='title col-0 firstcol'>                      <th class='title col-0 firstcol contrainte_th_texte_complete'>
1968                          <span class='name'>                          <span class='name'>
1969                              "._('texte_complete')."                              "._('texte_complete')."
1970                          </span>                          </span>
1971                      </th>                      </th>
1972                      <th class='title col-1'>                      <th class='title col-1 contrainte_th_reference'>
1973                          <span class='name'>                          <span class='name'>
1974                              "._('reference')."                              "._('reference')."
1975                          </span>                          </span>
1976                      </th>                      </th>
1977                      <th class='title col-2'>                      <th class='title col-2 contrainte_th_nature'>
1978                          <span class='name'>                          <span class='name'>
1979                              "._('nature')."                              "._('nature')."
1980                          </span>                          </span>
# Line 1673  class dossier extends dossier_gen { Line 1986  class dossier extends dossier_gen {
1986              // Ligne de données              // Ligne de données
1987              $line = "              $line = "
1988              <tr class='tab-data %s'>              <tr class='tab-data %s'>
1989                  <td class='col-0 firstcol'>                  <td class='col-0 firstcol contrainte_th_texte_complete'>
1990                      %s                      %s
1991                  </td>                  </td>
1992                  <td class='col-1'>                  <td class='col-1 contrainte_th_reference'>
1993                      %s                      %s
1994                  </td>                  </td>
1995                  <td class='col-2'>                  <td class='col-2 contrainte_th_nature'>
1996                      %s                      %s
1997                  </td>                  </td>
1998              ";              ";
1999    
2000              // Sauvegarde des données pour les comparer              // Sauvegarde des données pour les comparer
2001              $lastRow = array();              $lastRow = array();
2002              $lastRow['contrainte_groupe'] = '';              $lastRow['contrainte_groupe'] = 'empty';
2003              $lastRow['contrainte_sousgroupe'] = '';              $lastRow['contrainte_sousgroupe'] = 'empty';
2004    
2005              // Tant qu'il y a des résultats              // Tant qu'il y a des résultats
2006              while($row = &$listContrainte->fetchRow(DB_FETCHMODE_ASSOC)) {              while($row = &$listContrainte->fetchRow(DB_FETCHMODE_ASSOC)) {
# Line 1696  class dossier extends dossier_gen { Line 2009  class dossier extends dossier_gen {
2009                  if ($row['contrainte_groupe'] != $lastRow['contrainte_groupe']) {                  if ($row['contrainte_groupe'] != $lastRow['contrainte_groupe']) {
2010    
2011                      // Si l'identifiant du groupe d'avant est vide                      // Si l'identifiant du groupe d'avant est vide
2012                      if ($lastRow['contrainte_groupe'] != '') {                      if ($lastRow['contrainte_groupe'] != 'empty') {
2013                          // Ferme le tableau                          // Ferme le tableau
2014                          printf("</table>");                          printf("</table>");
2015                          // Ferme le div                          // Ferme le div
# Line 1711  class dossier extends dossier_gen { Line 2024  class dossier extends dossier_gen {
2024    
2025                  // Si l'identifiant du sous-groupe de la contrainte présente et                  // Si l'identifiant du sous-groupe de la contrainte présente et
2026                  // celle d'avant est différent                  // celle d'avant est différent
2027                  if ($row['contrainte_sousgroupe'] != $lastRow['contrainte_sousgroupe']) {                  // Ou qu'ils soient identique mais n'appartiennent pas au même groupe
2028                    if ($row['contrainte_sousgroupe'] != $lastRow['contrainte_sousgroupe']
2029                        || ($row['contrainte_sousgroupe'] == $lastRow['contrainte_sousgroupe']
2030                            && $row['contrainte_groupe'] != $lastRow['contrainte_groupe'])) {
2031    
2032                      //                      //
2033                      if($row['contrainte_groupe'] == $lastRow['contrainte_groupe']) {                      if($row['contrainte_groupe'] == $lastRow['contrainte_groupe']) {
2034                          // Si l'identifiant de la sous-groupe d'avant est vide                          // Si l'identifiant de la sous-groupe d'avant est vide
2035                          if ($lastRow['contrainte_sousgroupe'] != '') {                          if ($lastRow['contrainte_sousgroupe'] != 'empty') {
2036                              // Ferme le tableau                              // Ferme le tableau
2037                              printf("</table>");                              printf("</table>");
2038                              // Ferme le div                              // Ferme le div
# Line 1776  class dossier extends dossier_gen { Line 2092  class dossier extends dossier_gen {
2092              printf("</div>");              printf("</div>");
2093    
2094              printf("</div>");              printf("</div>");
2095    
2096                printf("<div class=\"visualClear\"></div>");            
2097                // Ferme le fieldset content
2098                printf("</div>");
2099              printf("</fieldset>");              printf("</fieldset>");
2100          }          }
2101          /**          /**
# Line 1787  class dossier extends dossier_gen { Line 2107  class dossier extends dossier_gen {
2107           */           */
2108          $this->listeDemandeur("dossier", $this->getVal('dossier'));          $this->listeDemandeur("dossier", $this->getVal('dossier'));
2109    
2110          if($maj < 2 AND !$this->correct AND !$this->f->isUserQualificateur()) {          if($maj < 2 AND !$this->correct) {
2111              $linkable = true;              $linkable = true;
2112          } else {          } else {
2113              $linkable = false;              $linkable = false;
# Line 1795  class dossier extends dossier_gen { Line 2115  class dossier extends dossier_gen {
2115    
2116          // Conteneur de la listes des demandeurs          // Conteneur de la listes des demandeurs
2117          echo "<div id=\"liste_demandeur\" class=\"demande_hidden_bloc col_12\">";          echo "<div id=\"liste_demandeur\" class=\"demande_hidden_bloc col_12\">";
2118          echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\">";          echo "<fieldset class=\"cadre ui-corner-all ui-widget-content startClosed\">";
2119          echo "  <legend class=\"ui-corner-all ui-widget-content ui-state-active\">"          echo "  <legend class=\"ui-corner-all ui-widget-content ui-state-active\">"
2120                  ._("Petitionnaire")."</legend>";                  ._("Petitionnaire")."</legend>";
2121          // Si des demandeurs sont liés à la demande          // Si des demandeurs sont liés à la demande
# Line 1850  class dossier extends dossier_gen { Line 2170  class dossier extends dossier_gen {
2170          if($maj < 2 AND $linkable) {          if($maj < 2 AND $linkable) {
2171              echo "<span id=\"add_delegataire\"              echo "<span id=\"add_delegataire\"
2172                      class=\"om-form-button add-16\">".                      class=\"om-form-button add-16\">".
2173                      _("Saisir le delegataire").                      _("Saisir un autre correspondant").
2174                  "</span>";                  "</span>";
2175          }          }
2176          echo "</div>";          echo "</div>";
# Line 1978  class dossier extends dossier_gen { Line 2298  class dossier extends dossier_gen {
2298              } else {              } else {
2299                  echo "tab.php?";                  echo "tab.php?";
2300              }              }
2301                          // Permet de retourner sur la bonne page              // Permet de retourner sur la bonne page
2302              if (isset($_GET['retourformulaire']) && $_GET['retourformulaire'] != '') {              if ($this->f->get_submitted_get_value('retourformulaire') !== null && $this->f->get_submitted_get_value('retourformulaire') != '') {
2303                  echo "obj=".$_GET['retourformulaire'];                  echo "obj=".$this->f->get_submitted_get_value('retourformulaire');
2304              } else {              } else {
2305                  echo "obj=".get_class($this);                  echo "obj=".get_class($this);
2306              }              }
2307              if (isset($_GET['retourformulaire2']) && $_GET['retourformulaire2'] != '') {              if ($this->f->get_submitted_get_value('retourformulaire2') !== null && $this->f->get_submitted_get_value('retourformulaire2') != '') {
2308                  echo "&retourformulaire=".$_GET['retourformulaire2'];                  echo "&retourformulaire=".$this->f->get_submitted_get_value('retourformulaire2');
2309              }              }
2310              if($this->getParameter("retour")=="form") {              if($this->getParameter("retour")=="form") {
2311                  echo "&amp;idx=".$this->getParameter("idx");                  echo "&amp;idx=".$this->getParameter("idx");
# Line 2117  class dossier extends dossier_gen { Line 2437  class dossier extends dossier_gen {
2437      }      }
2438    
2439      /**      /**
2440       * Ajoute les parcelles du dossier passé en paramètre       * Ajoute les parcelles du dossier passé en paramètre et met à jour le
2441       * @param  string $dossier                        Identifiant du dossier       * quartier du dossier.
2442       * @param  string $terrain_references_cadastrales Références cadastrales du       * @param string $dossier                        Identifiant du dossier
2443         * @param string $terrain_references_cadastrales Références cadastrales du
2444       *                                                dossier       *                                                dossier
2445       */       */
2446      function ajouter_dossier_parcelle($dossier, $terrain_references_cadastrales) {      function ajouter_dossier_parcelle($dossier, $terrain_references_cadastrales) {
# Line 2151  class dossier extends dossier_gen { Line 2472  class dossier extends dossier_gen {
2472              $dossier_parcelle->ajouter($value, $this->db, DEBUG);              $dossier_parcelle->ajouter($value, $this->db, DEBUG);
2473          }          }
2474    
2475            // Si la liste des parcelles n'est pas vide
2476            if (count($list_parcelles) > 0) {
2477    
2478                // Récupère le code impôt de la première référence cadastrale
2479                $quartier_code_impots = $list_parcelles[0]['quartier'];
2480                // Récupère l'identifiant du quartier
2481                $quartier = $this->get_quartier_by_code_impot($quartier_code_impots);
2482    
2483                // Ajoute le quartier au dossier
2484                $this->modifier_quartier_dossier($dossier, $quartier);
2485            }
2486      }      }
2487    
2488      /**      /**
2489       * Supprime les parcelles du dossier passé en paramètre       * Supprime les parcelles du dossier passé en paramètre et met à jour le
2490       * @param  string $dossier Identifiant du dossier       * quartier du dossier.
2491         * @param string $dossier Identifiant du dossier
2492       */       */
2493      function supprimer_dossier_parcelle($dossier) {      function supprimer_dossier_parcelle($dossier) {
2494    
# Line 2163  class dossier extends dossier_gen { Line 2496  class dossier extends dossier_gen {
2496          $sql = "DELETE FROM ".DB_PREFIXE."dossier_parcelle          $sql = "DELETE FROM ".DB_PREFIXE."dossier_parcelle
2497                  WHERE dossier='".$dossier."'";                  WHERE dossier='".$dossier."'";
2498          $res = $this->db->query($sql);          $res = $this->db->query($sql);
2499          $this->addToLog("supprimer_dossier_parcelle() db->query(\"".$sql."\");", VERBOSE_MODE);          $this->addToLog("supprimer_dossier_parcelle() db->query(\"".$sql."\");",
2500                VERBOSE_MODE);
2501          database::isError($res);          database::isError($res);
2502    
2503            // Supprime le quartier dans dossier
2504            $this->modifier_quartier_dossier($dossier);
2505        }
2506    
2507        /**
2508         * Modifie le quartier au dossier.
2509         * @param string  $dossier  Numéro du dossier
2510         * @param integer $quartier Identifiant du quartier
2511         */
2512        function modifier_quartier_dossier($dossier, $quartier = null) {
2513    
2514            // Valeurs à mettre à jour
2515            $valF = array();
2516            $valF['quartier'] = $quartier;
2517    
2518            // Met à jour le quartier du dossier
2519            $cle = " dossier='".$dossier."'";
2520            $res = $this->db->autoExecute(
2521                DB_PREFIXE.'dossier', $valF, DB_AUTOQUERY_UPDATE, $cle);
2522            $this->addToLog("ajouter_quartier_dossier(): db->autoexecute(\""
2523                .DB_PREFIXE."dossier\", ".print_r($valF, true)
2524                .", DB_AUTOQUERY_UPDATE, \"".$cle."\");", VERBOSE_MODE);
2525            $this->f->isDatabaseError($res);
2526        }
2527    
2528        /**
2529         * Récupère le quartier par rapport au code impôts.
2530         * @param string $code_impots Code impôts du quartier
2531         *
2532         * @return integer            Identifiant du quartier
2533         */
2534        function get_quartier_by_code_impot($code_impots) {
2535    
2536            // Initialisation résultat
2537            $quartier = null;
2538    
2539            // Si la condition n'est pas vide
2540            if ($code_impots != ""
2541                && $code_impots != null) {
2542    
2543                // Requête SQL
2544                $sql = "SELECT quartier
2545                        FROM ".DB_PREFIXE."quartier
2546                        WHERE code_impots = '".$code_impots."'";
2547                $this->f->addToLog(
2548                    "get_quartier_by_code_impots() : db->getOne(\"".$sql."\")",
2549                    VERBOSE_MODE);
2550                $quartier = $this->db->getOne($sql);
2551                $this->f->isDatabaseError($quartier);
2552            }
2553    
2554            // Retourne résultat
2555            return $quartier;
2556        }
2557        
2558        /**
2559         * Méthode permettant d'ajouter les données techniques d'un DI.
2560         *
2561         * @param integer  $id    identifiant de la demande
2562         * @param database &$db   handler de la base de donnée
2563         * @param array    $val   tableau de valeurs postées via le formulaire
2564         * @param boolean  $DEBUG debug
2565         *
2566         * @return boolean false si erreur
2567         */
2568        function ajoutDonneesTechniquesDI($id, &$db, $val, $DEBUG) {
2569    
2570            //On vérifie que le dossier d'autorisation a des données techniques
2571            $sql = "SELECT * "
2572                ."FROM ".DB_PREFIXE."donnees_techniques "
2573                ."WHERE dossier_autorisation = '".$this->valF["dossier_autorisation"]."'";
2574            $dtda = $this->db->query($sql);
2575            $this->addToLog(__METHOD__."(): db->query(\"".$sql."\")", VERBOSE_MODE);
2576            if($this->f->isDatabaseError($dtda, true)){
2577                $this->f->addToLog(__METHOD__."() : ERROR - Erreur de base de données. Impossible d'ajouter les données techniques du dossier d'instruction.", DEBUG_MODE);
2578                return false;
2579            }
2580            
2581            //Si le dossier d'autorisation a des données techniques
2582            if ( $dtda->numrows() == 1 ){
2583                //
2584                require_once '../obj/donnees_techniques.class.php';
2585                $dtdi = new donnees_techniques(']', $db, $DEBUG);
2586                //Préparation des données
2587                $valF = $dtda->fetchRow(DB_FETCHMODE_ASSOC);
2588                //Suppression de l'identifiant
2589                $valF["donnees_techniques"] = null;
2590                // Ajout du numéro de dossier d'instruction
2591                $valF['dossier_instruction'] = $this->valF['dossier'];
2592                // Suppression du numéro de dossier d'autorisation
2593                $valF['dossier_autorisation'] = null;
2594                // Ajout des données techniques
2595                if($dtdi->ajouter($valF, $db, $DEBUG) === false) {
2596                    $this->f->addToLog(__METHOD__."() : ERROR - Impossible d'ajouter les données techniques du dossier d'instruction.", DEBUG_MODE);
2597                    return false;
2598                }
2599            }
2600            else {
2601                //Le dossier d'autorisation n'a pas de données techniques
2602                $this->f->addToLog(__METHOD__."() : ERROR - le DA n'a pas de données techniques.", DEBUG_MODE);
2603                return -1;
2604            }
2605    
2606            //
2607            return true;
2608      }      }
2609            
2610        /**
2611         * Cette methode permet d'afficher le bouton de validation du formulaire
2612         *
2613         * @param integer $maj Mode de mise a jour
2614         * @return void
2615         */
2616        function bouton($maj) {
2617            
2618            if (!$this->correct
2619                && $this->checkActionAvailability() == true) {
2620                //
2621                switch($maj) {
2622                    case 0 :
2623                        $bouton = _("Ajouter");
2624                        break;
2625                    case 1 :
2626                        $bouton = _("Modifier");
2627                        break;
2628                    case 2 :
2629                        $bouton = _("Supprimer");
2630                        break;
2631                    default :
2632                        // Actions specifiques
2633                        if ($this->get_action_param($maj, "button") != null) {
2634                            //
2635                            $bouton = $this->get_action_param($maj, "button");
2636                        } else {
2637                            //
2638                            $bouton = _("Valider");
2639                        }
2640                        break;
2641                }
2642                //
2643                $params = array(
2644                    "value" => $bouton,
2645                    "name" => "submit",
2646                    "onclick"=>"return getDataFieldReferenceCadastrale();",
2647                );
2648                //
2649                $this->f->layout->display_form_button($params);
2650            }
2651    
2652        }
2653  }// fin classe  }// fin classe
2654  ?>  ?>

Legend:
Removed from v.2783  
changed lines
  Added in v.3346

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26