Skip to content

Commit 5170e0d

Browse files
committed
#730 [Admin] fix: use only two actions and getpost type
1 parent de6ed81 commit 5170e0d

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

admin/securityconf.php

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050

5151
// Parameters
5252
$action = GETPOST('action', 'aZ09');
53+
$type = GETPOST('type');
5354
$error = 0;
5455

5556
// Initialize technical objects
@@ -70,16 +71,16 @@
7071
* Actions
7172
*/
7273

73-
$parameters = array();
74+
$parameters = [];
7475
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
7576
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
7677

7778
if (($action == 'update' && ! GETPOST("cancel", 'alpha')) || ($action == 'updateedit')) {
7879
$labourDoctorId[0] = GETPOST('labourdoctor_socid', 'int') > 0 ? GETPOST('labourdoctor_socid', 'int') : 0 ;
7980
$labourInspectorId[0] = GETPOST('labourinspector_socid', 'int') > 0 ? GETPOST('labourinspector_socid', 'int') : 0;
8081

81-
$labourDoctorSocpeopleAssigned = ! empty(GETPOST('labourdoctor_contactid', 'array')) ? GETPOST('labourdoctor_contactid', 'array') : (GETPOST('labourdoctor_contactid', 'int') > 0 ? array(GETPOST('labourdoctor_contactid', 'int')) : array());
82-
$labourInspectorSocpeopleAssigned = ! empty(GETPOST('labourinspector_contactid', 'array')) ? GETPOST('labourinspector_contactid', 'array') : (GETPOST('labourinspector_contactid', 'int') > 0 ? array(GETPOST('labourinspector_contactid', 'int')) : array());
82+
$labourDoctorSocpeopleAssigned = !empty(GETPOST('labourdoctor_contactid', 'array')) ? GETPOST('labourdoctor_contactid', 'array') : (GETPOST('labourdoctor_contactid', 'int') > 0 ? array(GETPOST('labourdoctor_contactid', 'int')) : []);
83+
$labourInspectorSocpeopleAssigned = !empty(GETPOST('labourinspector_contactid', 'array')) ? GETPOST('labourinspector_contactid', 'array') : (GETPOST('labourinspector_contactid', 'int') > 0 ? array(GETPOST('labourinspector_contactid', 'int')) : []);
8384

8485
$resources->setDigiriskResources($db, $user->id, 'LabourDoctorSociety', 'societe', $labourDoctorId, $conf->entity);
8586
$resources->setDigiriskResources($db, $user->id, 'LabourInspectorSociety', 'societe', $labourInspectorId, $conf->entity);
@@ -171,6 +172,16 @@
171172

172173
<?php print '<table class="noborder centpercent editmode">';
173174

175+
if ($action == 'create_contact') {
176+
$lastContactCreated = saturne_fetch_all_object_type('contact', 'DESC', 'rowid', 1);
177+
$lastContactId = array_key_first($lastContactCreated);
178+
$contact->fetch($lastContactId);
179+
}
180+
181+
if ($action == 'create_soc') {
182+
$lastSocietyCreated = saturne_fetch_all_object_type('societe', 'DESC', 'rowid', 1);
183+
}
184+
174185
if (isModEnabled('societe')) {
175186
/*
176187
*** Labour Doctor -- Médecin du travail ***
@@ -184,23 +195,17 @@
184195
// * Third party concerned - Tiers concerné *
185196

186197
if ($labourdDoctorSociety->ref == 'LabourDoctorSociety') {
187-
$events = array();
198+
$events = [];
188199
$events[] = array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php?showempty=1', 1), 'htmlname' => 'labourdoctor_contactid', 'params' => array('add-customer-contact' => 'disabled'));
189200
$societe->fetch($labourdDoctorSociety->id[0]);
190201

191-
if ($action == 'createdoctorcontact') {
192-
$lastDoctorContact = $societe->contact_array();
193-
$lastDoctorContactId = array_key_last($lastDoctorContact);
194-
}
195-
196-
if ($action == 'createdoctorsoc') {
197-
$lastSocieteCreated = saturne_fetch_all_object_type('societe', 'DESC', 'rowid', 1);
198-
$labourdDoctorSociety->id[0] = array_key_first($lastSocieteCreated);
202+
if ($action == 'create_soc' && $type == $labourdDoctorSociety->ref) {
203+
$labourdDoctorSociety->id[0] = array_key_first($lastSocietyCreated);
199204
}
200205

201206
print $form->select_company($labourdDoctorSociety->id[0], 'labourdoctor_socid', '', 'SelectThirdParty', 1, 0, $events, 0, 'minwidth300');
202207
} else {
203-
$events = array();
208+
$events = [];
204209
$events[] = array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php?showempty=1', 1), 'htmlname' => 'labourdoctor_contactid', 'params' => array('add-customer-contact' => 'disabled'));
205210

206211
//For external user force the company to user company
@@ -211,7 +216,7 @@
211216
}
212217
}
213218
if (!GETPOSTISSET('backtopage')) {
214-
print ' <a href="' . DOL_URL_ROOT . '/societe/card.php?action=create&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=createdoctorsoc') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddThirdParty") . '"></span></a>';
219+
print ' <a href="' . DOL_URL_ROOT . '/societe/card.php?action=create&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=create_soc&type=' . $labourdDoctorSociety->ref) . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddThirdParty") . '"></span></a>';
215220
}
216221
print '</td></tr>';
217222

@@ -221,21 +226,21 @@
221226
$labourdDoctorContact = $allLinks['LabourDoctorContact'];
222227
$labourDoctorPreselectedIds = $labourdDoctorContact->id ?: [];
223228

224-
if (!empty($labourdDoctorSociety)) {
225-
$labourDoctorPreselectedIds = array_merge($labourDoctorPreselectedIds, [$lastDoctorContactId]);
229+
if ($action == 'create_contact' && $contact->fk_soc == $societe->id) {
230+
$labourDoctorPreselectedIds = array_merge($labourDoctorPreselectedIds, [$lastContactId]);
226231
}
227232

228233
if ($labourdDoctorContact->id) {
229-
print $form->selectcontacts(empty($labourdDoctorSociety->id[0]) ? -1 : $labourdDoctorSociety->id[0], $labourDoctorPreselectedIds, 'labourdoctor_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, array(), false, 'multiple', 'labourdoctor_contactid');
234+
print $form->selectcontacts(empty($labourdDoctorSociety->id[0]) ? -1 : $labourdDoctorSociety->id[0], $labourDoctorPreselectedIds, 'labourdoctor_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, [], false, 'multiple', 'labourdoctor_contactid');
230235
} else {
231236
$labourDoctorPreselectedIds = array_merge($labourDoctorPreselectedIds, GETPOST('labourdoctor_contactid', 'array'));
232237
if (GETPOST('labourdoctor_contactid', 'array')) {
233238
$labourDoctorPreselectedIds[GETPOST('labourdoctor_contactid', 'array')] = GETPOST('labourdoctor_contactid', 'array');
234239
}
235-
print $form->selectcontacts(empty(GETPOST('labourdoctor_socid', 'int')) ? $labourdDoctorSociety->id[0] : GETPOST('labourdoctor_socid', 'int'), $labourDoctorPreselectedIds, 'labourdoctor_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, array(), false, 'multiple', 'labourdoctor_contactid');
240+
print $form->selectcontacts(empty(GETPOST('labourdoctor_socid', 'int')) ? $labourdDoctorSociety->id[0] : GETPOST('labourdoctor_socid', 'int'), $labourDoctorPreselectedIds, 'labourdoctor_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, [], false, 'multiple', 'labourdoctor_contactid');
236241
}
237242
if (!GETPOSTISSET('backtopage')) {
238-
print ' <a href="' . DOL_URL_ROOT . '/contact/card.php?action=create&socid='. $labourdDoctorSociety->id[0] .'&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=createdoctorcontact') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddContact") . '"></span></a>';
243+
print ' <a href="' . DOL_URL_ROOT . '/contact/card.php?action=create&socid='. $labourdDoctorSociety->id[0] .'&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=create_contact') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddContact") . '"></span></a>';
239244
}
240245
print '</td></tr>';
241246

@@ -251,23 +256,17 @@
251256
// * Third party concerned - Tiers concerné *
252257

253258
if ($labourdInspectorSociete->ref == 'LabourInspectorSociety') {
254-
$events = array();
259+
$events = [];
255260
$events[] = array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php?showempty=1', 1), 'htmlname' => 'labourinspector_contactid', 'params' => array('add-customer-contact' => 'disabled'));
256261
$societe->fetch($labourdInspectorSociete->id[0]);
257262

258-
if ($action == 'createinspectorcontact') {
259-
$lastInspectorContact = $societe->contact_array();
260-
$lastInspectorContactId = array_key_last($lastInspectorContact);
261-
}
262-
263-
if ($action == 'createinspectorsoc') {
264-
$lastSocieteCreated = saturne_fetch_all_object_type('societe', 'DESC', 'rowid', 1);
265-
$labourdInspectorSociete->id[0] = array_key_first($lastSocieteCreated);
263+
if ($action == 'create_soc' && $type == $labourdInspectorSociete->ref) {
264+
$labourdInspectorSociete->id[0] = array_key_first($lastSocietyCreated);
266265
}
267266

268267
print $form->select_company($labourdInspectorSociete->id[0], 'labourinspector_socid', '', 0, 1, 0, $events, 0, 'minwidth300');
269268
} else {
270-
$events = array();
269+
$events = [];
271270
$events[] = array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php?showempty=1', 1), 'htmlname' => 'labourinspector_contactid', 'params' => array('add-customer-contact' => 'disabled'));
272271
//For external user force the company to user company
273272
if ( ! empty($user->socid)) {
@@ -277,7 +276,7 @@
277276
}
278277
}
279278
if (!GETPOSTISSET('backtopage')) {
280-
print ' <a href="' . DOL_URL_ROOT . '/societe/card.php?action=create&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=createinspectorsoc') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddThirdParty") . '"></span></a>';
279+
print ' <a href="' . DOL_URL_ROOT . '/societe/card.php?action=create&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=create_soc&type=' . $labourdInspectorSociete->ref) . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddThirdParty") . '"></span></a>';
281280
}
282281
print '</td></tr>';
283282

@@ -288,21 +287,21 @@
288287
$labourInspectorContacts = $allLinks['LabourInspectorContact'];
289288
$labourInspectorPreselectedIds = $labourInspectorContacts->id ?: [];
290289

291-
if (!empty($labourdInspectorSociete)) {
292-
$labourInspectorPreselectedIds = array_merge($labourInspectorPreselectedIds, [$lastInspectorContactId]);
290+
if ($action == 'create_contact' && $contact->fk_soc == $societe->id) {
291+
$labourInspectorPreselectedIds = array_merge($labourInspectorPreselectedIds, [$lastContactId]);
293292
}
294293

295294
if ($labourInspectorContacts->id) {
296-
print $form->selectcontacts(empty($labourdInspectorSociete->id[0]) ? -1 : $labourdInspectorSociete->id[0], $labourInspectorPreselectedIds, 'labourinspector_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, array(), false, 'multiple', 'labourinspector_contactid');
295+
print $form->selectcontacts(empty($labourdInspectorSociete->id[0]) ? -1 : $labourdInspectorSociete->id[0], $labourInspectorPreselectedIds, 'labourinspector_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, [], false, 'multiple', 'labourinspector_contactid');
297296
} else {
298297
$labourInspectorPreselectedIds = array_merge($labourInspectorPreselectedIds, GETPOST('labourinspector_contactid', 'array'));
299298
if (GETPOST('labourinspector_contactid', 'array')) {
300299
$labourInspectorPreselectedIds[GETPOST('labourinspector_contactid', 'array')] = GETPOST('labourinspector_contactid', 'array');
301300
}
302-
print $form->selectcontacts(empty(GETPOST('labourinspector_socid', 'int')) ? $labourdInspectorSociete->id[0] : GETPOST('labourinspector_socid', 'int'), $labourInspectorPreselectedIds, 'labourinspector_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, array(), false, 'multiple', 'labourinspector_contactid');
301+
print $form->selectcontacts(empty(GETPOST('labourinspector_socid', 'int')) ? $labourdInspectorSociete->id[0] : GETPOST('labourinspector_socid', 'int'), $labourInspectorPreselectedIds, 'labourinspector_contactid[]', 0, '', '', 0, 'minwidth500', false, 0, [], false, 'multiple', 'labourinspector_contactid');
303302
}
304303
if (!GETPOSTISSET('backtopage')) {
305-
print ' <a href="' . DOL_URL_ROOT . '/contact/card.php?action=create&socid='. $labourdInspectorSociete->id[0] .'&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=createinspectorcontact') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddContact") . '"></span></a>';
304+
print ' <a href="' . DOL_URL_ROOT . '/contact/card.php?action=create&socid='. $labourdInspectorSociete->id[0] .'&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=create_contact') . '"><span class="fa fa-plus-circle valignmiddle paddingleft" title="' . $langs->trans("AddContact") . '"></span></a>';
306305
}
307306
print '</td></tr>';
308307

0 commit comments

Comments
 (0)