Files
basicdata/app/Models/Base.php
Daeng Deni Mardaeni 0bb12812a5 feat(branch): tambahkan fitur filter dan search pada eksport dan tabel cabang
- Menambahkan parameter `search` dan `parent_id` pada `BranchExport` untuk mendukung fitur filter.
- Memodifikasi method `collection` di `BranchExport` agar mendukung filter pencarian dan parent cabang.
- Memperbaiki issue pada method `collection` terkait penggunaan query `LOWER` untuk pencarian.
- Mengubah method `export` di `BranchController` agar menerima parameter filter dari request.
- Menambahkan logika filtering untuk `search` dan `parent_id` pada method index API `BranchController`.
- Menambahkan dropdown filter parent di tampilan `branch/index.blade.php`.
- Implementasi JavaScript di `branch/index.blade.php` untuk mendukung filter pencarian dan parent cabang.
  - Menambahkan logika sinkronisasi URL eksport dengan parameter filter.
  - Menambahkan event listener untuk filter pencarian dan dropdown parent.
  - Menambahkan validasi agar filter diterapkan ke datatable dan URL eksport secara dinamis.
- Memperbaiki penghitungan halaman pagination di datatable.
- Penyesuaian minor pada model Branch dan cara logging aktivitas di model Base.

Fitur ini memungkinkan pengguna melakukan filter data cabang berdasarkan pencarian dan parent cabang saat menampilkan tabel ataupun mengekspor data ke Excel.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-19 08:56:44 +07:00

53 lines
1.5 KiB
PHP

<?php
namespace Modules\Basicdata\Models;
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 Wildside\Userstamps\Userstamps;
/**
*
*/
class Base extends Model
{
use LogsActivity, SoftDeletes, Userstamps;
protected $connection;
/**
* Constructs a new instance of the class.
*
* @param array $attributes Optional attributes to initialize the object with.
*
* @return void
*/
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
// Retrieve the module configuration from the module.json file
$modulePath = dirname(__FILE__, 3) . '/module.json';
$module = file_get_contents($modulePath);
$module = json_decode($module);
// Set the connection property to the database connection specified in the module configuration
$this->connection = $module->database;
}
/**
* Retrieves the activity log options for the User Management.
*
* @return LogOptions The activity log options.
*/
public function getActivitylogOptions()
: LogOptions
{
return LogOptions::defaults()->logAll()->useLogName('Basic Data');
}
}