6 |
|
|
7 |
class demande extends demande_gen { |
class demande extends demande_gen { |
8 |
|
|
9 |
var $valIdDemandeur; |
var $valIdDemandeur = array(); |
10 |
|
|
11 |
function demande($id,&$db,$debug) { |
function demande($id,&$db,$debug) { |
12 |
$this->constructeur($id,$db,$debug); |
$this->constructeur($id,$db,$debug); |
78 |
} |
} |
79 |
|
|
80 |
/** |
/** |
81 |
* Méthode permettant de récupérer les id des demandeur lié à la demande |
* Ajout des délégataires et pétitionnaires |
82 |
|
**/ |
83 |
|
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 getValIdDemandeur() { |
function insertLinkDemandeDemandeur($db, $DEBUG) { |
96 |
if( $validation > 0 ) { |
$postedValues=$this->getPostedValues(); |
97 |
foreach($_POST as $champ => $val) { |
// |
98 |
if(!in_array($champ, $this->champs)) { |
require_once "../obj/lien_demande_demandeur.class.php"; |
99 |
$this->valIdDemandeur[$champ]=$val; |
$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 |
} |
} |
112 |
|
} 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 |
|
} |
122 |
|
} |
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 |
|
} |
145 |
|
if( isset($_POST['delegataire']) AND |
146 |
|
!empty($_POST['delegataire'])) { |
147 |
|
$values['delegataire'] = $_POST['delegataire']; |
148 |
} |
} |
149 |
} elseif( $maj > 0 ) { |
if( isset($_POST['petitionnaire']) AND |
150 |
$sql = "SELECT demandeur, petitionnaire_principal |
!empty($_POST['petitionnaire'])) { |
151 |
FROM lien_demande_demandeur |
$values['petitionnaire'] = $_POST['petitionnaire']; |
|
WHERE demande = ".$this->val[array_search('demande', $this->champs)]; |
|
|
$res = $f->db->query($sql); |
|
|
$f->isDatabaseError($res); |
|
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
|
|
$this->valIdDemandeur[$row['demande']]=$row['petitionnaire_principal']; |
|
152 |
} |
} |
153 |
} |
} |
154 |
|
return $values; |
155 |
|
} |
156 |
|
/** |
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 |
|
|
187 |
/** |
/** |
188 |
* Ajout de la liste des demandeurs |
* Ajout de la liste des demandeurs |
189 |
*/ |
*/ |
190 |
function formSpecificContent($maj) { |
function formSpecificContent($maj) { |
191 |
|
$this->setValIdDemandeur(); |
192 |
// Conteneur de la listes des demandeurs |
// Conteneur de la listes des demandeurs |
193 |
echo "<div class=\"demande_hidden_bloc col_12\">"; |
echo "<div class=\"demande_hidden_bloc col_12\">"; |
194 |
echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\">"; |
echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\">"; |
195 |
echo " <legend class=\"ui-corner-all ui-widget-content ui-state-active\">" |
echo " <legend class=\"ui-corner-all ui-widget-content ui-state-active\">" |
196 |
._("Petitionnaire")."</legend>"; |
._("Petitionnaire")."</legend>"; |
197 |
// Si des demandeurs sont liés à la demande |
// Si des demandeurs sont liés à la demande |
198 |
if( count($this->valIdDemandeur) > 0 ) { |
require_once "../obj/petitionnaire.class.php"; |
199 |
|
require_once "../obj/delegataire.class.php"; |
200 |
|
|
201 |
|
// 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 |
} else { |
} else { |
212 |
// Bouton d'ajout du pétitionnaire principal |
// Si en édition de formulaire |
213 |
echo "<input id=\"add_petitionnaire_principal\" |
if($maj < 2 AND $this->correct != true) { |
214 |
class=\"ui-button ui-widget ui-state-default ui-corner-all\" |
// Bouton d'ajout du pétitionnaire principal |
215 |
type=\"button\" value=\""._("Saisir le petitionnaire principal")."\"/>"; |
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 |
|
} |
220 |
|
// 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 |
echo "</fieldset>"; |
echo "</fieldset>"; |
265 |
echo "</div>"; |
echo "</div>"; |
266 |
} |
} |