556 lines
18 KiB
PHP
556 lines
18 KiB
PHP
<?php namespace App\Controllers;
|
|||
|
|
|
||
|
|
|
||
|
|
use App\Models\Lavoratori_Model;
|
||
|
|
use App\Models\TipoOre_Model;
|
||
|
|
use App\Models\TipiWork_Model;
|
||
|
|
use App\Models\Orari_Model;
|
||
|
|
use App\Models\Spese_Model;
|
||
|
|
use App\Models\Commesse_Model;
|
||
|
|
use App\Models\CreditCardEvents_Model;
|
||
|
|
use App\Models\CreditCards_Model;
|
||
|
|
use App\Models\CSiCoCars_Model;
|
||
|
|
use App\Models\CSiCoCarEvents_Model;
|
||
|
|
use App\Models\SIMs_Model;
|
||
|
|
use App\Models\SIMEvents_Model;
|
||
|
|
|
||
|
|
|
||
|
|
class Dashboard extends BaseController {
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function index() {
|
||
|
|
return $this->home();
|
||
|
|
}//function index
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function home() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'home';
|
||
|
|
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(0)) { return redirect()->to('/Lavoratori/login'); }
|
||
|
|
|
||
|
|
$lav = session()->get('lavoratore');
|
||
|
|
// // Gli utenti Guest non possono inserire valori e per sicurezza visualizzo una pagina apposta.
|
||
|
|
// if ($lav->lvLevel==1){ return redirect()->to('/dashboard/home'); }
|
||
|
|
|
||
|
|
// Gli utenti guest non possono inserire ore, quindi per loro non gestisco le
|
||
|
|
// Gestione POST
|
||
|
|
if ($this->request->getMethod() == 'post') {
|
||
|
|
// verifico chi ha fatto il POST (ore o spese):
|
||
|
|
if(isset($_POST['PBinsetrOraPOST'])) {
|
||
|
|
// POST di aggiunta dell'orario e quindi verifico i dati dell'orario e se validi lo inserisco.
|
||
|
|
// Regole per validare i campi introdotti nel form:
|
||
|
|
$rules = [
|
||
|
|
'o_IDcommessa' => 'trim|required',
|
||
|
|
'o_Data' => 'trim|required',
|
||
|
|
'o_Ore' => 'trim|required',
|
||
|
|
'o_IDTipoOre' => 'trim|required',
|
||
|
|
'o_Descrizione' => 'trim|required|min_length[8]',
|
||
|
|
];
|
||
|
|
|
||
|
|
// analisi della validazione
|
||
|
|
if (! $this->validate($rules)) {
|
||
|
|
$data['validation'] = $this->validator;
|
||
|
|
session()->setFlashdata('warning', $data['validation']->listErrors());
|
||
|
|
|
||
|
|
}else{
|
||
|
|
// validazione passata
|
||
|
|
// Preparo i dati per l'inserimento
|
||
|
|
$newData = [
|
||
|
|
'orIDcommessa' => $this->request->getVar('o_IDcommessa'),
|
||
|
|
'orIDlavoratore' => $lav->lvIDlavoratore,
|
||
|
|
'orData' => $this->request->getVar('o_Data'),
|
||
|
|
'orOre' => $this->request->getVar('o_Ore'),
|
||
|
|
'orIDTipoOre' => $this->request->getVar('o_IDTipoOre'),
|
||
|
|
'orDescrizione' => $this->request->getVar('o_Descrizione'),
|
||
|
|
];
|
||
|
|
$modelOrari = new Orari_Model();
|
||
|
|
if ($modelOrari->save($newData)) {
|
||
|
|
session()->setFlashdata('success', 'Record inserito con successo sul DB');
|
||
|
|
UpdateCommessa($newData['orIDcommessa']);
|
||
|
|
//return redirect()->to('/dashboard/home');
|
||
|
|
} else {
|
||
|
|
session()->setFlashdata('danger', 'Errore durante l\'inserimento del record nel DB.');
|
||
|
|
}
|
||
|
|
}// analisi validazione
|
||
|
|
} // if PBinsetrOraPOST
|
||
|
|
|
||
|
|
if(isset($_POST['PBinsetrSpesaPOST'])) {
|
||
|
|
// POST di aggiunta della spesa e quindi verifico i dati della spesa e se validi lo inserisco.
|
||
|
|
// Regole per validare i campi introdotti nel form:
|
||
|
|
$rules = [
|
||
|
|
's_IDcommessa' => 'trim|required',
|
||
|
|
's_Data' => 'trim|required',
|
||
|
|
's_Importo' => 'trim|required',
|
||
|
|
's_DaRimborsare' => 'trim|required',
|
||
|
|
's_Descrizione' => 'trim|required|min_length[8]',
|
||
|
|
];
|
||
|
|
|
||
|
|
// analisi della validazione
|
||
|
|
if (! $this->validate($rules)) {
|
||
|
|
$data['validation'] = $this->validator;
|
||
|
|
session()->setFlashdata('warning', $data['validation']->listErrors());
|
||
|
|
|
||
|
|
}else{
|
||
|
|
// validazione passata
|
||
|
|
// Preparo i dati per l'inserimento
|
||
|
|
$newData = [
|
||
|
|
'spIDcommessa' => $this->request->getVar('s_IDcommessa'),
|
||
|
|
'spIDlavoratore' => $lav->lvIDlavoratore,
|
||
|
|
'spData' => $this->request->getVar('s_Data'),
|
||
|
|
'spImporto' => $this->request->getVar('s_Importo'),
|
||
|
|
'spDaRimborsare' => $this->request->getVar('s_DaRimborsare'),
|
||
|
|
'spDescrizione' => $this->request->getVar('s_Descrizione'),
|
||
|
|
];
|
||
|
|
$modelOrari = new Spese_Model();
|
||
|
|
if ($modelOrari->save($newData)) {
|
||
|
|
session()->setFlashdata('success', 'Record inserito con successo sul DB');
|
||
|
|
UpdateCommessa($newData['spIDcommessa']);
|
||
|
|
//return redirect()->to('/dashboard/home');
|
||
|
|
} else {
|
||
|
|
session()->setFlashdata('danger', 'Errore durante l\'inserimento del record nel DB.');
|
||
|
|
}
|
||
|
|
}// analisi validazione
|
||
|
|
} // if PBinsetrSpesaPOST
|
||
|
|
|
||
|
|
}// Gestione POST
|
||
|
|
|
||
|
|
// Ricavo riepilogo ultimi orari inseriti
|
||
|
|
$modelCommesse = new Commesse_Model();
|
||
|
|
$data['orari'] = $modelCommesse->join('Orari', 'Commesse.coIDcommessa = Orari.orIDcommessa')
|
||
|
|
->where('orIDlavoratore', $lav->lvIDlavoratore)
|
||
|
|
->orderBy('orIDorario', 'DESC')
|
||
|
|
->findAll(3);
|
||
|
|
|
||
|
|
// Ricavo ultime spese inserite
|
||
|
|
$data['spese'] = $modelCommesse->join('Spese', 'Commesse.coIDcommessa = Spese.spIDcommessa')
|
||
|
|
->where('spIDlavoratore', $lav->lvIDlavoratore)
|
||
|
|
->orderBy('spIDspesa', 'DESC')
|
||
|
|
->findAll(3);
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle tipologie di orario:
|
||
|
|
$modelTipoOre = new TipoOre_Model();
|
||
|
|
$data['select_tipo_ore'] = $modelTipoOre->get_select();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle commesse:
|
||
|
|
$data['select_commesse'] = $modelCommesse->get_select();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select dei lavoratori:
|
||
|
|
$modelLavoratori = new Lavoratori_Model();
|
||
|
|
$data['select_lavoratori'] = $modelLavoratori->get_select();
|
||
|
|
|
||
|
|
return view('pages/home', $data);
|
||
|
|
|
||
|
|
|
||
|
|
}//function home
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function orari() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'orari';
|
||
|
|
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
|
||
|
|
// Ricavo le ore dell'utente:
|
||
|
|
// Tab: Orari = ['orIDorario', 'orIDcommessa', 'orIDlavoratore', 'orData', 'orOre', 'orIDTipoOre', 'orIDTipoWork', 'orDescrizione'];
|
||
|
|
// Tab: Lavoratori = ['lvIDlavoratore', 'lvNome', 'lvCognome', 'lvMail', 'lvLevel', 'lvRimborsoKm', 'lvNickname', 'lvPassword', 'lvCreatedAt', 'lvUpdatedAt', 'lvDeletedAt'];
|
||
|
|
// Tab: Commesse = ['coIDcommessa', 'coNome', 'coIDcliente', 'coDescrizione', 'coIDstatoCommessa', 'coModificatoIl', 'coCreatedAt', 'coUpdatedAt', 'coDeletedAt'];
|
||
|
|
$model = new Orari_Model();
|
||
|
|
$model->join('Lavoratori', 'Lavoratori.lvIDlavoratore = Orari.orIDlavoratore');
|
||
|
|
$model->join('Commesse', 'Commesse.coIDcommessa = Orari.orIDcommessa');
|
||
|
|
|
||
|
|
// Costruisco la query per selezionare le ore da mostrare:
|
||
|
|
// - applico il filtro sull'intervallo temporale:
|
||
|
|
$model->where('orData >=', session()->get('filter_dal'))
|
||
|
|
->where('orData <=', session()->get('filter_al') . " 23:59:59");
|
||
|
|
// - applico eventuale filtro per lavoratore
|
||
|
|
if (session()->filter_lavoratore!='-1') { $model->where('orIDlavoratore', session()->get('filter_lavoratore')); }
|
||
|
|
// - applico eventuale filtro per commessa
|
||
|
|
if (session()->filter_commessa!='-1') { $model->where('orIDcommessa', session()->get('filter_commessa')); }
|
||
|
|
// - applico eventuale filtro per tipologia di ora:
|
||
|
|
if (session()->filter_tipo_ore!='-1') { $model->where('orIDTipoOre', session()->get('filter_tipo_ore')); }
|
||
|
|
|
||
|
|
// imposto l'ordinamento richiesto:
|
||
|
|
CheckSort('orari',true);
|
||
|
|
$data['sortCol'] = session()->get('sort')['col'];
|
||
|
|
$data['sortDir'] = session()->get('sort')['dir'];
|
||
|
|
$model->orderBy($data['sortCol'], $data['sortDir']);
|
||
|
|
|
||
|
|
// eseguo la query con paginazione:
|
||
|
|
$data['dataset'] = $model->paginate(session()->get('pager_num'));
|
||
|
|
$data['pager'] = $model->pager;
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle commesse:
|
||
|
|
$modelCommesse = new Commesse_Model();
|
||
|
|
$data['select_commesse'] = $modelCommesse->get_select_on_orari();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle tipologie di orario:
|
||
|
|
$modelTipoOre = new TipoOre_Model();
|
||
|
|
$data['select_tipo_ore'] = $modelTipoOre->get_select_on_orari();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select dei lavoratori:
|
||
|
|
$modelLavoratori = new Lavoratori_Model();
|
||
|
|
$data['select_lavoratori'] = $modelLavoratori->get_select_on_orari();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle tipologie di lavoro:
|
||
|
|
$modelTipoWork = new TipiWork_Model();
|
||
|
|
$data['select_tipo_work'] = $modelTipoWork->get_select_on_orari();
|
||
|
|
|
||
|
|
return view('pages/orari', $data);
|
||
|
|
}//function orari
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function spese() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'spese';
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Ricavo le ore dell'utente:
|
||
|
|
// Tab: Spese = ['spIDspesa', 'spIDcommessa', 'spIDlavoratore', 'spImporto', 'spDaRimborsare', 'spDescrizione', 'spData'];
|
||
|
|
// Tab: Lavoratori = ['lvIDlavoratore', 'lvNome', 'lvCognome', 'lvMail', 'lvLevel', 'lvRimborsoKm', 'lvNickname', 'lvPassword', 'lvCreatedAt', 'lvUpdatedAt', 'lvDeletedAt'];
|
||
|
|
// Tab: Commesse = ['coIDcommessa', 'coNome', 'coIDcliente', 'coDescrizione', 'coIDstatoCommessa', 'coModificatoIl', 'coCreatedAt', 'coUpdatedAt', 'coDeletedAt'];
|
||
|
|
$model = new Spese_Model();
|
||
|
|
$model->join('Lavoratori', 'Lavoratori.lvIDlavoratore = Spese.spIDlavoratore');
|
||
|
|
$model->join('Commesse', 'Commesse.coIDcommessa = Spese.spIDcommessa');
|
||
|
|
|
||
|
|
// Costruisco la query per selezionare le ore da mostrare:
|
||
|
|
// - applico il filtro sull'intervallo temporale:
|
||
|
|
$model->where('spData >=', session()->get('filter_dal'))
|
||
|
|
->where('spData <=', session()->get('filter_al') . " 23:59:59");
|
||
|
|
// - applico eventuale filtro per lavoratore
|
||
|
|
if (session()->filter_lavoratore!='-1') { $model->where('spIDlavoratore', session()->get('filter_lavoratore')); }
|
||
|
|
// - applico eventuale filtro per commessa
|
||
|
|
if (session()->filter_commessa!='-1') { $model->where('coIDcommessa', session()->get('filter_commessa')); }
|
||
|
|
// - applico eventuale filtro per rimborso:
|
||
|
|
if (session()->filter_rimborso!='-1') { $model->where('spDaRimborsare', session()->get('filter_rimborso')); }
|
||
|
|
|
||
|
|
// imposto l'ordinamento richiesto:
|
||
|
|
CheckSort('spese',true);
|
||
|
|
$data['sortCol'] = session()->get('sort')['col'];
|
||
|
|
$data['sortDir'] = session()->get('sort')['dir'];
|
||
|
|
$model->orderBy($data['sortCol'], $data['sortDir']);
|
||
|
|
|
||
|
|
// eseguo la query con paginazione:
|
||
|
|
$data['dataset'] = $model->paginate(session()->get('pager_num'));
|
||
|
|
$data['pager'] = $model->pager;
|
||
|
|
|
||
|
|
// Ricavo i dati per il select delle commesse:
|
||
|
|
$modelCommesse = new Commesse_Model();
|
||
|
|
$data['select_commesse'] = $modelCommesse->get_select_on_spese();
|
||
|
|
|
||
|
|
// Ricavo i dati per il select dei lavoratori:
|
||
|
|
$modelLavoratori = new Lavoratori_Model();
|
||
|
|
$data['select_lavoratori'] = $modelLavoratori->get_select_on_spese();
|
||
|
|
|
||
|
|
return view('pages/spese', $data);
|
||
|
|
}//function spese
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function archivio() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'archivio';
|
||
|
|
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
|
||
|
|
return view('pages/archivio', $data);
|
||
|
|
|
||
|
|
}//function archivio
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function cars() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'cars';
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Ricavo le car:
|
||
|
|
// Tab: CSiCoCars = ['caIDcar', 'caTarga', 'caDescrizione', 'caDataAssicurazione', 'caTipoGomme', 'caCreatedAt', 'caUpdatedAt', 'caStato', 'caDeletedAt'];
|
||
|
|
$model = new CSiCoCars_Model();
|
||
|
|
|
||
|
|
// Costruisco la query per selezionare le macchine da mostrare:
|
||
|
|
// - applico il filtro sullo stato:
|
||
|
|
if (session()->filter_caStato!='-1') { $model->where('caStato', session()->get('filter_caStato')); }
|
||
|
|
|
||
|
|
// imposto l'ordinamento richiesto:
|
||
|
|
CheckSort('cars',true);
|
||
|
|
$data['sortCol'] = session()->get('sort')['col'];
|
||
|
|
$data['sortDir'] = session()->get('sort')['dir'];
|
||
|
|
$model->orderBy($data['sortCol'], $data['sortDir']);
|
||
|
|
|
||
|
|
// eseguo la query con paginazione:
|
||
|
|
$data['dataset'] = $model->paginate(session()->get('pager_num'));
|
||
|
|
$data['pager'] = $model->pager;
|
||
|
|
|
||
|
|
return view('pages/cars', $data);
|
||
|
|
|
||
|
|
}//function cars
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function credit() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'credit';
|
||
|
|
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Ricavo le carte:
|
||
|
|
// Tab: CreditCards = ['ccIDcard', 'ccNumero', 'ccDescrizione', 'ccScadeIl', 'ccPIN', 'ccCreatedAt', 'ccUpdatedAt', ', 'ccStato', 'ccDeletedAt'];
|
||
|
|
$model = new CreditCards_Model();
|
||
|
|
|
||
|
|
// Costruisco la query per selezionare le ore da mostrare:
|
||
|
|
// - applico il filtro sullo stato:
|
||
|
|
if (session()->filter_ccStato!='-1') { $model->where('ccStato', session()->get('filter_ccStato')); }
|
||
|
|
|
||
|
|
// imposto l'ordinamento richiesto:
|
||
|
|
CheckSort('credit',true);
|
||
|
|
$data['sortCol'] = session()->get('sort')['col'];
|
||
|
|
$data['sortDir'] = session()->get('sort')['dir'];
|
||
|
|
$model->orderBy($data['sortCol'], $data['sortDir']);
|
||
|
|
|
||
|
|
// eseguo la query con paginazione:
|
||
|
|
$data['dataset'] = $model->paginate(session()->get('pager_num'));
|
||
|
|
$data['pager'] = $model->pager;
|
||
|
|
|
||
|
|
return view('pages/credit', $data);
|
||
|
|
|
||
|
|
}//function credit
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function sims() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'sims';
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Ricavo le sim:
|
||
|
|
// SIMs = ['smIDsim', 'smNumero', 'smPIN', 'smPUK', 'smDescrizione', 'smCredito', 'smCreatedAt', 'smUpdatedAt', 'smStato', 'smDeletedAt'];
|
||
|
|
$model = new SIMs_Model();
|
||
|
|
|
||
|
|
// Costruisco la query per selezionare le macchine da mostrare:
|
||
|
|
// - applico il filtro sullo stato:
|
||
|
|
if (session()->filter_smStato!='-1') { $model->where('smStato', session()->get('filter_smStato')); }
|
||
|
|
|
||
|
|
// imposto l'ordinamento richiesto:
|
||
|
|
CheckSort('sims',true);
|
||
|
|
$data['sortCol'] = session()->get('sort')['col'];
|
||
|
|
$data['sortDir'] = session()->get('sort')['dir'];
|
||
|
|
$model->orderBy($data['sortCol'], $data['sortDir']);
|
||
|
|
|
||
|
|
// eseguo la query con paginazione:
|
||
|
|
$data['dataset'] = $model->paginate(session()->get('pager_num'));
|
||
|
|
$data['pager'] = $model->pager;
|
||
|
|
|
||
|
|
return view('pages/sims', $data);
|
||
|
|
|
||
|
|
}//function sims
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function admin() {
|
||
|
|
helper(['tools','form']);
|
||
|
|
$data['tab'] = 'admin';
|
||
|
|
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(1)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
|
||
|
|
return view('pages/admin', $data);
|
||
|
|
|
||
|
|
}//function admin
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
public function set_order($tab, $col, $dir){
|
||
|
|
helper(['tools','form']);
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(0)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
if (SetSort($tab, $col, $dir)) {
|
||
|
|
if ($tab=='anagrafica') return redirect()->to('/Lavoratori/anagrafica');
|
||
|
|
if ($tab=='evncredit') return redirect()->to('/CreditCardEvents/show');
|
||
|
|
if ($tab=='evncar') return redirect()->to('/CSiCoCarEvents/show');
|
||
|
|
if ($tab=='Issues') return redirect()->to('/Issues/View');
|
||
|
|
|
||
|
|
|
||
|
|
return redirect()->to('/dashboard/' . $tab);
|
||
|
|
} else {
|
||
|
|
// ordinamento non riuscito, avviso l'utente e torno alla home
|
||
|
|
session()->setFlashdata('warning', 'Errore durante il riordino dei records');
|
||
|
|
return redirect()->to('/dashboard');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function set_filter($page, $new_filter_dal, $new_filter_al, $new_option, $new_filter_commessa, $new_filter_lavoratore) {
|
||
|
|
helper(['tools','form']);
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(0)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Questi filtri sono indipendenti dalla tabella
|
||
|
|
session()->set('filter_dal', $new_filter_dal);
|
||
|
|
session()->set('filter_al', $new_filter_al);
|
||
|
|
session()->set('filter_commessa', $new_filter_commessa);
|
||
|
|
// Questo filtro dipende dal tipo di tabella:
|
||
|
|
if ($page=='orari'){
|
||
|
|
session()->set('filter_tipo_ore', $new_option);
|
||
|
|
}
|
||
|
|
if ($page=='spese'){
|
||
|
|
session()->set('filter_rimborso', $new_option);
|
||
|
|
}
|
||
|
|
// solo gli amministratori possono vedere tutto e quindi cambiare il filtro del lavoratore:
|
||
|
|
if (CheckLevel(3, false)) {
|
||
|
|
session()->set('filter_lavoratore', $new_filter_lavoratore);
|
||
|
|
} else {
|
||
|
|
session()->set('filter_lavoratore', session()->get('lavoratore')->lvIDlavoratore);
|
||
|
|
}
|
||
|
|
return redirect()->to("/dashboard/$page");
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function set_filter1($page, $new_option) {
|
||
|
|
helper(['tools','form']);
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(0)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Questo filtro dipende dal tipo di tabella:
|
||
|
|
if ($page=='cars'){
|
||
|
|
session()->set('filter_caStato', $new_option);
|
||
|
|
return redirect()->to("/dashboard/$page");
|
||
|
|
}
|
||
|
|
if ($page=='credit'){
|
||
|
|
session()->set('filter_ccStato', $new_option);
|
||
|
|
return redirect()->to("/dashboard/$page");
|
||
|
|
}
|
||
|
|
if ($page=='sims'){
|
||
|
|
session()->set('filter_smStato', $new_option);
|
||
|
|
return redirect()->to("/dashboard/$page");
|
||
|
|
}
|
||
|
|
if ($page=='Stime'){
|
||
|
|
session()->set('filter_commessa', $new_option);
|
||
|
|
return redirect()->to("/Stime");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
//--------------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
public function reset_filter($page) {
|
||
|
|
helper(['tools','form']);
|
||
|
|
|
||
|
|
// Verifico sessione e livello:
|
||
|
|
if (!CheckLevel(0)) { return redirect()->to('/dashboard'); }
|
||
|
|
|
||
|
|
// Questi filtri sono indipendenti dalla tabella
|
||
|
|
session()->set('filter_dal', date("Y-m-d", strtotime("first day of this month")));
|
||
|
|
session()->set('filter_al', date("Y-m-d", strtotime("last day of this month")));
|
||
|
|
session()->set('filter_commessa', '-1');
|
||
|
|
|
||
|
|
// Questo filtro dipende dal tipo di tabella:
|
||
|
|
if ($page=='orari'){
|
||
|
|
session()->set('filter_tipo_ore', '-1');
|
||
|
|
}
|
||
|
|
if ($page=='spese'){
|
||
|
|
session()->set('filter_rimborso', '-1');
|
||
|
|
}
|
||
|
|
if ($page=='cars'){
|
||
|
|
session()->set('filter_caStato', '-1');
|
||
|
|
}
|
||
|
|
if ($page=='credit'){
|
||
|
|
session()->set('filter_ccStato', '-1');
|
||
|
|
}
|
||
|
|
if ($page=='sims'){
|
||
|
|
session()->set('filter_smStato', '-1');
|
||
|
|
}
|
||
|
|
// solo gli amministratori possono vedere tutto e quindi cambiare il filtro del lavoratore:
|
||
|
|
if (CheckLevel(3, false)) {
|
||
|
|
session()->set('filter_lavoratore', '-1');
|
||
|
|
} else {
|
||
|
|
session()->set('filter_lavoratore', session()->get('lavoratore')->lvIDlavoratore);
|
||
|
|
}
|
||
|
|
if ($page=='Stime'){
|
||
|
|
return redirect()->to("/Stime");
|
||
|
|
}
|
||
|
|
return redirect()->to("/dashboard/$page");
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}//class Dashboard
|