Aggiunta possibilità di impostare un tema diverso per ogni gruppo di utenti
This commit is contained in:
parent
02ffb6d811
commit
c26cc608f4
6
core.php
6
core.php
|
@ -221,6 +221,12 @@ if (!API\Response::isAPIRequest()) {
|
|||
|
||||
// Impostazione del tema grafico di default
|
||||
$theme = !empty($config['theme']) ? $config['theme'] : 'default';
|
||||
|
||||
//Set the group theme
|
||||
$user = auth()->getUser();
|
||||
if ($user->getThemeAttribute()){
|
||||
$theme = $user->getThemeAttribute();
|
||||
}
|
||||
|
||||
if ($continue) {
|
||||
// Periodo di visualizzazione dei record
|
||||
|
|
|
@ -26,13 +26,31 @@ $id_utente = filter('id_utente');
|
|||
switch (filter('op')) {
|
||||
// Aggiunta nuovo gruppo
|
||||
case 'add':
|
||||
$nome = filter('nome');
|
||||
|
||||
$nome = filter('nome');
|
||||
$id_module_start = filter('id_module_start') ?: null;
|
||||
$theme = filter('theme') ?: null;
|
||||
|
||||
// Verifico che questo nome gruppo non sia già stato usato
|
||||
if ($dbo->fetchNum('SELECT nome FROM zz_groups WHERE nome='.prepare($nome)) == 0) {
|
||||
$dbo->query('INSERT INTO zz_groups(nome, editable) VALUES('.prepare($nome).', 1)');
|
||||
|
||||
$dbo->insert('zz_groups', [
|
||||
'nome' => $nome,
|
||||
'id_module_start' => $id_module_start,
|
||||
'theme' => $theme,
|
||||
'editable' => 1,
|
||||
]);
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
if ($id_module_start){
|
||||
$dbo->insert('zz_permissions', [
|
||||
'idgruppo' => $id_record,
|
||||
'idmodule' => $id_module_start,
|
||||
'permessi' => 'r',
|
||||
]);
|
||||
}
|
||||
|
||||
flash()->info(tr('Gruppo aggiunto!'));
|
||||
} else {
|
||||
flash()->error(tr('Gruppo già esistente!'));
|
||||
|
@ -255,7 +273,7 @@ switch (filter('op')) {
|
|||
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
case 'update_id_module_start':
|
||||
$dbo->update('zz_groups', [
|
||||
'id_module_start' => filter('id_module_start'),
|
||||
], ['id' => $id_record]);
|
||||
|
@ -263,5 +281,15 @@ switch (filter('op')) {
|
|||
ob_end_clean();
|
||||
echo 'ok';
|
||||
|
||||
break;
|
||||
|
||||
case 'update_theme':
|
||||
$dbo->update('zz_groups', [
|
||||
'theme' => filter('theme'),
|
||||
], ['id' => $id_record]);
|
||||
|
||||
ob_end_clean();
|
||||
echo 'ok';
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -24,9 +24,15 @@ include_once __DIR__.'/../../core.php';
|
|||
<input type="hidden" name="backto" value="record-list">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome gruppo'); ?>", "name": "nome", "required": 1, "validation": "gruppo", "help": "<?php echo tr('Compilando questo campo verrà creato un nuovo gruppo di utenti.'); ?>" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tema'); ?>", "name": "theme", "values": "list=\"\": \"<?php echo tr('Predefinito'); ?>\",\"black\": \"<?php echo tr('Nero'); ?>\",\"red\": \"<?php echo tr('Rosso'); ?>\",\"blue\": \"<?php echo tr('Blu'); ?>\",\"green\": \"<?php echo tr('Verde'); ?>\",\"yellow\": \"<?php echo tr('Giallo'); ?>\",\"purple\": \"<?php echo tr('Viola'); ?>\"", "value": "$theme$" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{["type":"select", "label":"<?php echo tr('Modulo iniziale'); ?>", "name":"id_module_start", "ajax-source":"moduli_gruppo", "placeholder":"<?php tr('Modulo iniziale'); ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
|
@ -47,7 +53,7 @@ function submitCheck() {
|
|||
$("#add-form").submit();
|
||||
}else{
|
||||
$("input[name=nome]").focus();
|
||||
swal("<?php echo tr('Impossibile procedere'); ?>", "<?php echo tr('Nome gruppo già in uso'); ?>", "error");
|
||||
swal("<?php echo tr('Impossibile procedere'); ?>", "<?php echo tr('Nome gruppo già utilizzato'); ?>.", "error");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,9 @@ echo '
|
|||
<div class="col-md-3 pull-right">
|
||||
{["type":"select", "label":"'.tr('Modulo iniziale').'", "name":"id_module_start", "ajax-source":"moduli_gruppo", "select-options": '.json_encode(['idgruppo' => $record['id']]).', "placeholder":"'.tr('Modulo iniziale').'", "value":"'.$record['id_module_start'].'" ]}
|
||||
</div>
|
||||
<div class="col-md-3 pull-right">
|
||||
{["type":"select", "label":"'.tr('Tema').'", "name":"theme", "values":"list=\"\": \"'.tr('Predefinito').'\",\"black\": \"'.tr('Nero').'\",\"red\": \"'.tr('Rosso').'\",\"blue\": \"'.tr('Blu').'\",\"green\": \"'.tr('Verde').'\",\"yellow\": \"'.tr('Giallo').'\",\"purple\": \"'.tr('Viola').'\" ", "value":"'.$record['theme'].'" ]}
|
||||
</div>
|
||||
</div>
|
||||
<br>';
|
||||
|
||||
|
@ -255,6 +258,7 @@ function update_permissions(id, value, color){
|
|||
globals.rootdir + "/actions.php?id_module='.$id_module.'&id_record='.$id_record.'&op=update_permission&idmodulo=" + id + "&permesso=" + value,
|
||||
function(data){
|
||||
if(data == "ok") {
|
||||
|
||||
toastr["success"]("'.tr('Permessi aggiornati!').'");
|
||||
content_was_modified = false;
|
||||
|
||||
|
@ -265,8 +269,9 @@ function update_permissions(id, value, color){
|
|||
|
||||
if( id==$("#id_module_start").val() && value=="-" ){
|
||||
$("#id_module_start").selectReset();
|
||||
update_user($("#id_module_start").val());
|
||||
update_id_module_start($("#id_module_start").val());
|
||||
}
|
||||
|
||||
} else {
|
||||
swal("'.tr('Errore').'", "'.tr("Errore durante l'aggiornamento dei permessi!").'", "error");
|
||||
}
|
||||
|
@ -275,18 +280,36 @@ function update_permissions(id, value, color){
|
|||
}
|
||||
|
||||
$("#id_module_start").change(function(){
|
||||
update_user($(this).val());
|
||||
update_id_module_start($(this).val());
|
||||
});
|
||||
|
||||
function update_user(value){
|
||||
$("#theme").change(function(){
|
||||
update_theme($(this).val());
|
||||
});
|
||||
|
||||
function update_id_module_start(value){
|
||||
$.get(
|
||||
globals.rootdir + "/actions.php?id_module='.$id_module.'&id_record='.$id_record.'&op=update&id_module_start=" + value,
|
||||
globals.rootdir + "/actions.php?id_module='.$id_module.'&id_record='.$id_record.'&op=update_id_module_start&id_module_start=" + value,
|
||||
function(data){
|
||||
if(data == "ok") {
|
||||
toastr["success"]("'.tr('Informazioni aggiornate!').'");
|
||||
toastr["success"]("'.tr('Modulo iniziale aggiornato!').'");
|
||||
content_was_modified = false;
|
||||
} else {
|
||||
swal("'.tr('Errore').'", "'.tr("Errore durante l'aggiornamento delle informazioni!").'", "error");
|
||||
swal("'.tr('Errore').'", "'.tr("Errore durante l'aggiornamento delle impostazioni!").'", "error");
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function update_theme(value){
|
||||
$.get(
|
||||
globals.rootdir + "/actions.php?id_module='.$id_module.'&id_record='.$id_record.'&op=update_theme&theme=" + value,
|
||||
function(data){
|
||||
if(data == "ok") {
|
||||
toastr["success"]("'.tr('Tema aggiornato!').'");
|
||||
content_was_modified = false;
|
||||
} else {
|
||||
swal("'.tr('Errore').'", "'.tr("Errore durante l'aggiornamento delle impostazioni!").'", "error");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -33,6 +33,7 @@ class User extends Model
|
|||
protected $appends = [
|
||||
'is_admin',
|
||||
'gruppo',
|
||||
'theme',
|
||||
'id_anagrafica',
|
||||
];
|
||||
|
||||
|
@ -47,6 +48,7 @@ class User extends Model
|
|||
|
||||
protected $is_admin;
|
||||
protected $gruppo;
|
||||
protected $theme;
|
||||
|
||||
/**
|
||||
* The attributes that should be hidden for arrays.
|
||||
|
@ -111,6 +113,15 @@ class User extends Model
|
|||
return $this->gruppo;
|
||||
}
|
||||
|
||||
public function getThemeAttribute()
|
||||
{
|
||||
if (!isset($this->theme)) {
|
||||
$this->theme = $this->group->theme;
|
||||
}
|
||||
|
||||
return $this->theme;
|
||||
}
|
||||
|
||||
public function getSediAttribute()
|
||||
{
|
||||
$database = database();
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
-- Aggiunto colore in per gruppi utenti
|
||||
ALTER TABLE `zz_groups` ADD `theme` VARCHAR(25) NULL AFTER `id_module_start`;
|
||||
|
||||
UPDATE `zz_groups` SET `theme` = 'black' WHERE `zz_groups`.`nome` = 'Amministratori';
|
||||
UPDATE `zz_groups` SET `theme` = 'red' WHERE `zz_groups`.`nome` = 'Tecnici';
|
||||
UPDATE `zz_groups` SET `theme` = 'blue' WHERE `zz_groups`.`nome` = 'Agenti';
|
||||
UPDATE `zz_groups` SET `theme` = 'green' WHERE `zz_groups`.`nome` = 'Clienti';
|
Loading…
Reference in New Issue