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 = Carbon::now();
|
||||||
$harini = new Carbon;
|
$harini = new Carbon;
|
||||||
|
$kelulusan = null;
|
||||||
|
|
||||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||||
$pengesahan = $request->pengesahan;
|
$pengesahan = $request->pengesahan;
|
||||||
@@ -193,7 +194,33 @@ class KelulusanController extends Controller
|
|||||||
|
|
||||||
$audit = new Audit();
|
$audit = new Audit();
|
||||||
$audit->users = (isset($request->namakhazanah) ? $request->namakhazanah : '');
|
$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->kodcaw = $kodcaw;
|
||||||
$audit->created_at = $harini;
|
$audit->created_at = $harini;
|
||||||
$audit->updated_at = $harini;
|
$audit->updated_at = $harini;
|
||||||
@@ -275,7 +302,7 @@ public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
|||||||
|
|
||||||
$audit = new Audit();
|
$audit = new Audit();
|
||||||
$audit->users = (isset($request->teller) ? $request->teller : '');
|
$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->new_data = json_encode($kelulusan);
|
||||||
$audit->kodcaw = $kodcaw;
|
$audit->kodcaw = $kodcaw;
|
||||||
$audit->created_at = $harini;
|
$audit->created_at = $harini;
|
||||||
|
|||||||
@@ -1244,7 +1244,7 @@ $date = new Carbon($request->tarikh);
|
|||||||
array_push($atarray,[
|
array_push($atarray,[
|
||||||
'tarikh' => $tarikh,
|
'tarikh' => $tarikh,
|
||||||
'masa' => $masa,
|
'masa' => $masa,
|
||||||
'users' => $at['users'],
|
'users' => isset($at['users']) && $at['users'] !== '' ? $at['users'] : '-',
|
||||||
'pelulus' => isset($atnewdata['namapelulus']) ? $atnewdata['namapelulus'] : '-',
|
'pelulus' => isset($atnewdata['namapelulus']) ? $atnewdata['namapelulus'] : '-',
|
||||||
'actions' => $at['actions'],
|
'actions' => $at['actions'],
|
||||||
'norujukan' => $at['norujukan'],
|
'norujukan' => $at['norujukan'],
|
||||||
|
|||||||
Reference in New Issue
Block a user