Compare commits

...

10 Commits

Author SHA1 Message Date
Sholahuddin Al Ayubi
fec8dc083c feat(Basicdata): Update 'is_dalam_kota' column and add new branches
- Update 'is_dalam_kota' to true for existing branches based on suffix code
- Set 'is_dalam_kota' to false for branches not in the list
- Add new branches (ID0012005 - KORPORASI, ID0010172 - AMBON TUAL MALUKU)
- Seeder is idempotent and can be rerun safely

run this command:
php artisan module:seed Basicdata --class="UpdateBranchesIsDalamKotaSeeder"

php artisan module:seed --class="Modules\\Basicdata\\Database\\Seeders\\UpdateBranchesIsDalamKotaSeeder"
2025-12-08 17:19:12 +07:00
Daeng Deni Mardaeni
4c4a4a33a9 fix(export): tambahkan properti parent_id pada BranchExport
- Menambahkan properti `protected $parent_id` pada kelas **BranchExport**.
- Properti ini digunakan untuk menyimpan ID cabang induk yang akan dipakai sebagai filter saat melakukan ekspor data.
- Memastikan nilai `parent_id` diinisialisasi melalui constructor dan dideklarasikan sebagai properti kelas.
- Perbaikan ini memastikan filter berdasarkan cabang induk berfungsi dengan benar pada proses ekspor.
- Mendukung konsistensi data pada ekspor **Excel/CSV** dengan filter yang akurat.
- Meningkatkan keandalan fitur ekspor cabang dalam modul laporan.
- Mengoptimalkan integrasi antara fitur filter dan proses ekspor.
- Memperbaiki potensi bug yang muncul akibat properti tidak dideklarasikan.
- Menjamin proses ekspor lebih stabil dan sesuai dengan parameter yang diberikan.
2025-09-08 15:12:27 +07:00
Daeng Deni Mardaeni
a2aabd51d6 refactor(basicdata): optimasi middleware autentikasi dan seeder perizinan
- Mengoptimalkan middleware autentikasi di controller berikut:
  - `BranchController`, `CurrencyController`, dan `HolidayCalendarController`.
  - Mengganti penggunaan `Auth::guard('web')->user()` menjadi middleware `auth`.
  - Menambahkan middleware closure untuk menetapkan properti `$this->user` setelah middleware `auth`.
  - Penyesuaian pada semua pemanggilan terkait autentikasi pengguna untuk menggunakan `$this->user`.

- Refaktor `PermissionSeeder`:
  - Menghapus metode `crudActions` beserta logika iterasi CRUD yang tidak digunakan.
  - Menyederhanakan proses seeding untuk model `PermissionGroup` dengan `updateOrCreate`.
  - Menghilangkan logika assignment izin dari seeder untuk mempercepat proses seeding.
2025-06-22 20:50:59 +07:00
Daeng Deni Mardaeni
c168634c3a feat(basicdata): tambahkan PermissionSeeder dan optimasi autentikasi di controller
- Menambahkan `PermissionSeeder` untuk inisialisasi data izin dengan struktur CRUD pada modul Basicdata.
  - Data izin mencakup tindakan seperti `create`, `read`, `update`, `delete`, `export`, `authorize`, `report`, dan `restore`.
  - Menyediakan relasi dengan grup izin menggunakan model `PermissionGroup`.
- Memanggil `PermissionSeeder` di `BasicdataDatabaseSeeder` untuk memastikan data izin terpasang saat proses seeding.

- Mengoptimalkan autentikasi pengguna di konstruktor controller:
  - Mengganti logika middleware pada `BranchController`, `CurrencyController`, dan `HolidayCalendarController` dengan properti `$this->user`.
  - Menggunakan `Auth::guard('web')->user()` sebagai standar pengelolaan autentikasi.
  - Menghapus middleware yang tidak diperlukan demi meningkatkan kinerja kode.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 19:00:31 +07:00
