Enhance audit trail system for approval workflows
- Add conditional audit data enrichment for specific approval actions - Implement namapelulus and norujukan tracking for pampasan approvals - Improve audit data structure handling for scalar and array values - Add user field validation with fallback defaults for audit records - Optimize approval controller with better request parameter handling
This commit is contained in:
@@ -96,6 +96,7 @@ class KelulusanController extends Controller
|
||||
{
|
||||
$harini = Carbon::now();
|
||||
$harini = new Carbon;
|
||||
$kelulusan = null;
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$pengesahan = $request->pengesahan;
|
||||
@@ -193,7 +194,33 @@ class KelulusanController extends Controller
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = (isset($request->namakhazanah) ? $request->namakhazanah : '');
|
||||
$audit->actions = "Pengesahan Kelulusan 75%";
|
||||
$audit->actions = $request->actions ?? "pengesahan kelulusan 75%";
|
||||
|
||||
// Only prepare detailed audit data for Pampasan approval
|
||||
if($request->actions == 'Pengesahan Pembayaran Pampasan') {
|
||||
// Prepare data for audit - ensure it's an array
|
||||
$auditData = [];
|
||||
|
||||
// If kelulusan is a scalar (update result), create array structure
|
||||
if (is_scalar($kelulusan) || is_null($kelulusan)) {
|
||||
$auditData = ['update_result' => $kelulusan];
|
||||
} else {
|
||||
$auditData = $kelulusan;
|
||||
}
|
||||
|
||||
// Add namapelulus and norujukanasal to the audit data
|
||||
if(isset($request->namaoperasi)) {
|
||||
$auditData['namapelulus'] = !empty($request->namaoperasi) ? $request->namaoperasi : null;
|
||||
}
|
||||
if(isset($request->norujukan)) {
|
||||
$auditData['norujukan'] = !empty($request->norujukan) ? $request->norujukan : null;
|
||||
}
|
||||
} else {
|
||||
// For other actions, use simple kelulusan data
|
||||
$auditData = $kelulusan;
|
||||
}
|
||||
|
||||
$audit->new_data = json_encode($auditData);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
@@ -275,7 +302,7 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = (isset($request->teller) ? $request->teller : '');
|
||||
$audit->actions = "Minta Pengesahan kelulusan 75%";
|
||||
$audit->actions = $request->actions ?? "Minta Pengesahan kelulusan 75%";
|
||||
$audit->new_data = json_encode($kelulusan);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
|
||||
@@ -1244,7 +1244,7 @@ $date = new Carbon($request->tarikh);
|
||||
array_push($atarray,[
|
||||
'tarikh' => $tarikh,
|
||||
'masa' => $masa,
|
||||
'users' => $at['users'],
|
||||
'users' => isset($at['users']) && $at['users'] !== '' ? $at['users'] : '-',
|
||||
'pelulus' => isset($atnewdata['namapelulus']) ? $atnewdata['namapelulus'] : '-',
|
||||
'actions' => $at['actions'],
|
||||
'norujukan' => $at['norujukan'],
|
||||
|
||||
Reference in New Issue
Block a user