user(); if ($user && ! $user->hasAnyRole(['owner', 'developer', 'direktur'])) { abort(403, 'Anda tidak memiliki akses untuk menambah penyesuaian gaji.'); } $this->payrollService->addAdjustment( $payroll, $request->validated(), $user, ); $this->flashSuccess('Penyesuaian gaji berhasil ditambahkan.'); return redirect()->route('admin.finance.payroll.index', [ 'period_id' => $payroll->payroll_period_id, ]); } public function updateAdjustment(PayrollAdjustmentRequest $request, PayrollAdjustment $payrollAdjustment): RedirectResponse { $user = $request->user(); if ($user && ! $user->hasAnyRole(['owner', 'developer', 'direktur'])) { abort(403, 'Anda tidak memiliki akses untuk mengubah penyesuaian gaji.'); } $this->payrollService->updateAdjustment( $payrollAdjustment, $request->validated(), $user, ); $this->flashSuccess('Penyesuaian gaji berhasil diperbarui.'); return redirect()->route('admin.finance.payroll.index', [ 'period_id' => $payrollAdjustment->payroll->payroll_period_id, ]); } public function destroyAdjustment(PayrollAdjustment $payrollAdjustment): RedirectResponse { $user = auth()->user(); if ($user && ! $user->hasAnyRole(['owner', 'developer', 'direktur'])) { abort(403, 'Anda tidak memiliki akses untuk menghapus penyesuaian gaji.'); } $payroll = $payrollAdjustment->payroll; $this->payrollService->deleteAdjustment($payrollAdjustment); $this->flashSuccess('Penyesuaian gaji berhasil dihapus.'); return redirect()->route('admin.finance.payroll.index', [ 'period_id' => $payroll->payroll_period_id, ]); } }