Daeng Deni Mardaeni
65695d0594 refactor(basicdata): update namespace Userstamps trait di model Base
- Mengganti namespace trait `Userstamps` dari `Wildside\Userstamps\Userstamps` ke `Mattiverse\Userstamps\Traits\Userstamps`.
- Perubahan ini bertujuan untuk menyesuaikan penggunaan namespace dengan struktur library terbaru.
- Menghapus import `Spatie\Activitylog\Facades\CauserResolver` yang tidak digunakan untuk merapikan kode.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-22 10:31:07 +07:00
putrakuningan
9158005a5c Merge pull request 'flpp' (#2) from flpp into master
Reviewed-on: #2
2025-06-22 10:25:11 +07:00
putrakuningan
336d74b628 Merge pull request 'FEAT: Fixed error permission on basic-data Module' (#1) from putrakuningan-patch-1 into master
Reviewed-on: #1
2025-06-21 11:29:21 +07:00
putrakuningan
5f9f07657f FEAT: Fixed error permission on basic-data Module 2025-06-21 11:28:59 +07:00
Sholahuddin Al Ayubi
05ceb5ef01 FEAT: Fixed error permission on basic-data Module 2025-06-20 14:59:19 +07:00
Sholahuddin Al Ayubi
89f5fedfd6 FEAT: Add New Userstamps 2025-06-19 16:26:45 +07:00
11 changed files with 149 additions and 7 deletions

View File

@@ -12,6 +12,7 @@
class BranchExport implements WithColumnFormatting, WithHeadings, FromCollection, WithMapping
{
protected $search;
protected $parent_id;
public function __construct($search = null, $parent_id = null)
{

View File

@@ -2,6 +2,7 @@
namespace Modules\Basicdata\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use Exception;
use Illuminate\Http\Request;
@@ -16,7 +17,14 @@
public function __construct()
{
$this->user = auth()->user();
// Mengatur middleware auth
$this->middleware('auth');
// Mengatur user setelah middleware auth dijalankan
$this->middleware(function ($request, $next) {
$this->user = Auth::user();
return $next($request);
});
}
public function index()

View File

@@ -9,13 +9,22 @@
use Modules\Basicdata\Exports\CurrencyExport;
use Modules\Basicdata\Http\Requests\CurrencyRequest;
use Modules\Basicdata\Models\Currency;
use Illuminate\Support\Facades\Auth;
class CurrencyController extends Controller
{
protected $user;
public function __construct(){
$this->user = auth()->user();
public function __construct()
{
// Mengatur middleware auth
$this->middleware('auth');
// Mengatur user setelah middleware auth dijalankan
$this->middleware(function ($request, $next) {
$this->user = Auth::user();
return $next($request);
});
}
public function index()

View File

@@ -9,13 +9,22 @@
use Modules\Basicdata\Exports\HolidayCalendarExport;
use Modules\Basicdata\Http\Requests\HolidayCalendarRequest;
use Modules\Basicdata\Models\HolidayCalendar;
use Illuminate\Support\Facades\Auth;
class HolidayCalendarController extends Controller
{
protected $user;
public function __construct(){
$this->user = auth()->user();
public function __construct()
{
// Mengatur middleware auth
$this->middleware('auth');
// Mengatur user setelah middleware auth dijalankan
$this->middleware(function ($request, $next) {
$this->user = Auth::user();
return $next($request);
});
}
public function index()

View File

@@ -4,7 +4,6 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Activitylog\Facades\CauserResolver;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
use Mattiverse\Userstamps\Traits\Userstamps;

View File

@@ -8,6 +8,7 @@
protected $fillable = [
'code',
'name',
'is_dalam_kota',
'address',
'mnemonic',
'customer_company',

View File

@@ -0,0 +1,27 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('branches', function (Blueprint $table) {
$table->boolean('is_dalam_kota')->default(true)->after('name');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('branches', function (Blueprint $table) {
$table->dropColumn('is_dalam_kota');
});
}
};

View File

@@ -12,6 +12,7 @@ class BasicdataDatabaseSeeder extends Seeder
public function run(): void
{
$this->call([
PermissionSeeder::class,
BranchesSeeder::class,
CurrencySeeder::class,
HolidayCalendarSeeder::class

View File

@@ -59,7 +59,8 @@
['code' => 'PKR', 'name' => 'Pakistani Rupee', 'symbol' => '₨', 'decimal_places' => 2, 'status' => true, 'created_at' => $now, 'updated_at' => $now],
];
DB::table('currencies')->truncate();
// DB::table('currencies')->truncate();
DB::table('currencies')->delete();
DB::table('currencies')->insert($currencies);
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace Modules\Basicdata\Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
use Modules\Usermanagement\Models\PermissionGroup;
class PermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run()
{
$data = $this->data();
foreach ($data as $value) {
PermissionGroup::updateOrCreate([
'name' => $value['name'],
'slug' => Str::slug($value['name'])
]);
}
}
public function data()
{
return [
['name' => 'basic-data']
];
}
}

View File

@@ -0,0 +1,54 @@
<?php
namespace Modules\Basicdata\Database\Seeders;
use Illuminate\Database\Seeder;
use Modules\Basicdata\Models\Branch;
class UpdateBranchesIsDalamKotaSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$codes = [
'0005','0012','0250','0016','0018','0279','0092','0022','0251',
'0029','0270','0096','0109','0098','2005','0008','0028','0015',
'0006','0090','0009','0023','0020','0099','0003','0010','0002',
'0273','0011','0105',
];
Branch::query()->update(['is_dalam_kota' => false]);
foreach ($codes as $code) {
Branch::where('code', 'like', '%' . $code)
->update(['is_dalam_kota' => true]);
}
$newBranches = [
[
'code' => 'ID0012005',
'name' => 'KORPORASI',
'is_dalam_kota' => true,
],
[
'code' => 'ID0010172',
'name' => 'AMBON TUAL MALUKU',
'is_dalam_kota' => false,
],
];
foreach ($newBranches as $branch) {
Branch::firstOrCreate(
['code' => $branch['code']],
[
'name' => $branch['name'],
'is_dalam_kota' => $branch['is_dalam_kota'],
]
);
}
echo "Seeder update kolom is_dalam_kota + insert data baru selesai!\n";
}
}