info('Setting up Stock Audit menu...'); // Check if menu already exists $existingMenu = Menu::where('link', 'stock-audit.index')->first(); if ($existingMenu) { $this->warn('Stock Audit menu already exists!'); return 0; } // Create Stock Audit menu $menu = Menu::create([ 'name' => 'Audit Histori Stock', 'link' => 'stock-audit.index', 'created_at' => now(), 'updated_at' => now() ]); $this->info('Stock Audit menu created with ID: ' . $menu->id); // Give all roles access to this menu $roles = Role::all(); $privilegeCount = 0; foreach($roles as $role) { // Check if privilege already exists $existingPrivilege = Privilege::where('role_id', $role->id) ->where('menu_id', $menu->id) ->first(); if (!$existingPrivilege) { Privilege::create([ 'role_id' => $role->id, 'menu_id' => $menu->id, 'create' => 0, // Stock audit is view-only 'update' => 0, // Stock audit is view-only 'delete' => 0, // Stock audit is view-only 'view' => 1, // Allow viewing 'created_at' => now(), 'updated_at' => now() ]); $privilegeCount++; } } $this->info("Created {$privilegeCount} privileges for Stock Audit menu."); $this->info('Stock Audit menu setup completed successfully!'); return 0; } }