environment(['local', 'development'])) { $seeders[] = DemoUsersSeeder::class; } // Chiama solo il seeder che abbiamo creato. $this->call($seeders); // Registra e attiva i moduli di base (Contabilita e StampeRate) se non presenti if (\Illuminate\Support\Facades\Schema::hasTable('modules')) { \Illuminate\Support\Facades\DB::table('modules')->updateOrInsert( ['name' => 'Contabilita'], [ 'display_name' => 'Contabilità Avanzata', 'version' => '1.0.0', 'description' => 'Modulo per la gestione della contabilità avanzata, include piano dei conti, registrazioni, bilanci e report.', 'author' => 'Team NetGescon', 'status' => 'active', 'license' => 'commercial', 'price' => 199.00, 'currency' => 'EUR', 'billing' => 'yearly', 'config' => json_encode([ "path" => "app/Modules/Contabilita", "namespace" => "App\\Modules\\Contabilita", "auto_install_routes" => true, "auto_install_migrations" => true, "cache_enabled" => true, "api_enabled" => true ]), 'dependencies' => json_encode([]), 'permissions' => json_encode([ "contabilita_view" => "Visualizzare la contabilità", "contabilita_create" => "Creare registrazioni contabili", "contabilita_edit" => "Modificare registrazioni contabili", "contabilita_delete" => "Eliminare registrazioni contabili", "contabilita_admin" => "Amministrazione completa del modulo contabilità" ]), 'installed_at' => now(), 'created_at' => now(), 'updated_at' => now() ] ); \Illuminate\Support\Facades\DB::table('modules')->updateOrInsert( ['name' => 'StampeRate'], [ 'display_name' => 'Stampe Rate Avanzate', 'version' => '1.0.0', 'description' => 'Modulo avanzato per la gestione e stampa delle rate condominiali con template personalizzabili', 'author' => 'NetGescon Team', 'status' => 'active', 'license' => 'commercial', 'price' => 99.00, 'currency' => 'EUR', 'billing' => 'yearly', 'config' => json_encode([ 'path' => 'app/Modules/StampeRate', 'namespace' => 'App\\Modules\\StampeRate', 'prezzo_annuale' => 99.00, 'categoria' => 'Stampe e Comunicazioni', 'features' => [ 'Generazione PDF multipli', 'Template personalizzabili', 'Invio email automatico', 'Tracking aperture email', 'Cronologia e statistiche', 'Export in vari formati' ], 'menu_items' => [ [ 'title' => 'Stampe Rate', 'route' => 'stampeRate.index', 'icon' => 'fa-file-pdf', 'permission' => 'stampe_rate_view' ], [ 'title' => 'Template', 'route' => 'stampeRate.templates.index', 'icon' => 'fa-template', 'permission' => 'stampe_rate_templates_manage' ], [ 'title' => 'Cronologia', 'route' => 'stampeRate.history.index', 'icon' => 'fa-history', 'permission' => 'stampe_rate_view' ] ] ]), 'dependencies' => json_encode([]), 'permissions' => json_encode([ 'stampe_rate_view' => 'Visualizzare stampe rate', 'stampe_rate_create' => 'Creare nuove stampe', 'stampe_rate_edit' => 'Modificare stampe esistenti', 'stampe_rate_delete' => 'Eliminare stampe', 'stampe_rate_templates_manage' => 'Gestire template', 'stampe_rate_admin' => 'Amministrazione completa modulo' ]), 'installed_at' => now(), 'created_at' => now(), 'updated_at' => now() ] ); // Resetta cache dei moduli \Illuminate\Support\Facades\Cache::forget('netgescon.active_modules'); \Illuminate\Support\Facades\Cache::forget('netgescon.modules_menu'); \Illuminate\Support\Facades\Cache::forget('netgescon.modules_permissions'); } } }