feat: implement core ERP modules, multi-tenant architecture, and comprehensive system workflow documentation.

This commit is contained in:
Ajjj
2026-08-05 01:18:31 +08:00
parent 1fcb468dc1
commit c03de704e2
46 changed files with 1902 additions and 387 deletions

View File

@@ -12,6 +12,7 @@ use Inertia\Inertia;
use Modules\ContractorManagement\Events\ContractorApproved;
use Modules\ContractorManagement\Events\ContractorOnboarded;
use Modules\ContractorManagement\Models\Contractor;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class ContractorOnboardingController extends Controller
@@ -61,8 +62,13 @@ class ContractorOnboardingController extends Controller
'type' => 'main', // Default to main if self-registered
]);
// Ensure the Contractor role exists
$role = Role::firstOrCreate(['name' => 'Contractor']);
// New contractor accounts are administrators for their own tenant.
$role = Role::firstOrCreate(['name' => 'Main Contractor Admin']);
$usersAccess = Permission::firstOrCreate([
'name' => 'users.access',
'guard_name' => 'web',
]);
$role->givePermissionTo($usersAccess);
// 2. Create the inactive admin user for this contractor
$user = User::create([