final stage

This commit is contained in:
2026-06-01 16:11:29 +02:00
parent 5557650824
commit 3424c1c9f7
21 changed files with 5010 additions and 47 deletions
+18
View File
@@ -1,6 +1,8 @@
<?php
use Illuminate\Support\Facades\Schedule;
use App\Services\BackupService;
use App\Models\AppSetting;
Schedule::call(function () {
try {
@@ -10,3 +12,19 @@ Schedule::call(function () {
\Illuminate\Support\Facades\Log::error('Scheduled email sync failed', ['error' => $e->getMessage()]);
}
})->name('email:sync')->everyFifteenMinutes()->withoutOverlapping();
// Backup automatico
Schedule::call(function () {
if (!AppSetting::getSetting('backup_auto_enabled', false)) {
return;
}
try {
(new BackupService())->run();
} catch (\Exception $e) {
\Illuminate\Support\Facades\Log::error('Scheduled backup failed', ['error' => $e->getMessage()]);
}
})->name('backup:auto')
->dailyAt((string) (AppSetting::getSetting('backup_auto_hour', 3) . ':00'))
->withoutOverlapping()
->onOneServer();
+15
View File
@@ -34,6 +34,7 @@ Route::get('/', function () {
return redirect()->route('login');
});
// Auth
Route::middleware('guest')->group(function () {
Route::get('/login', [AuthController::class, 'showLoginForm'])->name('login');
@@ -54,6 +55,11 @@ Route::middleware('auth')->group(function () {
// Dashboard
Route::get('/dashboard', [HomeController::class, 'index'])->name('dashboard')->middleware('auth');
// Help
Route::get('/help', function () {
return view('help.index', ['appName' => \App\Models\AppSetting::getAppName() ?? 'Glastree']);
})->middleware('auth')->name('help');
// Resource routes
// Individui specific routes (MUST be before resource route)
Route::get('individui/email-list', [IndividuoController::class, 'emailList'])->middleware('auth');
@@ -229,4 +235,13 @@ Route::prefix('admin')->middleware(['auth', AdminOnly::class])->group(function (
Route::delete('/ruoli/{id}', [RuoloController::class, 'destroy'])->name('admin.ruoli.destroy');
Route::get('/activity-logs', [ActivityLogController::class, 'index'])->name('admin.activity-logs.index');
// Backup
Route::get('/backup', [\App\Http\Controllers\Admin\BackupController::class, 'index'])->name('admin.backup.index');
Route::post('/backup/run', [\App\Http\Controllers\Admin\BackupController::class, 'run'])->name('admin.backup.run');
Route::get('/backup/download/{filename}', [\App\Http\Controllers\Admin\BackupController::class, 'download'])->name('admin.backup.download');
Route::delete('/backup/{filename}', [\App\Http\Controllers\Admin\BackupController::class, 'destroy'])->name('admin.backup.destroy');
Route::post('/backup/config', [\App\Http\Controllers\Admin\BackupController::class, 'updateConfig'])->name('admin.backup.config');
Route::post('/backup/toggle-auto', [\App\Http\Controllers\Admin\BackupController::class, 'toggleAuto'])->name('admin.backup.toggle-auto');
Route::post('/backup/save-auto', [\App\Http\Controllers\Admin\BackupController::class, 'saveAutoConfig'])->name('admin.backup.save-auto');
});