Fix plugin sedi, introdotto reimposta permessi per i gruppi di utenti

This commit is contained in:
Luca 2018-08-28 17:10:23 +02:00
parent 64af633207
commit 6f0299ddd5
8 changed files with 89 additions and 44 deletions

View File

@ -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 '

View File

@ -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>

View File

@ -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 '

View File

@ -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');

View File

@ -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>

View File

@ -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'],

View File

@ -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>

View File

@ -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>