add reason in corporate, plan, service
This commit is contained in:
@@ -6,6 +6,11 @@ use App\Rules\NikRule;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use App\Models\Corporate;
|
||||
use App\Models\CorporateService;
|
||||
use App\Models\CorporatePlan;
|
||||
use App\Models\AuditTrail;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Str;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
@@ -32,5 +37,58 @@ class AppServiceProvider extends ServiceProvider
|
||||
Str::macro('initials', fn($value, $sep = ' ', $glue = '') => trim(collect(explode($sep, $value))->map(function ($segment) {
|
||||
return $segment[0] ?? '';
|
||||
})->join($glue)));
|
||||
|
||||
// Menambahkan event listener untuk jejak audit pada model yang ingin di-audit
|
||||
// Corporate::created(function ($model) {
|
||||
// $this->logAuditTrail($model, 'created');
|
||||
// });
|
||||
|
||||
Corporate::updated(function ($model) {
|
||||
|
||||
$this->logAuditTrail($model, 'updated');
|
||||
});
|
||||
|
||||
Corporate::deleted(function ($model) {
|
||||
$this->logAuditTrail($model, 'deleted');
|
||||
});
|
||||
|
||||
|
||||
// Corporate Service
|
||||
CorporateService::updated(function ($model) {
|
||||
|
||||
$this->logAuditTrail($model, 'updated');
|
||||
});
|
||||
|
||||
CorporateService::deleted(function ($model) {
|
||||
$this->logAuditTrail($model, 'deleted');
|
||||
});
|
||||
|
||||
// Corporate Plans
|
||||
CorporatePlan::updated(function ($model) {
|
||||
|
||||
$this->logAuditTrail($model, 'updated');
|
||||
});
|
||||
|
||||
CorporatePlan::deleted(function ($model) {
|
||||
$this->logAuditTrail($model, 'deleted');
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function logAuditTrail($model, $action)
|
||||
{
|
||||
// Membuat jejak audit baru
|
||||
$auditTrail = new AuditTrail([
|
||||
'model' => get_class($model),
|
||||
'model_id' => $model->getKey(),
|
||||
'action' => $action,
|
||||
'old_values' => json_encode($model->getOriginal()),
|
||||
'new_values' => json_encode($model->getAttributes()),
|
||||
'user_id' => Auth::id(),
|
||||
]);
|
||||
|
||||
// Simpan jejak audit
|
||||
$auditTrail->save();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user