diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index e070f29..c8ec63a 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Maatwebsite\Excel\Facades\Excel; - use Modules\Lpj\Models\Branch; + use Modules\Basicdata\Models\Branch; use Modules\Usermanagement\Exports\UsersExport; use Modules\Usermanagement\Http\Requests\User as UserRequest; use Modules\Usermanagement\Models\Role; diff --git a/database/seeders/UsersSeeder.php b/database/seeders/UsersSeeder.php index fc44e72..f17be4b 100644 --- a/database/seeders/UsersSeeder.php +++ b/database/seeders/UsersSeeder.php @@ -5,6 +5,7 @@ namespace Modules\Usermanagement\Database\Seeders; use Faker\Generator; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Hash; +use Modules\Basicdata\Models\Branch; use Modules\Usermanagement\Models\User; use Spatie\Permission\Models\Role; @@ -20,9 +21,18 @@ class UsersSeeder extends Seeder $roles = Role::all(); foreach ($roles as $role) { + // Generate NIK secara acak dengan 6 digit angka + $randomNik = str_pad(mt_rand(0, 999999), 6, '0', STR_PAD_LEFT); + + // Ubah nama dengan format khusus + $formattedName = $this->formatRoleName($role->name); + + $email = $formattedName . '@ag.co.id'; $user = User::create([ - 'name' => $role->name, - 'email' => $role->name . '@ag.co.id', + 'name' => $formattedName, + 'nik' => $randomNik, + 'branch_id' => Branch::inRandomOrder()->first()->id, + 'email' => $email, 'password' => Hash::make('bagbag'), 'email_verified_at' => now(), ]); @@ -30,4 +40,28 @@ class UsersSeeder extends Seeder $user->assignRole($role); } } + + /** + * Format nama role dengan aturan khusus + */ + private function formatRoleName($roleName) + { + // Pisahkan bagian sebelum dan sesudah "-" + $parts = explode('-', $roleName); + + // Jika ada lebih dari satu bagian + if (count($parts) > 1) { + // Kapitalisasi bagian pertama + $parts[0] = (strlen($parts[0]) > 2) ? ucfirst(strtolower($parts[0])) : strtoupper($parts[0]); + + // Untuk bagian kedua, kapitalisasi jika lebih dari 2 huruf + $parts[1] = (strlen($parts[1]) > 2) ? ucfirst(strtolower($parts[1])) : strtoupper($parts[1]); + + // Gabungkan kembali + return implode(' ', $parts); + } + + // Jika tidak ada "-", kapitalisasi biasa + return ucfirst($roleName); + } }