1 |
vpihour |
632 |
<?php |
2 |
|
|
//$Id$ |
3 |
|
|
//gen openMairie le 08/11/2012 14:00 |
4 |
|
|
|
5 |
|
|
require_once ("../gen/obj/demande.class.php"); |
6 |
|
|
|
7 |
|
|
class demande extends demande_gen { |
8 |
|
|
|
9 |
nhaye |
828 |
var $valIdDemandeur = array(); |
10 |
nhaye |
807 |
|
11 |
vpihour |
632 |
function demande($id,&$db,$debug) { |
12 |
|
|
$this->constructeur($id,$db,$debug); |
13 |
|
|
}// fin constructeur |
14 |
vpihour |
651 |
|
15 |
vpihour |
799 |
/* |
16 |
|
|
* La date du jour par défaut dans le champs date_demande |
17 |
|
|
* Put the date of the day by default into the field date_demande |
18 |
|
|
*/ |
19 |
vpihour |
635 |
function setVal(&$form, $maj, $validation, &$db) { |
20 |
|
|
if($maj == 0) { |
21 |
|
|
$form->setVal("date_demande",date('d/m/Y')); |
22 |
|
|
} |
23 |
|
|
} |
24 |
|
|
|
25 |
vpihour |
799 |
/* |
26 |
|
|
* Ajout du fielset |
27 |
|
|
* Add fieldset |
28 |
|
|
*/ |
29 |
vpihour |
635 |
function setLayout(&$form, $maj){ |
30 |
|
|
if ( $maj < 2 OR $maj == 3 ) { |
31 |
|
|
|
32 |
|
|
//Champs sur lequel s'ouvre le fieldset |
33 |
nhaye |
807 |
$form->setBloc('dossier_autorisation_type_detaille','D',"","dossier_type col_8"); |
34 |
|
|
|
35 |
|
|
$form->setFieldset('dossier_autorisation_type_detaille','D' |
36 |
|
|
,_('Type de dossier/demande')); |
37 |
|
|
$form->setFieldset('demande_type','F',''); |
38 |
|
|
|
39 |
|
|
$form->setBloc('demande_type','F'); |
40 |
|
|
|
41 |
|
|
$form->setBloc('date_demande','D',"","col_4 demande_hidden_bloc"); |
42 |
|
|
$form->setFieldset('date_demande','D',_('Date de la demande')); |
43 |
|
|
$form->setFieldset('date_demande','F',''); |
44 |
vpihour |
635 |
$form->setBloc('date_demande','F'); |
45 |
|
|
|
46 |
nhaye |
807 |
$form->setBloc('terrain_references_cadastrales','D',"", |
47 |
|
|
"localisation col_12 demande_hidden_bloc"); |
48 |
vpihour |
693 |
$form->setFieldset('terrain_references_cadastrales','D',_('Localisation du terrain')); |
49 |
|
|
$form->setFieldset('terrain_superficie','F',''); |
50 |
vpihour |
635 |
$form->setBloc('terrain_superficie','F'); |
51 |
vpihour |
676 |
|
52 |
nhaye |
807 |
$form->setBloc('nombre_lots','D',"","lots col_12 demande_hidden_bloc"); |
53 |
vpihour |
693 |
$form->setFieldset('nombre_lots','D',_('Nombre de lots')); |
54 |
|
|
$form->setFieldset('nombre_lots','F',''); |
55 |
vpihour |
676 |
$form->setBloc('nombre_lots','F'); |
56 |
vpihour |
635 |
} |
57 |
|
|
} |
58 |
vpihour |
641 |
|
59 |
vpihour |
799 |
/* |
60 |
|
|
* Ajoute des actions sur les deux premiers select |
61 |
|
|
* Add actions on the two first select |
62 |
|
|
*/ |
63 |
vpihour |
641 |
function setOnchange(&$form,$maj){ |
64 |
|
|
parent::setOnchange($form,$maj); |
65 |
|
|
$form->setOnchange("dossier_autorisation_type_detaille","changeDemandeType();"); |
66 |
|
|
$form->setOnchange("demande_type","showFormsDemande();"); |
67 |
|
|
} |
68 |
vpihour |
635 |
|
69 |
vpihour |
799 |
/* |
70 |
|
|
* Cache le champ terrain_references_cadastrales |
71 |
|
|
* Hide the fiels terrain_references_cadastrales |
72 |
|
|
*/ |
73 |
vpihour |
651 |
function setType(&$form,$maj) { |
74 |
|
|
parent::setType($form,$maj); |
75 |
|
|
|
76 |
vpihour |
689 |
$form->setType('dossier_instruction', 'hidden'); |
77 |
|
|
$form->setType('dossier_autorisation', 'hidden'); |
78 |
vpihour |
651 |
} |
79 |
vpihour |
676 |
|
80 |
nhaye |
807 |
/** |
81 |
nhaye |
828 |
* Ajout des délégataires et pétitionnaires |
82 |
nhaye |
807 |
**/ |
83 |
nhaye |
828 |
function triggerAjouterApres($id, &$db, $val, $DEBUG){ |
84 |
|
|
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
85 |
|
|
|
86 |
|
|
} |
87 |
|
|
function triggerModifierApres($id, &$db, $val, $DEBUG){ |
88 |
|
|
$this->insertLinkDemandeDemandeur($db, $DEBUG); |
89 |
|
|
|
90 |
|
|
} |
91 |
|
|
|
92 |
|
|
/** |
93 |
|
|
* Insertion des liens entre la demande et les demendeurs recement ajoutés |
94 |
|
|
**/ |
95 |
|
|
function insertLinkDemandeDemandeur($db, $DEBUG) { |
96 |
|
|
$postedValues=$this->getPostedValues(); |
97 |
|
|
// |
98 |
|
|
require_once "../obj/lien_demande_demandeur.class.php"; |
99 |
|
|
$lien_demande_demandeur = new lien_demande_demandeur("]", $db, $DEBUG); |
100 |
|
|
// Traitement du tableau des des valeurs postées |
101 |
|
|
foreach ($postedValues as $type => $demandeur) { |
102 |
|
|
// Liste des petitionnaires secondaires |
103 |
|
|
if($type == "petitionnaire" AND count($postedValues["petitionnaire"]) > 0) { |
104 |
|
|
foreach ($demandeur as $petitionnaire) { |
105 |
|
|
// Enregistrement des liens demande petitionnaire |
106 |
|
|
$lien = array('lien_demande_demandeur' => "", |
107 |
|
|
'petitionnaire_principal' => "f", |
108 |
|
|
'demande' => $this->valF['demande'], |
109 |
|
|
'demandeur' => $petitionnaire); |
110 |
|
|
$lien_demande_demandeur -> ajouter($lien, $db, $DEBUG); |
111 |
nhaye |
807 |
} |
112 |
nhaye |
828 |
} else { |
113 |
|
|
// Enregistrement des liens demande, patitionnaire_principal/delegataire |
114 |
|
|
$lien = array('lien_demande_demandeur' => "", |
115 |
|
|
'petitionnaire_principal' => |
116 |
|
|
(($type == "petitionnaire_principal")? "t":"f" ), |
117 |
|
|
'demande' => $this->valF['demande'], |
118 |
|
|
'demandeur' => $demandeur); |
119 |
|
|
$lien_demande_demandeur -> ajouter($lien, $db, $DEBUG); |
120 |
|
|
|
121 |
nhaye |
807 |
} |
122 |
nhaye |
828 |
} |
123 |
|
|
// Affichage du nombre de liaisons |
124 |
|
|
if(count($postedValues) > 1) { |
125 |
|
|
$this->addToMessage(count($postedValues)." "._("demandeurs ont ete ajoutes")); |
126 |
|
|
} else { |
127 |
|
|
$this->addToMessage(_("Un demandeur a ete ajoute")); |
128 |
|
|
} |
129 |
|
|
|
130 |
|
|
} |
131 |
|
|
|
132 |
|
|
/** |
133 |
|
|
* Methode de recupération des valeurs postées |
134 |
|
|
**/ |
135 |
|
|
function getPostedValues() { |
136 |
|
|
// Récupération des demandeurs dans POST |
137 |
|
|
$values=array(); |
138 |
|
|
if (isset($_POST['petitionnaire_principal']) OR |
139 |
|
|
isset($_POST['delegataire']) OR |
140 |
|
|
isset($_POST['petitionnaire'])) { |
141 |
|
|
if( isset($_POST['petitionnaire_principal']) AND |
142 |
|
|
!empty($_POST['petitionnaire_principal'])) { |
143 |
|
|
$values['petitionnaire_principal'] = $_POST['petitionnaire_principal']; |
144 |
nhaye |
807 |
} |
145 |
nhaye |
828 |
if( isset($_POST['delegataire']) AND |
146 |
|
|
!empty($_POST['delegataire'])) { |
147 |
|
|
$values['delegataire'] = $_POST['delegataire']; |
148 |
|
|
} |
149 |
|
|
if( isset($_POST['petitionnaire']) AND |
150 |
|
|
!empty($_POST['petitionnaire'])) { |
151 |
|
|
$values['petitionnaire'] = $_POST['petitionnaire']; |
152 |
|
|
} |
153 |
nhaye |
807 |
} |
154 |
nhaye |
828 |
return $values; |
155 |
vpihour |
676 |
} |
156 |
nhaye |
828 |
/** |
157 |
|
|
* Méthode permettant de récupérer les id des demandeur lié à la demande |
158 |
|
|
**/ |
159 |
|
|
function setValIdDemandeur() { |
160 |
|
|
// Récupération des demandeurs de la base |
161 |
|
|
$sql = "SELECT demandeur.demandeur, |
162 |
|
|
demandeur.type_demandeur, |
163 |
|
|
lien_demande_demandeur.petitionnaire_principal |
164 |
|
|
FROM ".DB_PREFIXE."lien_demande_demandeur |
165 |
|
|
INNER JOIN ".DB_PREFIXE."demandeur |
166 |
|
|
ON demandeur.demandeur=lien_demande_demandeur.demandeur |
167 |
|
|
WHERE demande = ".$this->val[array_search('demande', $this->champs)]; |
168 |
|
|
$res = $this->f->db->query($sql); |
169 |
|
|
$this->f->addToLog("setValIdDemandeur() : ".$sql); |
170 |
|
|
$this->f->isDatabaseError($res); |
171 |
|
|
// Stoquage du résultat dans un tableau |
172 |
|
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
173 |
|
|
if ($row['petitionnaire_principal'] == 't' AND |
174 |
|
|
$row['type_demandeur']=="petitionnaire") { |
175 |
|
|
$this->valIdDemandeur['petitionnaire_principal']=$row['demandeur']; |
176 |
|
|
} elseif ($row['petitionnaire_principal'] == 'f' AND |
177 |
|
|
$row['type_demandeur']=="petitionnaire"){ |
178 |
|
|
$this->valIdDemandeur['petitionnaire'][]=$row['demandeur']; |
179 |
|
|
} elseif ($row['type_demandeur']=="delegataire"){ |
180 |
|
|
$this->valIdDemandeur['delegataire']=$row['demandeur']; |
181 |
|
|
} |
182 |
|
|
} |
183 |
|
|
// Demandeurs de la base ÉCRASÉS dans le tableau par ceux du POST |
184 |
|
|
$this->valIdDemandeur = array_merge($this->valIdDemandeur, $this->getPostedValues()); |
185 |
|
|
} |
186 |
nhaye |
807 |
|
187 |
|
|
/** |
188 |
|
|
* Ajout de la liste des demandeurs |
189 |
|
|
*/ |
190 |
|
|
function formSpecificContent($maj) { |
191 |
nhaye |
828 |
$this->setValIdDemandeur(); |
192 |
nhaye |
807 |
// Conteneur de la listes des demandeurs |
193 |
nhaye |
808 |
echo "<div class=\"demande_hidden_bloc col_12\">"; |
194 |
nhaye |
807 |
echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\">"; |
195 |
|
|
echo " <legend class=\"ui-corner-all ui-widget-content ui-state-active\">" |
196 |
|
|
._("Petitionnaire")."</legend>"; |
197 |
|
|
// Si des demandeurs sont liés à la demande |
198 |
nhaye |
828 |
require_once "../obj/petitionnaire.class.php"; |
199 |
|
|
require_once "../obj/delegataire.class.php"; |
200 |
nhaye |
807 |
|
201 |
nhaye |
828 |
// Affichage du bloc pétitionnaire principal / délégataire |
202 |
|
|
echo "<div id=\"petitionnaire_principal_delegataire\">"; |
203 |
|
|
// Affichage de la synthèse |
204 |
|
|
if (isset ($this->valIdDemandeur["petitionnaire_principal"]) AND |
205 |
|
|
!empty($this->valIdDemandeur["petitionnaire_principal"])) { |
206 |
|
|
$demandeur = new petitionnaire( |
207 |
|
|
$this->valIdDemandeur["petitionnaire_principal"], |
208 |
|
|
$this->f->db,false); |
209 |
|
|
$demandeur -> afficherSynthese("petitionnaire_principal"); |
210 |
|
|
$demandeur -> __destruct(); |
211 |
nhaye |
807 |
} else { |
212 |
nhaye |
828 |
// Si en édition de formulaire |
213 |
|
|
if($maj < 2 AND $this->correct != true) { |
214 |
|
|
// Bouton d'ajout du pétitionnaire principal |
215 |
|
|
echo "<input id=\"add_petitionnaire_principal\" |
216 |
|
|
class=\"ui-button ui-widget ui-state-default ui-corner-all\" |
217 |
|
|
type=\"button\" value=\""._("Saisir le petitionnaire principal")."\"/>"; |
218 |
|
|
} |
219 |
nhaye |
807 |
} |
220 |
nhaye |
828 |
// Affichage de la synthèse |
221 |
|
|
if (isset ($this->valIdDemandeur["delegataire"]) AND |
222 |
|
|
!empty($this->valIdDemandeur["delegataire"])) { |
223 |
|
|
echo " <span class=\"om-icon om-icon-16 om-icon-fix arrow-right-16\">></span> "; |
224 |
|
|
$demandeur = new delegataire($this->valIdDemandeur["delegataire"], |
225 |
|
|
$this->f->db,false); |
226 |
|
|
$demandeur -> afficherSynthese("delegataire"); |
227 |
|
|
$demandeur -> __destruct(); |
228 |
|
|
} else { |
229 |
|
|
if($maj < 2 AND $this->correct != true AND |
230 |
|
|
isset ($this->valIdDemandeur["petitionnaire_principal"]) AND |
231 |
|
|
!empty($this->valIdDemandeur["petitionnaire_principal"])) { |
232 |
|
|
echo " <span class=\"om-icon om-icon-16 om-icon-fix arrow-right-16\">></span> "; |
233 |
|
|
// Bouton d'ajout du pétitionnaire principal |
234 |
|
|
echo "<input id=\"add_delegataire\" |
235 |
|
|
class=\"ui-button ui-widget ui-state-default ui-corner-all\" |
236 |
|
|
type=\"button\" value=\""._("Saisir le delegataire")."\"/>"; |
237 |
|
|
} |
238 |
|
|
} |
239 |
|
|
echo "</div>"; |
240 |
|
|
|
241 |
|
|
// Bloc des pétitionnaires secondaires |
242 |
|
|
echo "<div id=\"listePetitionnaires\">"; |
243 |
|
|
|
244 |
|
|
// Affichage de la synthèse |
245 |
|
|
if (isset ($this->valIdDemandeur["petitionnaire"]) AND |
246 |
|
|
!empty($this->valIdDemandeur["petitionnaire"])) { |
247 |
|
|
|
248 |
|
|
foreach ($this->valIdDemandeur["petitionnaire"] as $petitionnaire) { |
249 |
|
|
$demandeur = new petitionnaire($petitionnaire, |
250 |
|
|
$this->f->db,false); |
251 |
|
|
$demandeur -> afficherSynthese("petitionnaire"); |
252 |
|
|
$demandeur -> __destruct(); |
253 |
|
|
} |
254 |
|
|
|
255 |
|
|
} |
256 |
|
|
if ($maj < 2 AND $this->correct != true AND |
257 |
|
|
isset ($this->valIdDemandeur["petitionnaire_principal"]) AND |
258 |
|
|
!empty($this->valIdDemandeur["petitionnaire_principal"])) { |
259 |
|
|
echo "<input id=\"add_petitionnaire\" |
260 |
|
|
class=\"ui-button ui-widget ui-state-default ui-corner-all\" |
261 |
|
|
type=\"button\" value=\""._("Ajouter un petitionnaire")."\"/>"; |
262 |
|
|
} |
263 |
|
|
echo "</div>"; |
264 |
nhaye |
807 |
echo "</fieldset>"; |
265 |
|
|
echo "</div>"; |
266 |
|
|
} |
267 |
|
|
|
268 |
vpihour |
632 |
}// fin classe |
269 |
|
|
?> |