267 lines
16 KiB
PHP
267 lines
16 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
use App\Http\Controllers\CategorieController;
|
|
use App\Http\Controllers\CondominioController;
|
|
use App\Http\Controllers\ContatoreEnElController;
|
|
use App\Http\Controllers\ContatoreGasController;
|
|
use App\Http\Controllers\DocumentiController;
|
|
use App\Http\Controllers\MovimentiController;
|
|
use App\Http\Controllers\RigaProgettoController;
|
|
use App\Http\Controllers\TagController;
|
|
use App\Http\Controllers\FullCalenderController;
|
|
use App\Http\Controllers\AutoController;
|
|
use App\Http\Controllers\AnagraficaController;
|
|
use App\Http\Controllers\Utenti;
|
|
use App\Http\Controllers\ProgettiController;
|
|
use App\Http\Controllers\TaskController;
|
|
use App\Http\Controllers\AvvisoController;
|
|
use App\Http\Controllers\ContrattiController;
|
|
use App\Http\Controllers\TodolistController;
|
|
use App\Http\Controllers\ContoController;
|
|
use App\Http\Controllers\GenDocController;
|
|
use App\Mail\myTestEmail;
|
|
|
|
// API
|
|
use Illuminate\Http\Request;
|
|
// use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Api\MovimentiController as ApiMovimentiController;
|
|
use App\Http\Controllers\Api\CategorieController as ApiCategorieController;
|
|
use App\Http\Controllers\Api\ContoController as ApiContoController;
|
|
|
|
Route::middleware([
|
|
'web'])->group(function ()
|
|
{
|
|
|
|
Route::get('/', function () {
|
|
return redirect(route('login'));
|
|
});
|
|
|
|
|
|
Auth::routes(['register' => true]); // Production only (true)
|
|
// Auth::routes(); //development mode
|
|
Route::get('/calendar', [TagController::class,'calendartest'])->name('calendar');
|
|
// Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
|
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
|
Route::get('/test', function(){ return view('test');});
|
|
Route::get('/test/ha-energy',[App\Http\Controllers\HomeAssistantAPIController::class,'getContatore']);
|
|
|
|
});
|
|
|
|
Route::middleware([
|
|
'web',
|
|
'auth',
|
|
])->group(function () {
|
|
/*Route::get('admin', function () {
|
|
dd(\App\Models\User::all());
|
|
return 'This is your multi-tenant application. The id of the current tenant is ' . tenant('id');
|
|
});*/
|
|
Route::get('admin/', [MovimentiController::class,'dashboard']);
|
|
Route::get('changepassword',function(){return view('auth.change-password');})->name('changePassword');
|
|
Route::post('changepassword', [Utenti::class,'changePassword']);
|
|
Route::get('logout', function(){ Auth::logout(); return redirect('login'); })->name('logout');
|
|
|
|
// MOVIMENTI
|
|
Route::group(['middleware'=>['permission:conti']], function(){
|
|
Route::post('admin/movimenti/spesa',[MovimentiController::class,'insMovimentiSpesa']);
|
|
Route::post('admin/movimenti/entrata',[MovimentiController::class,'insMovimentiEntrata']);
|
|
Route::get('admin/movimenti',[MovimentiController::class,'listMovimenti'])->name('movimenti');
|
|
Route::get('admin/movimenti/export',[MovimentiController::class,'exportMovimenti'])->name('export');
|
|
Route::get('admin/movimenti/resoconto',[MovimentiController::class,'resocontoMovimenti'])->name('resoconto');
|
|
Route::get('admin/movimenti/modify/{id}',[MovimentiController::class,'updateMovimenti'])->whereNumber('id');
|
|
Route::post('admin/movimenti/modify',[MovimentiController::class,'updatePostMovimenti']);
|
|
Route::get('admin/movimenti/delete',[MovimentiController::class,'deleteMovimenti']);
|
|
Route::get('admin/movimenti/reportbudget/{anno?}',[MovimentiController::class,'reportCategorieAnno'])->name('budget')->whereNumber('anno');
|
|
Route::post('admin/movimenti/reportbudget/{anno?}',[MovimentiController::class,'manageRedirect']);
|
|
Route::get('admin/movimenti/reportbudgetxls',[MovimentiController::class,'reportCategorieAnnoXLS'])->name('budgetxls')->whereNumber('anno');
|
|
Route::get('admin/movimenti/filter/tags',[MovimentiController::class,'filterByTag']);
|
|
Route::get('admin/movimenti/report/movimenti_categoria', [MovimentiController::class,'listMovPerCateg']);
|
|
Route::get('admin/movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']);
|
|
// Route::get('admin/movimenti/docs', [DocumentiController::class,'fileForm'])->name('documenti');
|
|
// Route::post('admin/movimenti/docs', [DocumentiController::class,'storeFile']);
|
|
Route::get('admin/movimenti/docs', [App\Http\Controllers\GenDocController::class,'fileForm'])->name('documenti');
|
|
Route::post('admin/movimenti/docs', [App\Http\Controllers\GenDocController::class,'storeFile']);
|
|
// {issue #5}
|
|
// Route::get('movimenti/docs', [DocumentiController::class,'fileMovimentiForm'])->name('documenti');
|
|
|
|
Route::get('admin/movimenti/import', [MovimentiController::class,'importFile'])->name('importING');
|
|
Route::post('admin/movimenti/import', [MovimentiController::class,'importEC_ING']);
|
|
Route::get('admin/movimenti/importcr', [MovimentiController::class,'importFileCR'])->name('importCR');
|
|
Route::post('admin/movimenti/importcr', [MovimentiController::class,'importEC_CR']);
|
|
Route::get('/admin/movimenti/giroconto', [MovimentiController::class,'giroconto'])->name('giroconto');
|
|
Route::post('/admin/movimenti/giroconto', [MovimentiController::class,'girocontoPost']);
|
|
|
|
Route::resource('admin/conti', ContoController::class);
|
|
|
|
|
|
// CATEGORIE
|
|
Route::get('admin/categorie', [CategorieController::class,'listCategorie'])->name('categorie');
|
|
Route::post('admin/categorie', [CategorieController::class,'insCategorie']);
|
|
Route::get('admin/categorie/delete', [CategorieController::class,'deleteCategorie']);
|
|
Route::get('admin/categorie/modify/{id}', [CategorieController::class,'updateCategorie'])->whereNumber('id');
|
|
Route::post('admin/categorie/modify', [CategorieController::class,'updatePostCategorie']);
|
|
|
|
// Richiami di servizio da jquery
|
|
Route::get('admin/service/catlist', [CategorieController::class,'apiList']);
|
|
Route::get('admin/service/taglist', [TagController::class,'apiList']);
|
|
Route::get('admin/service/rolesList', [Utenti::class,'listRoles']);
|
|
Route::get('admin/service/catlistSpesa', [CategorieController::class,'apiListSpesa']);
|
|
Route::get('admin/service/catlistEntrata', [CategorieController::class,'apiListEntrata']);
|
|
Route::get('admin/service/contolist', [ContoController::class,'apiListConto']);
|
|
|
|
// TAGS
|
|
Route::get('admin/tags', [TagController::class,'listTags'])->name('tags');
|
|
Route::post('admin/tags', [TagController::class,'insTags']);
|
|
Route::get('admin/tags/modify/{id}', [TagController::class,'updateTag'])->whereNumber('id');
|
|
Route::post('admin/tags/modify', [TagController::class,'updatePostTag']);
|
|
Route::get('admin/tags/delete/{id}',[TagController::class,'deleteTag'])->whereNumber('id');
|
|
});
|
|
// CONSUMI
|
|
Route::group(['middleware'=>['permission:consumi']], function(){
|
|
Route::get('admin/consumi/gas', [ContatoreGasController::class,'listLettureGas'])->name('gas');
|
|
Route::post('admin/consumi/gas', [ContatoreGasController::class,'insLettureGas']);
|
|
Route::get('admin/consumi/enel', [ContatoreEnElController::class,'listLettureEnel'])->name('enel');
|
|
Route::post('admin/consumi/enel', [ContatoreEnElController::class,'insLettureEnel']);
|
|
});
|
|
|
|
// AUTOMOBILI
|
|
Route::group(['middleware'=>['permission:automobili']], function(){
|
|
Route::get('admin/auto', [AutoController::class, 'index'])->name('auto_list');
|
|
Route::get('admin/auto/new', [AutoController::class, 'newAuto'])->name('auto_new');
|
|
Route::post('admin/auto/new', [AutoController::class, 'saveAuto'])->name('auto_save');
|
|
Route::get('admin/auto/getAuto/{id}', [AutoController::class, 'getAutoById'])->whereNumber('id');
|
|
Route::post('admin/auto/modify', [AutoController::class, 'udateAuto']);
|
|
Route::get('admin/auto/delete', [AutoController::class, 'delAuto']);
|
|
Route::get('admin/auto/detail', [AutoController::class, 'getAutoDetails']);
|
|
Route::get('admin/auto/rifornimento/{id}', [AutoController::class, 'rifornimentoAuto'])->name('auto_rifornimento')->whereNumber('id');
|
|
Route::post('admin/auto/rifornimento', [AutoController::class, 'saveRifornimento']);
|
|
Route::get('admin/auto/revisione', [AutoController::class, 'revisioneAuto']);
|
|
Route::post('admin/auto/revisione', [AutoController::class, 'saveRevisione']);
|
|
Route::get('admin/auto/manutenzione', [AutoController::class, 'manutenzioneAuto']);
|
|
Route::post('admin/auto/manutenzione', [AutoController::class, 'saveManutenzione']);
|
|
Route::get('admin/auto/accessori', [AutoController::class, 'accessoriAuto']);
|
|
Route::post('admin/auto/accessori', [AutoController::class, 'saveAccessori']);
|
|
Route::get('admin/auto/operazioni', [AutoController::class, 'getOperazioni']);
|
|
Route::get('admin/auto/operazioni/pdf', [AutoController::class, 'exportPdfOperazioni']);
|
|
});
|
|
// CONTATTI
|
|
Route::group(['middleware'=>['permission:contatti']], function(){
|
|
Route::get('admin/contatti', [AnagraficaController::class, 'listContact'])->name('contatti');
|
|
Route::get('admin/contatti/new', [AnagraficaController::class, 'newContact'])->name('newContact');
|
|
Route::post('admin/contatti/new', [AnagraficaController::class, 'insContact']);
|
|
Route::get('admin/contatti/modifica', [AnagraficaController::class, 'modifica']);
|
|
Route::get('admin/contatti/scheda', [AnagraficaController::class, 'getScheda']);
|
|
Route::get('admin/contatti/addOther', [AnagraficaController::class, 'insOtherContact']);
|
|
Route::post('admin/contatti/addOther', [AnagraficaController::class, 'saveOtherContact']);
|
|
|
|
});
|
|
|
|
// GRUPPI E PERMESSI
|
|
Route::group(['middleware'=>['permission:amministrazione']], function(){
|
|
|
|
Route::get('admin/users/new',[Utenti::class,'addUser']);
|
|
Route::post('admin/users/new',[Utenti::class,'createUser']);
|
|
Route::get('admin/users/roles',[Utenti::class,'listRoles']);
|
|
Route::get('admin/users/delete/{id}',[Utenti::class,'deleteUser']);
|
|
Route::get('admin/users/givepermission',[Utenti::class,'givePermissionToUser'])->name('permessi');
|
|
Route::post('admin/users/givepermission',[Utenti::class,'assignPermission']);
|
|
Route::get('admin/users/giverole',[Utenti::class,'giveRoleToUser']);
|
|
Route::post('admin/users/giverole',[Utenti::class,'assignRole']);
|
|
Route::get('admin/backup', [App\Http\Controllers\HomeController::class,'backupTenant']);
|
|
});
|
|
|
|
// PROGETTI
|
|
Route::group(['middleware'=>['permission:progetti']], function(){
|
|
Route::get('admin/progetti', [ProgettiController::class, 'listaProgetto'])->name('progetti');
|
|
Route::post('admin/progetti/new', [ProgettiController::class, 'salvaProgetto']);
|
|
Route::get('admin/progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
|
|
Route::get('admin/progetti/delete',[ProgettiController::class, 'deleteProgetto']);
|
|
Route::get('admin/progetti/delete_row/{id_row}/return/{id_prog}',[RigaProgettoController::class, 'deleterow']);
|
|
Route::get('admin/progetti/detail/{id}', [ProgettiController::class, 'dettaglioProgetto'])->name('detail')->whereNumber('id');
|
|
Route::post('admin/progetti/detail/{id}', [RigaProgettoController::class, 'inserisciRiga'])->whereNumber('id');
|
|
Route::get('admin/progetti/detail/edit/{id}', [RigaProgettoController::class, 'editRiga'])->whereNumber('id');;
|
|
Route::post('admin/progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']);
|
|
Route::get('admin/progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']);
|
|
Route::get('admin/progetti/close',[ProgettiController::class, 'chiudiProgetto']);
|
|
Route::get('admin/progetti/reopen',[ProgettiController::class, 'riapriProgetto']);
|
|
Route::get('admin/progetti/print',[ProgettiController::class,'stampaPDFProgetto']);
|
|
Route::get('admin/progetti/docs', [ProgettiController::class, 'documentoProgetto']);
|
|
Route::post('admin/progetti/docs', [App\Http\Controllers\GenDocController::class,'storeFile']);
|
|
Route::get('admin/progetti/getProgettoById',[ProgettiController::class, 'getProgettobyId']);
|
|
Route::post('admin/progetti/modificaProgetto',[ProgettiController::class,'modificaProgetto']);
|
|
});
|
|
|
|
// TASKS
|
|
Route::group(['middleware'=>['permission:tasks']], function(){
|
|
Route::get('admin/tasks', [TaskController::class, 'Task'])->name('tasks');
|
|
Route::post('admin/task/new',[TaskController::class, 'newTask']);
|
|
Route::get('admin/service/getUsers', [Utenti::class,'getUsers']);
|
|
Route::resource('admin/todolists', TodolistController::class);
|
|
});
|
|
|
|
|
|
// CONTRATTI
|
|
Route::group(['middleware'=>['permission:contratti']], function(){
|
|
Route::get('admin/contratti', [ContrattiController::class, 'Contratti'])->name('contratti');
|
|
Route::post('admin/contratti', [ContrattiController::class, 'newContratto']);
|
|
Route::get('admin/contratti/{id}', [ContrattiController::class, 'schedaContratto'])->name('contrattodetail');
|
|
Route::get('admin/contrattidoc/doc', [ContrattiController::class, 'documentDelete'])->name('delcontratti');
|
|
});
|
|
|
|
Route::group(['middleware'=>['permission:avvisi']], function(){
|
|
Route::post('admin/avvisi/new',[AvvisoController::class,'saveAvviso'])->name('newAvviso');
|
|
});
|
|
// -- ONLY FOR TEST -- TO BE REMOVED //
|
|
|
|
// DOCUMENTI GENERICI
|
|
Route::group(['middleware'=>['permission:documenti']], function(){
|
|
Route::get('admin/documenti', [DocumentiController::class, 'listaDocumenti'])->name('folders');
|
|
Route::post('admin/documenti', [DocumentiController::class, 'newFolder']);
|
|
Route::get('admin/doc_delete', [GenDocController::class,'deleteFile']);
|
|
});
|
|
|
|
// APPUNTAMENTI
|
|
Route::group(['middleware'=>['permission:appuntamenti']], function(){
|
|
Route::get('admin/test/calendar',[FullCalenderController::class,'showDemo'])->name('calendario');
|
|
Route::post('admin/test/calendar',[FullCalenderController::class, 'saveEventToGoogle']);
|
|
});
|
|
|
|
// MEETING ROOM
|
|
Route::group(['middleware'=>['permission:meetingroom']], function(){
|
|
Route::get('admin/meeting', function() { return view('meetings.meeting'); })->name('meeting');
|
|
});
|
|
|
|
|
|
|
|
// API
|
|
});
|
|
Route::middleware([
|
|
'api',
|
|
])->group(function (){
|
|
Route::post('/api/login', [Utenti::class,'login'])->withoutMiddleware([\App\Http\Middleware\VerifyCsrfToken::class]);
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::post('/api/movimenti/spesa', [ApiMovimentiController::class, 'insMovimentiSpesa']);
|
|
Route::post('/api/movimenti/entrata', [ApiMovimentiController::class, 'insMovimentiEntrata']);
|
|
Route::get('/api/movimenti', [ApiMovimentiController::class, 'getList']);
|
|
|
|
Route::get('/api/categorie', [ApiCategorieController::class, 'listCategorie']);
|
|
Route::post('/api/categorie', [ApiCategorieController::class, 'insCategorie']);
|
|
Route::put('/api/categorie/{id}', [ApiCategorieController::class, 'updateCategorie']);
|
|
Route::delete('/api/categorie/{id}', [ApiCategorieController::class, 'deleteCategorie']);
|
|
|
|
Route::get('/api/conti', [ApiContoController::class, 'listConti']);
|
|
Route::post('/api/conti', [ApiContoController::class, 'insConto']);
|
|
Route::put('/api/conti/{id}', [ApiContoController::class, 'updateConto']);
|
|
Route::delete('/api/conti/{id}', [ApiContoController::class, 'deleteConto']);
|
|
|
|
|
|
});
|
|
});
|