20 |
$sql = "SELECT cerfa_lot FROM ".DB_PREFIXE."dossier_instruction_type |
$sql = "SELECT cerfa_lot FROM ".DB_PREFIXE."dossier_instruction_type |
21 |
JOIN ".DB_PREFIXE."dossier ON dossier.dossier_instruction_type= |
JOIN ".DB_PREFIXE."dossier ON dossier.dossier_instruction_type= |
22 |
dossier_instruction_type.dossier_instruction_type |
dossier_instruction_type.dossier_instruction_type |
23 |
JOIN ".DB_PREFIXE."lien_dossier_lot ON dossier.dossier=lien_dossier_lot.dossier |
JOIN ".DB_PREFIXE."lot ON dossier.dossier=lot.dossier |
24 |
WHERE lien_dossier_lot.lot = ".$this->getParameter("idxformulaire"); |
WHERE lot.lot = ".$this->getParameter("idxformulaire"); |
25 |
|
|
26 |
} else { |
} else { |
27 |
$sql = "SELECT cerfa FROM ".DB_PREFIXE."dossier_instruction_type |
$sql = "SELECT cerfa FROM ".DB_PREFIXE."dossier_instruction_type |
41 |
if(!empty($cerfa)) { |
if(!empty($cerfa)) { |
42 |
require_once ("../obj/cerfa.class.php"); |
require_once ("../obj/cerfa.class.php"); |
43 |
$this->cerfa = new cerfa($cerfa, $this->db, DEBUG); |
$this->cerfa = new cerfa($cerfa, $this->db, DEBUG); |
44 |
|
//On vérifie que le cerfa est en cours de validité |
45 |
|
$date_debut = new DateTime($this->cerfa->getVal("om_validite_debut")); |
46 |
|
$date_debut = $date_debut->format('Ymd'); |
47 |
|
|
48 |
|
$date_fin = new DateTime($this->cerfa->getVal("om_validite_fin")); |
49 |
|
$date_fin = $date_fin->format('Ymd'); |
50 |
|
|
51 |
|
$date_aujourdhui = date('Ymd'); |
52 |
|
|
53 |
|
// Teste si le cerfa est en cours de validité |
54 |
|
$is_encours = true; |
55 |
|
if ( $date_aujourdhui < $date_debut || $date_aujourdhui > $date_fin ){ |
56 |
|
$is_encours = false; |
57 |
|
} |
58 |
|
|
59 |
|
//Si le cerfa n'est pas en cours de validité, on affiche pas le formulaire |
60 |
|
//et on affiche un message d'erreur |
61 |
|
if ( $is_encours == false){ |
62 |
|
$this->f->displayMessage("error", _("Aucun cerfa en cours de validite lie a ce dossier")); |
63 |
|
die(); |
64 |
|
} |
65 |
} else { |
} else { |
66 |
$this->f->displayMessage("error", _("Aucun cerfa lie a ce type de dossier")); |
$this->f->displayMessage("error", _("Aucun cerfa lie a ce type de dossier")); |
67 |
die(); |
die(); |
182 |
} |
} |
183 |
// Renumérotation |
// Renumérotation |
184 |
$this->champs = array_values($this->champs); |
$this->champs = array_values($this->champs); |
185 |
|
|
186 |
|
$idxformulaire = $this->getParameter("idxformulaire"); |
187 |
|
//Si le dossier d'instruction auquel sont rattachées les données techniques |
188 |
|
//est cloturé, on affiche pas le lien de modification du portlet |
189 |
|
if ( $idxformulaire != '' ){ |
190 |
|
|
191 |
|
//On récuppère le statut du dossier d'instruction |
192 |
|
$statut = $this->f->getStatutDossier($idxformulaire); |
193 |
|
if ( $this->f->isUserInstructeur() && $statut == "cloture" ){ |
194 |
|
|
195 |
|
//On cache le lien de modification |
196 |
|
$this->parameters["actions"]["modifier"] = NULL; |
197 |
|
} |
198 |
|
} |
199 |
} |
} |
200 |
|
|
201 |
|
/** |
202 |
|
* Cette methode est à surcharger elle permet de tester dans chaque classe |
203 |
|
* des droits spécifiques en fonction des données |
204 |
|
*/ |
205 |
|
function canAccess() { |
206 |
|
// Si l'utilisateur est un instructeur et que le dossier est cloturé |
207 |
|
if ( $this->f->isUserInstructeur() && |
208 |
|
$this->f->getStatutDossier($this->getParameter("idxformulaire")) == "cloture" |
209 |
|
&& $this->getParameter("maj") != 3) { |
210 |
|
|
211 |
|
return false; |
212 |
|
} |
213 |
|
// |
214 |
|
return true; |
215 |
|
} |
216 |
|
|
217 |
/** |
/** |
218 |
* Méthode permettant de définir le type des différents tableaux en fonction |
* Méthode permettant de définir le type des différents tableaux en fonction |
219 |
* des valeurs du cerfa |
* des valeurs du cerfa |
465 |
$form->setFieldset('tr_desc','F',''); |
$form->setFieldset('tr_desc','F',''); |
466 |
$form->setBloc('tr_desc','F'); |
$form->setBloc('tr_desc','F'); |
467 |
|
|
468 |
|
/*Fieldset n°4 Ouverture de chantier */ |
469 |
|
$form->setBloc('doc_date','D',"","col_12"); |
470 |
|
$form->setFieldset('doc_date','D' |
471 |
|
,_("Ouverture de chantier")); |
472 |
|
|
473 |
|
$form->setFieldset('doc_nb_log_autre','F',''); |
474 |
|
$form->setBloc('doc_nb_log_autre','F'); |
475 |
|
|
476 |
|
/*Fieldset n°4 Achèvement des travaux */ |
477 |
|
$form->setBloc('daact_date','D',"","col_12"); |
478 |
|
$form->setFieldset('daact_date','D' |
479 |
|
,_("Achevement des travaux")); |
480 |
|
|
481 |
|
$form->setFieldset('daact_nb_log_autre','F',''); |
482 |
|
$form->setBloc('daact_nb_log_autre','F'); |
483 |
|
|
484 |
/*Fieldset n°4 Projet d'aménagement */ |
/*Fieldset n°4 Projet d'aménagement */ |
485 |
$form->setBloc('am_lotiss','D',"","col_12"); |
$form->setBloc('am_lotiss','D',"","col_12"); |
577 |
|
|
578 |
$form->setBloc('co_statio_apr_surf','F'); |
$form->setBloc('co_statio_apr_surf','F'); |
579 |
|
|
580 |
|
// Description de modification |
581 |
|
$form->setBloc('mod_desc','D',"","col_12"); |
582 |
|
$form->setFieldset('mod_desc','D' |
583 |
|
,_("Objet de la modification")); |
584 |
|
$form->setFieldset('mod_desc','F',''); |
585 |
|
$form->setBloc('mod_desc','F'); |
586 |
|
|
587 |
/*Fieldset n°6 Projet necessitant demolitions */ |
/*Fieldset n°6 Projet necessitant demolitions */ |
588 |
$form->setBloc('dm_constr_dates','D',"","col_12"); |
$form->setBloc('dm_constr_dates','D',"","col_12"); |
589 |
$form->setFieldset('dm_constr_dates','D' |
$form->setFieldset('dm_constr_dates','D' |
685 |
} |
} |
686 |
} |
} |
687 |
} |
} |
688 |
|
|
689 |
|
/** |
690 |
|
* Cette variable permet de stocker le résultat de la méthode |
691 |
|
* getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de |
692 |
|
* ces appels. |
693 |
|
* @var string Code de la division du dossier en cours |
694 |
|
*/ |
695 |
|
var $_division_from_dossier = NULL; |
696 |
|
|
697 |
|
/** |
698 |
|
* Cette méthode permet de récupérer le code de division correspondant |
699 |
|
* au dossier sur lequel on se trouve. |
700 |
|
* |
701 |
|
* @return string Code de la division du dossier en cours |
702 |
|
*/ |
703 |
|
function getDivisionFromDossier() { |
704 |
|
|
705 |
|
// Cette méthode peut être appelée plusieurs fois lors d'une requête. |
706 |
|
// Pour éviter de refaire le traitement de recherche de la division |
707 |
|
// alors on vérifie si nous ne l'avons pas déjà calculé. |
708 |
|
if ($this->_division_from_dossier != NULL) { |
709 |
|
// Logger |
710 |
|
$this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE); |
711 |
|
// On retourne la valeur déjà calculée |
712 |
|
return $this->_division_from_dossier; |
713 |
|
} |
714 |
|
|
715 |
|
// Par défaut, on définit la valeur du dossier à NULL |
716 |
|
$dossier = NULL; |
717 |
|
// Test sur le mode et le contexte du formulaire |
718 |
|
if ($this->getParameter("maj") == 0 |
719 |
|
&& ($this->getParameter("retourformulaire") == "dossier" |
720 |
|
|| $this->getParameter("retourformulaire") == "dossier_instruction" |
721 |
|
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours" |
722 |
|
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours" |
723 |
|
|| $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures" |
724 |
|
|| $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) { |
725 |
|
// Si on se trouve en mode AJOUT (seul mode où l'enregistrement |
726 |
|
// n'existe pas en base de données) ET que nous nous trouvons |
727 |
|
// dans le contexte d'un dossier d'instruction alors on récupère |
728 |
|
// le numéro de dossier depuis le paramètre 'idxformulaire' |
729 |
|
$dossier = $this->getParameter("idxformulaire"); |
730 |
|
} else { |
731 |
|
// Sinon on récupère le numéro de dossier dans le champs dossier de |
732 |
|
// l'enregistrement (en base de données) |
733 |
|
$dossier = $this->getVal("dossier"); |
734 |
|
} |
735 |
|
|
736 |
|
// On appelle la méthode de la classe utils qui renvoi le code de la |
737 |
|
// division d'un dossier, on la stocke pour ne pas refaire le calcul au |
738 |
|
// prochain appel de cette méthode |
739 |
|
$this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier); |
740 |
|
// Logger |
741 |
|
$this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE); |
742 |
|
// On retourne la valeur retournée |
743 |
|
return $this->_division_from_dossier; |
744 |
|
|
745 |
|
} |
746 |
}// fin classe |
}// fin classe |
747 |
?> |
?> |