middleware(function ($request, $next) { $this->user = Auth::guard('web')->user(); return $next($request); }); } /** * Display a listing of the resource. * * @return Renderable */ public function index(ApprovalDataTable $dataTable) { return $dataTable->render('writeoff::approval.index'); } /** * Show the form for creating a new resource. * * @return Renderable */ public function create() { return view('cetaklabel::create'); } /** * Store a newly created resource in storage. * * @param Request $request * * @return Renderable */ public function store(Request $request) { // } /** * Show the specified resource. * * @param int $id * * @return Renderable */ public function show($id) { return view('cetaklabel::show'); } /** * Show the form for editing the specified resource. * * @param int $id * * @return Renderable */ public function edit($id) { $authorization = Approval::findOrFail($id); return view('writeoff::approval.edit', compact('authorization')); } /** * Update the specified resource in storage. * * @param Request $request * @param int $id * * @return Renderable */ public function update(Request $request, $id) { $_model = [ 'Parameter Cabang' => 'Branch', 'Parameter Mata Uang' => 'Currency', 'Parameter Jenis Jaminan' => 'GuaranteeType', 'Parameter Jenis Fasilitas' => 'FacilityType', 'Parameter Jenis Pinjaman' => 'LoanType', 'Parameter Debitur' => 'Debitur', 'Parameter Rekening' => 'Rekening', 'Subrogasi Jamkrindo' => 'SubrogasiJamkrindo', ]; try { $approval = Approval::findOrFail($id); $approval->approved_by = $this->user->id; $approval->approved_at = date('Y - m - d H:i:s'); $approval->status = $request->status; $model = "Modules\\Writeoff\\Entities\\" . $_model[$approval->menu]; $model = new $model(); //20555012,18 if ($approval->status == 1) { if ($approval->method == 'create') { $data = json_decode($approval->new_request, true); $data['authorized_status'] = 1; $data['authorized_by'] = $this->user->id; $data['authorized_at'] = date('Y - m - d H:i:s'); $model->fill($data); $model->save(); } else if ($approval->method == 'update') { $old = json_decode($approval->old_request, true); $data = json_decode($approval->new_request, true); $data['authorized_status'] = 1; $data['authorized_by'] = $this->user->id; $data['authorized_at'] = date('Y - m - d H:i:s'); $model = $model::findOrFail($old['id']); $model->fill($data); $model->save(); } else if ($approval->method == 'delete') { $data = json_decode($approval->old_request, true); $model = $model::findOrFail($data['id']); $data_ = []; $data_['authorized_status'] = 1; $data_['authorized_by'] = $this->user->id; $data_['authorized_at'] = date('Y - m - d H:i:s'); $model = $model::findOrFail($data['id']); $model->fill($data_); $model->save(); $model->delete(); } } $approval->save(); $approval->delete(); echo json_encode([ 'status' => 'success', 'message' => 'Approval ' . $approval->description . ' successfully . ' ]); } catch (Exception $e) { echo json_encode([ 'status' => 'error', 'message' => 'Approval ' . $approval->description . ' failed . ' ]); } } /** * Remove the specified resource from storage. * * @param int $id * * @return Renderable */ public function destroy($id) { // } }