fix: creazione utenti senza sede e avviso creazione sede senza accesso

This commit is contained in:
valentina 2024-10-15 15:21:46 +02:00
parent bf0e3a0aa9
commit 425f659b6d
2 changed files with 19 additions and 5 deletions

View File

@ -96,21 +96,24 @@ switch (filter('op')) {
if (!empty($_FILES['photo']['tmp_name'])) { if (!empty($_FILES['photo']['tmp_name'])) {
$utente->photo = $_FILES['photo']; $utente->photo = $_FILES['photo'];
} }
// Anagrafica // Anagrafica
$id_anagrafica = filter('idanag'); $id_anagrafica = filter('idanag');
$utente->id_anagrafica = $id_anagrafica; $utente->id_anagrafica = $id_anagrafica;
// Gruppo // Gruppo
$id_azienda = setting('Azienda predefinita');
$id_gruppo = filter('idgruppo'); $id_gruppo = filter('idgruppo');
$utente->idgruppo = $id_gruppo; $utente->idgruppo = $id_gruppo;
$utente->save(); $utente->save();
$dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente)); $dbo->query('DELETE FROM zz_user_sedi WHERE id_user = '.prepare($id_utente));
$sedi = post('idsede'); $sedi= post('idsede');
if (empty($sedi)) { if (empty($sedi)) {
$sedi = [0]; $sedi = $dbo->fetchArray('SELECT id FROM an_sedi WHERE idanagrafica = '.prepare($id_azienda));
$sedi = array_column($sedi, 'id');
$sedi = array_merge([0], $sedi);
} }
foreach ($sedi as $id_sede) { foreach ($sedi as $id_sede) {
$dbo->query('INSERT INTO `zz_user_sedi` (`id_user`,`idsede`) VALUES ('.prepare($utente['id']).', '.prepare($id_sede).')'); $dbo->query('INSERT INTO `zz_user_sedi` (`id_user`,`idsede`) VALUES ('.prepare($utente['id']).', '.prepare($id_sede).')');

View File

@ -24,14 +24,25 @@ use Models\Plugin;
$referenti = $dbo->select('an_referenti', 'id', [], ['idsede' => $id_record, 'idanagrafica' => $id_parent]); $referenti = $dbo->select('an_referenti', 'id', [], ['idsede' => $id_record, 'idanagrafica' => $id_parent]);
$referenti = implode(',', array_column($referenti, 'id')); $referenti = implode(',', array_column($referenti, 'id'));
$id_azienda = setting('Azienda predefinita');
$utenti = $dbo->fetchArray('SELECT id_user FROM zz_user_sedi WHERE idsede = '.prepare($id_record).' AND id_user != '.prepare($id_azienda));
echo ' echo '
<form action="" method="post" role="form" id="form_sedi"> <form action="" method="post" role="form" id="form_sedi">
<input type="hidden" name="id_plugin" value="'.$id_plugin.'"> <input type="hidden" name="id_plugin" value="'.$id_plugin.'">
<input type="hidden" name="id_parent" value="'.$id_parent.'"> <input type="hidden" name="id_parent" value="'.$id_parent.'">
<input type="hidden" name="id_record" value="'.$record['id'].'"> <input type="hidden" name="id_record" value="'.$record['id'].'">
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="updatesede"> <input type="hidden" name="op" value="updatesede">';
if (!$utenti) {
echo'
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr('Nessun utente ha i permessi per questa sede, impostali da').' <a href='.base_path().'/editor.php?id_module='.Module::where('name', 'Utenti e permessi')->first()->id.' target="_blank">'.tr('Utenti e Permessi.').'</a>
</div>';
}
echo'
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "text", "label": "'.tr('Nome sede').'", "name": "nomesede", "required": 1, "value": "$nomesede$" ]} {[ "type": "text", "label": "'.tr('Nome sede').'", "name": "nomesede", "required": 1, "value": "$nomesede$" ]}
@ -186,7 +197,7 @@ if (!empty($elementi)) {
'_NUM_' => count($elementi), '_NUM_' => count($elementi),
]).'</h3> ]).'</h3>
<div class="card-tools pull-right"> <div class="card-tools pull-right">
<button type="button" class="btn btn-tool" data-widget="collapse"><i class="fa fa-plus"></i></button> <button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">