Fix plugin sedi, introdotto reimposta permessi per i gruppi di utenti
This commit is contained in:
parent
64af633207
commit
6f0299ddd5
|
@ -53,7 +53,7 @@ if (!empty($results)) {
|
|||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Nessun intervento su questo impianto').'...</p>';
|
||||
<div class=\'alert alert-info\' ><i class=\'fa fa-info-circle\'></i> '.tr('Nessun intervento su questo impianto').'.</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -44,6 +44,9 @@ if (!empty($records[0]['immagine'])) {
|
|||
<div class="clearfix"></div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<?php
|
||||
echo Modules::link('Anagrafiche', $records[0]['idanagrafica'], null, null, 'class="pull-right"');
|
||||
?>
|
||||
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Cliente' AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "$idanagrafica$", "extra": "", "ajax-source": "clienti" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -235,7 +235,7 @@ if (!empty($rs2)) {
|
|||
echo '
|
||||
<div class="clearfix"></div>
|
||||
<div class="col-md-12">
|
||||
<div class="alert alert-info">'.tr('Nessun intervento collegato a questo componente!').'</div>
|
||||
<div class="alert alert-info"><i class=\'fa fa-info-circle\'></i> '.tr('Nessun intervento collegato a questo componente!').'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
|
@ -254,27 +254,30 @@ if (!empty($rs2)) {
|
|||
// Pulsante Salva/Elimina
|
||||
echo '
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button>
|
||||
|
||||
<a class="btn btn-danger ask" data-backto="record-edit" data-op="unlinkcomponente" data-id="'.$rs2[$j]['id'].'">
|
||||
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
||||
</a>
|
||||
</div>';
|
||||
<button type="submit" class="btn btn-success"><i class="fa fa-check"></i> '.tr('Salva modifiche').'</button>';
|
||||
|
||||
|
||||
|
||||
// Sostituisci componente con un altro dello stesso tipo, posso sostituire solo i componenti installati
|
||||
echo '
|
||||
<div class="col-md-12">';
|
||||
if (empty($rs2[$j]['data_sostituzione'])) {
|
||||
echo "
|
||||
<a href=\"javascript:;\" class=\"text-warning\" onclick=\"if( confirm('".tr('Vuoi sostituire questo componente con un altro dello stesso tipo?')."') ){ location.href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=sostituiscicomponente&backto=record-edit&filename='.$filename.'&id='.$rs2[$j]['id']."'; }\"><i class='fa fa-refresh'></i> ".tr('Sostituisci questo componente').'</a><br><br>';
|
||||
<button class=\"btn btn-warning\" onclick=\"if( confirm('".tr('Vuoi sostituire questo componente con un altro dello stesso tipo?')."') ){ location.href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=sostituiscicomponente&backto=record-edit&filename='.$filename.'&id='.$rs2[$j]['id']."'; }\"><i class='fa fa-refresh'></i> ".tr('Sostituisci questo componente').'</button>';
|
||||
} else {
|
||||
echo '
|
||||
<p class="text-danger">'.tr('Componente già sostituito').'</p>';
|
||||
<button class="btn btn-warning disabled" disabled>'.tr('Componente già sostituito').'</button>';
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
<a class="btn btn-danger ask" data-backto="record-edit" data-op="unlinkcomponente" data-id="'.$rs2[$j]['id'].'">
|
||||
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
||||
</a>';
|
||||
|
||||
|
||||
|
||||
echo '
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -285,7 +288,7 @@ if (!empty($rs2)) {
|
|||
</div>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Nessun componente inserito').'.</p>';
|
||||
<div class=\'alert alert-info\' ><i class=\'fa fa-info-circle\'></i> '.tr('Nessun componente inserito').'.</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -122,12 +122,17 @@ switch (filter('op')) {
|
|||
}
|
||||
break;
|
||||
|
||||
// Disabilita API utente
|
||||
case 'token':
|
||||
$token = $dbo->fetchOne('SELECT `enabled` FROM `zz_tokens` WHERE `id_utente` = '.prepare($id_record));
|
||||
// Abilita API utente
|
||||
case 'token_enable':
|
||||
if ($dbo->query('UPDATE zz_tokens SET enabled = 1 WHERE id_utente = '.prepare($id_utente))) {
|
||||
$_SESSION['infos'][] = tr('Token abilitato!');
|
||||
}
|
||||
break;
|
||||
|
||||
if ($dbo->query('UPDATE zz_tokens SET enabled = '.(empty($token['enabled']) ? 1 : 0).' WHERE id_utente = '.prepare($id_utente))) {
|
||||
$_SESSION['infos'][] = tr('Utente eliminato!');
|
||||
// Disabilita API utente
|
||||
case 'token_disable':
|
||||
if ($dbo->query('UPDATE zz_tokens SET enabled = 0 WHERE id_utente = '.prepare($id_utente))) {
|
||||
$_SESSION['infos'][] = tr('Token disabilitato!');
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -149,6 +154,39 @@ switch (filter('op')) {
|
|||
|
||||
break;
|
||||
|
||||
// Impostazione/reimpostazione dei permessi di accesso di default
|
||||
case 'restore_permission':
|
||||
|
||||
//Gruppo Tecnici
|
||||
if ($dbo->fetchArray('SELECT `nome` FROM `zz_groups` WHERE `id` = '.prepare($id_record))[0]['nome']=='Tecnici'){
|
||||
|
||||
$data = array ();
|
||||
$data['Dashboard'] = 'rw';
|
||||
$data['Anagrafiche'] = 'rw';
|
||||
$data['Interventi'] = 'rw';
|
||||
$data['Magazzino'] = 'rw';
|
||||
$data['Articoli'] = 'rw';
|
||||
|
||||
$dbo->query('DELETE FROM zz_permissions WHERE idgruppo='.prepare($id_record));
|
||||
|
||||
foreach ($data as $module => $permessi) {
|
||||
|
||||
$idmodule = $dbo->fetchArray('SELECT `id` FROM `zz_modules` WHERE `name` = "'.$module.'"')[0]['id'];
|
||||
|
||||
$dbo->insert('zz_permissions', [
|
||||
'idgruppo' => $id_record,
|
||||
'idmodule' => $idmodule,
|
||||
'permessi' => $permessi,
|
||||
]);
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = tr('Permessi reimpostati.');
|
||||
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Aggiornamento dei permessi di accesso
|
||||
case 'update_permission':
|
||||
$permessi = filter('permesso');
|
||||
|
|
|
@ -68,13 +68,12 @@ if (!empty($utenti)) {
|
|||
// Disabilitazione token API, se diverso da id_utente #1 (admin)
|
||||
if ($utente['id'] != '1') {
|
||||
$token = $dbo->fetchOne('SELECT `enabled` FROM `zz_tokens` WHERE `id_utente` = '.prepare($utente['id']));
|
||||
|
||||
if (!empty($token['enabled'])) {
|
||||
echo '
|
||||
<a href="javascript:;" onclick="swal({ title: \''.tr("Disabilitare l\'accesso API per questo utente?").'\', type: \'info\', showCancelButton: true, confirmButtonText: \''.tr('Sì').'\' }).then(function (result) { location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=token&id_utente='.$utente['id'].'&idgruppo='.$record['id'].'\'; }) " title="Disabilita API" class="text-danger tip"><i class="fa fa-2x fa-key"></i></a>';
|
||||
<a href="javascript:;" onclick="swal({ title: \''.tr("Disabilitare l\'accesso API per questo utente?").'\', type: \'info\', showCancelButton: true, confirmButtonText: \''.tr('Sì').'\' }).then(function (result) { location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=token_disable&id_utente='.$utente['id'].'&idgruppo='.$record['id'].'\'; }) " title="Disabilita API" class="text-danger tip"><i class="fa fa-2x fa-key"></i></a>';
|
||||
} else {
|
||||
echo '
|
||||
<a href="javascript:;" onclick="swal({ title: \''.tr("Abilitare l\'accesso API per questo utente?").'\', type: \'info\', showCancelButton: true, confirmButtonText: \''.tr('Sì').'\' }).then(function (result) { location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=token&id_utente='.$utente['id'].'&idgruppo='.$record['id'].'\'; }) " title="Abilitare API" class="text-success tip"><i class="fa fa-2x fa-key"></i></a>';
|
||||
<a href="javascript:;" onclick="swal({ title: \''.tr("Abilitare l\'accesso API per questo utente?").'\', type: \'info\', showCancelButton: true, confirmButtonText: \''.tr('Sì').'\' }).then(function (result) { location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=token_enable&id_utente='.$utente['id'].'&idgruppo='.$record['id'].'\'; }) " title="Abilitare API" class="text-success tip"><i class="fa fa-2x fa-key"></i></a>';
|
||||
}
|
||||
} else {
|
||||
echo '
|
||||
|
@ -99,7 +98,7 @@ if (!empty($utenti)) {
|
|||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Non ci sono utenti in questo gruppo').'...</p>';
|
||||
<div class=\'alert alert-info\' ><i class=\'fa fa-info-circle\'></i> '.tr('Non ci sono utenti in questo gruppo').'.</div>';
|
||||
}
|
||||
echo '
|
||||
<a data-toggle="modal" data-target="#bs-popup" data-href="'.$rootdir.'/modules/utenti/user.php?idgruppo='.$record['id'].'" data-title="'.tr('Aggiungi utente').'" class="pull-right btn btn-primary"><i class="fa fa-plus"></i> '.tr('Aggiungi utente').'</a>
|
||||
|
@ -115,7 +114,8 @@ echo '
|
|||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Permessi _GROUP_', [
|
||||
'_GROUP_' => $records[0]['nome'],
|
||||
]).'</h3>
|
||||
]).((empty($records[0]['editable'])) ? '<button class=\'btn btn-xs btn-info pull-right ask\' data-msg="'.tr('Verranno reimpostati i permessi di default per il gruppo \''.$records[0]['nome'].'\' ').'." data-class="btn btn-lg btn-warning" data-button="'.tr('Reimposta permessi').'" data-op="restore_permission" >'.tr('Reimposta permessi').'</button>' : '').'</h3>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="panel-body">';
|
||||
|
@ -143,7 +143,7 @@ if ($record['nome'] != 'Amministratori') {
|
|||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Gli amministratori hanno accesso a qualsiasi modulo').'.</p>';
|
||||
<div class=\'alert alert-info\' ><i class=\'fa fa-info-circle\'></i> '.tr('Gli amministratori hanno accesso a qualsiasi modulo').'.</div>';
|
||||
}
|
||||
echo '
|
||||
</div>
|
||||
|
|
|
@ -13,6 +13,7 @@ switch ($operazione) {
|
|||
'indirizzo2' => $post['indirizzo2'],
|
||||
'citta' => $post['citta'],
|
||||
'cap' => $post['cap'],
|
||||
'provincia' => $post['provincia'],
|
||||
'km' => $post['km'],
|
||||
'cellulare' => $post['cellulare'],
|
||||
'telefono' => $post['telefono'],
|
||||
|
|
|
@ -17,24 +17,24 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "'.tr('Secondo indirizzo').'", "name": "indirizzo2" ]}
|
||||
{[ "type": "text", "label": "'.tr('Indirizzo2').'", "name": "indirizzo2" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia" ]}
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "maxlength": 2, "class": "text-center" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('Km').'", "name": "km" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -28,7 +28,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "'.tr('Secondo indirizzo').'", "name": "indirizzo2", "value": "$indirizzo2$" ]}
|
||||
{[ "type": "text", "label": "'.tr('Indirizzo2').'", "name": "indirizzo2", "value": "$indirizzo2$" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -43,19 +43,19 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "'.tr('Città').'", "name": "citta", "id": "citta_", "value": "$citta$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('C.A.P.').'", "name": "cap", "value": "$cap$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "value": "$provincia$" ]}
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "'.tr('Provincia').'", "name": "provincia", "value": "$provincia$", "maxlength": 2, "class": "text-center" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "number", "label": "'.tr('Km').'", "name": "km", "value": "$km$" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue