2 Commits

Author SHA1 Message Date
558759ac48 Merge pull request 'Fix admin unable to access Filament panel' (#14) from fix/ldap-admin-email into master
All checks were successful
linter / quality (push) Successful in 1m53s
security / Dependency Audit (push) Successful in 1m45s
security / Static Analysis (push) Successful in 2m16s
tests / ci (8.4) (push) Successful in 2m40s
tests / ci (8.5) (push) Successful in 1m56s
Reviewed-on: #14
2026-03-06 15:27:01 +08:00
66316328bb Fix seeder emails to match LDAP mail attributes
All checks were successful
linter / quality (pull_request) Successful in 1m27s
security / Dependency Audit (pull_request) Successful in 2m20s
security / Static Analysis (pull_request) Successful in 1m50s
tests / ci (8.4) (pull_request) Successful in 1m33s
tests / ci (8.5) (pull_request) Successful in 2m5s
Seeded user emails were using example.com domains which don't match
the LDAP mail attributes (travel.local). When users log in via LDAP,
LdapRecord syncs by email — a mismatch caused new DB records to be
created without roles, preventing admin access to the Filament panel.
2026-03-06 07:11:08 +00:00

View File

@@ -16,28 +16,28 @@ class DatabaseSeeder extends Seeder
// Create roles
$this->call(RoleSeeder::class);
// Create admin user
// Create admin user — email matches LDAP mail attribute
$admin = User::factory()->create([
'name' => 'Administrator',
'email' => 'admin@example.com',
'email' => 'admin@travel.local',
'username' => 'admin',
'password' => Hash::make('password'),
]);
$admin->assignRole('administrator');
// Create a travel approver
// Create a travel approver — email matches LDAP mail attribute
$approver = User::factory()->create([
'name' => 'Travel Approver',
'email' => 'approver@example.com',
'email' => 'approver@travel.local',
'username' => 'approver',
'password' => Hash::make('password'),
]);
$approver->assignRole('travel_approver');
// Create a staff user
// Create a staff user — email matches LDAP mail attribute
$staff = User::factory()->create([
'name' => 'Staff Member',
'email' => 'staff@example.com',
'email' => 'staff@travel.local',
'username' => 'staff',
'password' => Hash::make('password'),
]);