Compare commits
10 Commits
9845b01b0e
...
shola
| Author | SHA1 | Date | |
|---|---|---|---|
| 8fd8afd8df | |||
|
|
429a3a99fd | ||
| 2234ab2147 | |||
|
|
8d7a8d0fc7 | ||
| e24eaa963d | |||
|
|
254fe33028 | ||
| 0c9ba37486 | |||
|
|
b8cf5e550f | ||
| 08582a2aa3 | |||
|
|
0526a1bb05 |
@@ -28,6 +28,7 @@
|
||||
'authorized_at' => 'nullable|datetime',
|
||||
'authorized_status' => 'nullable|string|max:1',
|
||||
'authorized_by' => 'nullable|exists:users,id',
|
||||
'is_dalam_kota' => 'nullable|in:0,1',
|
||||
];
|
||||
|
||||
if ($this->method() == 'PUT') {
|
||||
|
||||
@@ -40,4 +40,10 @@
|
||||
{
|
||||
return $this->hasMany(Branch::class, 'parent_id');
|
||||
}
|
||||
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->belongsToMany(Modules\Usermanagement\Models\User::class, 'user_branches', 'branch_id', 'user_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up()
|
||||
: void
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('branches', function (Blueprint $table) {
|
||||
$table->id();
|
||||
@@ -31,9 +30,10 @@
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down()
|
||||
: void
|
||||
public function down(): void
|
||||
{
|
||||
Schema::disableForeignKeyConstraints();
|
||||
Schema::dropIfExists('branches');
|
||||
Schema::enableForeignKeyConstraints();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3,18 +3,30 @@
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('branches', function (Blueprint $table) {
|
||||
// Tambah kolom parent_id jika belum ada
|
||||
if (!Schema::hasColumn('branches', 'parent_id')) {
|
||||
$table->unsignedBigInteger('parent_id')->nullable()->after('name');
|
||||
$table->foreign('parent_id')->references('id')->on('branches')->onDelete('set null');
|
||||
}
|
||||
});
|
||||
|
||||
// Tambah foreign key jika belum ada
|
||||
if (!$this->foreignKeyExists('branches', 'branches_parent_id_foreign')) {
|
||||
Schema::table('branches', function (Blueprint $table) {
|
||||
$table->foreign('parent_id', 'branches_parent_id_foreign')
|
||||
->references('id')
|
||||
->on('branches')
|
||||
->onDelete('set null');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -22,9 +34,39 @@ return new class extends Migration
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
// Drop foreign key jika ada
|
||||
if ($this->foreignKeyExists('branches', 'branches_parent_id_foreign')) {
|
||||
Schema::table('branches', function (Blueprint $table) {
|
||||
$table->dropForeign(['parent_id']);
|
||||
$table->dropColumn('parent_id');
|
||||
$table->dropForeign('branches_parent_id_foreign');
|
||||
});
|
||||
}
|
||||
|
||||
// Drop kolom jika ada
|
||||
Schema::table('branches', function (Blueprint $table) {
|
||||
if (Schema::hasColumn('branches', 'parent_id')) {
|
||||
$table->dropColumn('parent_id');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Cek apakah foreign key exists
|
||||
*/
|
||||
private function foreignKeyExists(string $table, string $name): bool
|
||||
{
|
||||
$conn = Schema::getConnection();
|
||||
$dbName = $conn->getDatabaseName();
|
||||
|
||||
$result = DB::select(
|
||||
"SELECT CONSTRAINT_NAME
|
||||
FROM information_schema.TABLE_CONSTRAINTS
|
||||
WHERE TABLE_SCHEMA = ?
|
||||
AND TABLE_NAME = ?
|
||||
AND CONSTRAINT_NAME = ?
|
||||
AND CONSTRAINT_TYPE = 'FOREIGN KEY'",
|
||||
[$dbName, $table, $name]
|
||||
);
|
||||
|
||||
return count($result) > 0;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -18,7 +18,7 @@ class BranchesSeeder extends Seeder
|
||||
$branches = [
|
||||
[
|
||||
'code' => 'ID0010001',
|
||||
'name' => 'PT. Bank Artha Graha',
|
||||
'name' => 'KPNO',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -186,7 +186,7 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010031',
|
||||
'name' => 'BKR Bandung - KCP',
|
||||
'name' => 'BKR BANDUNG - KCP',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -235,14 +235,14 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010039',
|
||||
'name' => 'Cimahi - KCP',
|
||||
'name' => 'CIMAHI - KCP',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010050',
|
||||
'name' => 'Ir.Soekarno(MERR)-KCP',
|
||||
'name' => 'IR.SOEKARNO(MERR)-KCP',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -319,7 +319,7 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010063',
|
||||
'name' => 'Diponegoro Denpasar KK',
|
||||
'name' => 'DIPONEGORO DENPASAR KK',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -494,7 +494,7 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010108',
|
||||
'name' => 'Tzu Chi - KK',
|
||||
'name' => 'TZU CHI - KK',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -557,7 +557,7 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010131',
|
||||
'name' => 'Veteran Makassar - KCP',
|
||||
'name' => 'VETERAN MAKASSAR - KCP',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
@@ -704,7 +704,7 @@ class BranchesSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'ID0010272',
|
||||
'name' => 'Setiabudi Kuningan KK',
|
||||
'name' => 'SETIABUDI KUNINGAN KK',
|
||||
'status' => true,
|
||||
'created_at' => $now,
|
||||
'updated_at' => $now
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
{{ isset($branch->id) ? 'Edit' : 'Tambah' }} Branch
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('basicdata.branch.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
||||
<a href="{{ route('basicdata.branch.index') }}" class="btn btn-xs btn-info"><i
|
||||
class="ki-filled ki-exit-left"></i> Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
@@ -29,7 +30,8 @@
|
||||
Code
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('code') border-danger bg-danger-light @enderror" type="text" name="code" value="{{ $branch->code ?? '' }}">
|
||||
<input class="input @error('code') border-danger bg-danger-light @enderror" type="text"
|
||||
name="code" value="{{ $branch->code ?? '' }}">
|
||||
@error('code')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
@@ -40,12 +42,48 @@
|
||||
Name
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('name') border-danger bg-danger-light @enderror" type="text" name="name" value="{{ $branch->name ?? '' }}">
|
||||
<input class="input @error('name') border-danger bg-danger-light @enderror" type="text"
|
||||
name="name" value="{{ $branch->name ?? '' }}">
|
||||
@error('name')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Branch Type
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
@php
|
||||
$selectedDalamKota = old(
|
||||
'is_dalam_kota',
|
||||
isset($branch->is_dalam_kota) ? $branch->is_dalam_kota : '',
|
||||
);
|
||||
@endphp
|
||||
|
||||
<select class="input @error('is_dalam_kota') border-danger bg-danger-light @enderror"
|
||||
name="is_dalam_kota" id="is_dalam_kota">
|
||||
|
||||
<!-- DEFAULT PILIHAN SAAT CREATE -->
|
||||
<option value="">-- Select Branch Location --</option>
|
||||
|
||||
<option value="1" {{ $selectedDalamKota == 1 ? 'selected' : '' }}>
|
||||
Dalam Kota
|
||||
</option>
|
||||
|
||||
<option value="0" {{ $selectedDalamKota == 0 ? 'selected' : '' }}>
|
||||
Luar Kota
|
||||
</option>
|
||||
|
||||
</select>
|
||||
|
||||
@error('is_dalam_kota')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Parent Branch
|
||||
@@ -55,7 +93,8 @@
|
||||
<option value="">-- Select Parent Branch --</option>
|
||||
@foreach ($branches as $parentBranch)
|
||||
@if (!isset($branch->id) || $parentBranch->id != $branch->id)
|
||||
<option value="{{ $parentBranch->id }}" {{ (isset($branch->parent_id) && $branch->parent_id == $parentBranch->id) ? 'selected' : '' }}>
|
||||
<option value="{{ $parentBranch->id }}"
|
||||
{{ isset($branch->parent_id) && $branch->parent_id == $parentBranch->id ? 'selected' : '' }}>
|
||||
{{ $parentBranch->code }} - {{ $parentBranch->name }}
|
||||
</option>
|
||||
@endif
|
||||
|
||||
Reference in New Issue
Block a user