feat: update various controllers to return back instead of redirecting to index routes; add payroll adjustment and payroll controllers
This commit is contained in:
parent
6627422655
commit
48c031a86f
@ -36,7 +36,7 @@ public function updateSystem(UpdateSystemRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan sistem berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan sistem berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.settings.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateHomepage(UpdateHomepageRequest $request): RedirectResponse
|
public function updateHomepage(UpdateHomepageRequest $request): RedirectResponse
|
||||||
@ -45,7 +45,7 @@ public function updateHomepage(UpdateHomepageRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan homepage berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan homepage berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.settings.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateSocialMedia(UpdateSocialMediaRequest $request): RedirectResponse
|
public function updateSocialMedia(UpdateSocialMediaRequest $request): RedirectResponse
|
||||||
@ -54,7 +54,7 @@ public function updateSocialMedia(UpdateSocialMediaRequest $request): RedirectRe
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan media sosial berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan media sosial berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.settings.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateMarketplace(UpdateMarketplaceRequest $request): RedirectResponse
|
public function updateMarketplace(UpdateMarketplaceRequest $request): RedirectResponse
|
||||||
@ -63,7 +63,7 @@ public function updateMarketplace(UpdateMarketplaceRequest $request): RedirectRe
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan marketplace berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan marketplace berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.settings.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateHR(UpdateHRRequest $request): RedirectResponse
|
public function updateHR(UpdateHRRequest $request): RedirectResponse
|
||||||
@ -72,6 +72,6 @@ public function updateHR(UpdateHRRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan HR berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Pengaturan HR berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.settings.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,10 +20,8 @@ public function __construct(
|
|||||||
|
|
||||||
public function index(PaginatedRequest $request): Response
|
public function index(PaginatedRequest $request): Response
|
||||||
{
|
{
|
||||||
$cashAccount = $this->service->get();
|
|
||||||
|
|
||||||
return Inertia::render('admin/finance/cash-account/index', [
|
return Inertia::render('admin/finance/cash-account/index', [
|
||||||
'cashAccount' => $cashAccount,
|
'cashAccount' => $this->service->get(),
|
||||||
'transactions' => $this->service->paginatedTransactions(
|
'transactions' => $this->service->paginatedTransactions(
|
||||||
...$request->validatedWithDefaults(),
|
...$request->validatedWithDefaults(),
|
||||||
filters: $request->only(['type']),
|
filters: $request->only(['type']),
|
||||||
@ -38,7 +36,7 @@ public function index(PaginatedRequest $request): Response
|
|||||||
public function deposit(CashTransactionRequest $request): RedirectResponse
|
public function deposit(CashTransactionRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->deposit($request->validated()),
|
fn() => $this->service->deposit($request->validated()),
|
||||||
'Deposit berhasil ditambahkan.',
|
'Deposit berhasil ditambahkan.',
|
||||||
'admin.finance.cash-accounts.index'
|
'admin.finance.cash-accounts.index'
|
||||||
);
|
);
|
||||||
@ -47,7 +45,7 @@ public function deposit(CashTransactionRequest $request): RedirectResponse
|
|||||||
public function withdrawal(CashTransactionRequest $request): RedirectResponse
|
public function withdrawal(CashTransactionRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->withdrawal($request->validated()),
|
fn() => $this->service->withdrawal($request->validated()),
|
||||||
'Withdrawal berhasil ditambahkan.',
|
'Withdrawal berhasil ditambahkan.',
|
||||||
'admin.finance.cash-accounts.index'
|
'admin.finance.cash-accounts.index'
|
||||||
);
|
);
|
||||||
@ -56,7 +54,7 @@ public function withdrawal(CashTransactionRequest $request): RedirectResponse
|
|||||||
public function update(CashTransactionRequest $request, CashTransaction $transaction): RedirectResponse
|
public function update(CashTransactionRequest $request, CashTransaction $transaction): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->updateTransaction($transaction, $request->validated()),
|
fn() => $this->service->updateTransaction($transaction, $request->validated()),
|
||||||
'Transaksi berhasil diperbarui.',
|
'Transaksi berhasil diperbarui.',
|
||||||
'admin.finance.cash-accounts.index'
|
'admin.finance.cash-accounts.index'
|
||||||
);
|
);
|
||||||
@ -65,7 +63,7 @@ public function update(CashTransactionRequest $request, CashTransaction $transac
|
|||||||
public function destroy(CashTransaction $transaction): RedirectResponse
|
public function destroy(CashTransaction $transaction): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->deleteTransaction($transaction),
|
fn() => $this->service->deleteTransaction($transaction),
|
||||||
'Transaksi berhasil dihapus.',
|
'Transaksi berhasil dihapus.',
|
||||||
'admin.finance.cash-accounts.index'
|
'admin.finance.cash-accounts.index'
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin\Finance;
|
namespace App\Http\Controllers\Admin\Finance\Payroll;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\Admin\Finance\PayrollAdjustmentRequest;
|
use App\Http\Requests\Admin\Finance\PayrollAdjustmentRequest;
|
||||||
@ -18,7 +18,7 @@ public function __construct(
|
|||||||
public function store(PayrollAdjustmentRequest $request, Payroll $payroll): RedirectResponse
|
public function store(PayrollAdjustmentRequest $request, Payroll $payroll): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($payroll, $request->validated()),
|
fn() => $this->service->create($payroll, $request->validated()),
|
||||||
'Adjustment gaji berhasil ditambahkan.',
|
'Adjustment gaji berhasil ditambahkan.',
|
||||||
'admin.finance.payroll-periods.show',
|
'admin.finance.payroll-periods.show',
|
||||||
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
||||||
@ -28,7 +28,7 @@ public function store(PayrollAdjustmentRequest $request, Payroll $payroll): Redi
|
|||||||
public function destroy(PayrollAdjustment $payrollAdjustment): RedirectResponse
|
public function destroy(PayrollAdjustment $payrollAdjustment): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->delete($payrollAdjustment),
|
fn() => $this->service->delete($payrollAdjustment),
|
||||||
'Adjustment gaji berhasil dihapus.',
|
'Adjustment gaji berhasil dihapus.',
|
||||||
'admin.finance.payroll-periods.show',
|
'admin.finance.payroll-periods.show',
|
||||||
parameters: ['payroll_period' => $payrollAdjustment->payroll->payroll_period_id]
|
parameters: ['payroll_period' => $payrollAdjustment->payroll->payroll_period_id]
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin\Finance;
|
namespace App\Http\Controllers\Admin\Finance\Payroll;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Payroll;
|
use App\Models\Payroll;
|
||||||
@ -16,7 +16,7 @@ public function __construct(
|
|||||||
public function pay(Payroll $payroll): RedirectResponse
|
public function pay(Payroll $payroll): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->pay($payroll),
|
fn() => $this->service->pay($payroll),
|
||||||
'Gaji berhasil dibayar.',
|
'Gaji berhasil dibayar.',
|
||||||
'admin.finance.payroll-periods.show',
|
'admin.finance.payroll-periods.show',
|
||||||
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
||||||
@ -26,7 +26,7 @@ public function pay(Payroll $payroll): RedirectResponse
|
|||||||
public function cancel(Payroll $payroll): RedirectResponse
|
public function cancel(Payroll $payroll): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->cancel($payroll),
|
fn() => $this->service->cancel($payroll),
|
||||||
'Gaji berhasil dibatalkan.',
|
'Gaji berhasil dibatalkan.',
|
||||||
'admin.finance.payroll-periods.show',
|
'admin.finance.payroll-periods.show',
|
||||||
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
parameters: ['payroll_period' => $payroll->payroll_period_id]
|
||||||
@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\Admin\Finance;
|
namespace App\Http\Controllers\Admin\Finance\Payroll;
|
||||||
|
|
||||||
use App\Enums\PayrollPeriodStatus;
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\PaginatedRequest;
|
use App\Http\Requests\PaginatedRequest;
|
||||||
use App\Models\PayrollPeriod;
|
use App\Models\PayrollPeriod;
|
||||||
@ -26,29 +25,22 @@ public function index(PaginatedRequest $request): Response
|
|||||||
|
|
||||||
public function current(): RedirectResponse
|
public function current(): RedirectResponse
|
||||||
{
|
{
|
||||||
$now = now();
|
$period = $this->service->getCurrentOrCreate();
|
||||||
|
|
||||||
$period = PayrollPeriod::firstOrCreate(
|
|
||||||
['year' => $now->year, 'month' => $now->month],
|
|
||||||
['status' => PayrollPeriodStatus::OPEN]
|
|
||||||
);
|
|
||||||
|
|
||||||
return to_route('admin.finance.payroll-periods.show', ['payroll_period' => $period->id]);
|
return to_route('admin.finance.payroll-periods.show', ['payroll_period' => $period->id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show(PayrollPeriod $payrollPeriod): Response
|
public function show(PayrollPeriod $payrollPeriod): Response
|
||||||
{
|
{
|
||||||
$period = $this->service->getDetail($payrollPeriod);
|
|
||||||
|
|
||||||
return Inertia::render('admin/finance/payroll-period/show', [
|
return Inertia::render('admin/finance/payroll-period/show', [
|
||||||
'payrollPeriod' => $period,
|
'payrollPeriod' => $this->service->getDetail($payrollPeriod),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function close(PayrollPeriod $payrollPeriod): RedirectResponse
|
public function close(PayrollPeriod $payrollPeriod): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->close($payrollPeriod),
|
fn() => $this->service->close($payrollPeriod),
|
||||||
'Periode gaji berhasil ditutup.',
|
'Periode gaji berhasil ditutup.',
|
||||||
'admin.finance.payroll-periods.index'
|
'admin.finance.payroll-periods.index'
|
||||||
);
|
);
|
||||||
@ -57,7 +49,7 @@ public function close(PayrollPeriod $payrollPeriod): RedirectResponse
|
|||||||
public function reopen(PayrollPeriod $payrollPeriod): RedirectResponse
|
public function reopen(PayrollPeriod $payrollPeriod): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->reopen($payrollPeriod),
|
fn() => $this->service->reopen($payrollPeriod),
|
||||||
'Periode gaji berhasil dibuka kembali.',
|
'Periode gaji berhasil dibuka kembali.',
|
||||||
'admin.finance.payroll-periods.index'
|
'admin.finance.payroll-periods.index'
|
||||||
);
|
);
|
||||||
@ -6,7 +6,6 @@
|
|||||||
use App\Http\Requests\Admin\HR\AttendanceRequest;
|
use App\Http\Requests\Admin\HR\AttendanceRequest;
|
||||||
use App\Models\Attendance;
|
use App\Models\Attendance;
|
||||||
use App\Services\Admin\HR\AttendanceService;
|
use App\Services\Admin\HR\AttendanceService;
|
||||||
use App\Settings\HRSettings;
|
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Inertia\Inertia;
|
use Inertia\Inertia;
|
||||||
@ -22,44 +21,9 @@ public function index(Request $request): Response
|
|||||||
{
|
{
|
||||||
$year = $request->integer('year', now()->year);
|
$year = $request->integer('year', now()->year);
|
||||||
$month = $request->integer('month', now()->month);
|
$month = $request->integer('month', now()->month);
|
||||||
$hrSettings = app(HRSettings::class);
|
|
||||||
$user = auth()->user();
|
|
||||||
$isAdmin = $user->hasAnyRole(['developer', 'owner']);
|
|
||||||
|
|
||||||
if ($isAdmin) {
|
|
||||||
return Inertia::render('admin/hr/attendance/index', [
|
|
||||||
'attendances' => $this->service->getByMonth($year, $month),
|
|
||||||
'leaves' => $this->service->getLeavesByMonth($year, $month),
|
|
||||||
'employees' => $this->service->getAllEmployees(),
|
|
||||||
'todayAttendance' => null,
|
|
||||||
'currentYear' => $year,
|
|
||||||
'currentMonth' => $month,
|
|
||||||
'monthStats' => $this->service->getMonthStats($year, $month),
|
|
||||||
'hrSettings' => [
|
|
||||||
'scheduled_check_in_time' => $hrSettings->scheduled_check_in_time,
|
|
||||||
'scheduled_check_out_time' => $hrSettings->scheduled_check_out_time,
|
|
||||||
],
|
|
||||||
'isAdmin' => true,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$employeeId = $user->employee?->id;
|
|
||||||
$isOnLeave = $this->service->isOnLeave($user);
|
|
||||||
|
|
||||||
return Inertia::render('admin/hr/attendance/index', [
|
return Inertia::render('admin/hr/attendance/index', [
|
||||||
'attendances' => $this->service->getByMonth($year, $month, $employeeId),
|
...$this->service->getIndexData($year, $month),
|
||||||
'leaves' => $this->service->getLeavesByMonth($year, $month, $employeeId),
|
|
||||||
'todayAttendance' => $this->service->getToday(),
|
|
||||||
'currentYear' => $year,
|
|
||||||
'currentMonth' => $month,
|
|
||||||
'monthStats' => $this->service->getMonthStats($year, $month, $employeeId),
|
|
||||||
'hrSettings' => [
|
|
||||||
'scheduled_check_in_time' => $hrSettings->scheduled_check_in_time,
|
|
||||||
'scheduled_check_out_time' => $hrSettings->scheduled_check_out_time,
|
|
||||||
],
|
|
||||||
'isOnLeave' => $isOnLeave,
|
|
||||||
'canCheckIn' => $user->employee !== null,
|
|
||||||
'isAdmin' => false,
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,15 +7,16 @@
|
|||||||
use App\Http\Requests\PaginatedRequest;
|
use App\Http\Requests\PaginatedRequest;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Services\Admin\HR\EmployeeService;
|
use App\Services\Admin\HR\EmployeeService;
|
||||||
|
use App\Services\Admin\Settings\RoleService;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Inertia\Inertia;
|
use Inertia\Inertia;
|
||||||
use Inertia\Response;
|
use Inertia\Response;
|
||||||
use Spatie\Permission\Models\Role;
|
|
||||||
|
|
||||||
class EmployeeController extends Controller
|
class EmployeeController extends Controller
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private EmployeeService $service
|
private EmployeeService $service,
|
||||||
|
private RoleService $roleService,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function index(PaginatedRequest $request): Response
|
public function index(PaginatedRequest $request): Response
|
||||||
@ -32,14 +33,8 @@ public function index(PaginatedRequest $request): Response
|
|||||||
|
|
||||||
public function create(): Response
|
public function create(): Response
|
||||||
{
|
{
|
||||||
$user = auth()->user();
|
|
||||||
|
|
||||||
return Inertia::render('admin/hr/employee/create', [
|
return Inertia::render('admin/hr/employee/create', [
|
||||||
'roles' => $this->service->canViewAll()
|
'roles' => $this->roleService->getForEmployee(),
|
||||||
? Role::where('name', '!=', 'Developer')
|
|
||||||
->when($this->service->shouldHideAdminBahanBaku(), fn ($q) => $q->where('name', '!=', 'admin-bahan-baku'))
|
|
||||||
->get(['id', 'name'])
|
|
||||||
: Role::where('name', '=', $user->roles->first()?->name)->get(['id', 'name']),
|
|
||||||
'canViewAll' => $this->service->canViewAll(),
|
'canViewAll' => $this->service->canViewAll(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -47,7 +42,7 @@ public function create(): Response
|
|||||||
public function store(EmployeeRequest $request): RedirectResponse
|
public function store(EmployeeRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($request->validated()),
|
fn() => $this->service->create($request->validated()),
|
||||||
'Pegawai berhasil ditambahkan.',
|
'Pegawai berhasil ditambahkan.',
|
||||||
'admin.hr.employees.index'
|
'admin.hr.employees.index'
|
||||||
);
|
);
|
||||||
@ -59,9 +54,7 @@ public function edit(User $user): Response
|
|||||||
|
|
||||||
return Inertia::render('admin/hr/employee/edit', [
|
return Inertia::render('admin/hr/employee/edit', [
|
||||||
'employee' => $user,
|
'employee' => $user,
|
||||||
'roles' => Role::where('name', '!=', 'Developer')
|
'roles' => $this->roleService->getForEmployee(),
|
||||||
->when($this->service->shouldHideAdminBahanBaku(), fn ($q) => $q->where('name', '!=', 'admin-bahan-baku'))
|
|
||||||
->get(['id', 'name']),
|
|
||||||
'canViewAll' => $this->service->canViewAll(),
|
'canViewAll' => $this->service->canViewAll(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -69,7 +62,7 @@ public function edit(User $user): Response
|
|||||||
public function update(EmployeeRequest $request, User $user): RedirectResponse
|
public function update(EmployeeRequest $request, User $user): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->update($user, $request->validated()),
|
fn() => $this->service->update($user, $request->validated()),
|
||||||
'Pegawai berhasil diperbarui.',
|
'Pegawai berhasil diperbarui.',
|
||||||
'admin.hr.employees.index'
|
'admin.hr.employees.index'
|
||||||
);
|
);
|
||||||
@ -78,7 +71,7 @@ public function update(EmployeeRequest $request, User $user): RedirectResponse
|
|||||||
public function destroy(User $user): RedirectResponse
|
public function destroy(User $user): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->delete($user),
|
fn() => $this->service->delete($user),
|
||||||
'Pegawai berhasil dihapus.',
|
'Pegawai berhasil dihapus.',
|
||||||
'admin.hr.employees.index'
|
'admin.hr.employees.index'
|
||||||
);
|
);
|
||||||
@ -91,13 +84,13 @@ public function toggleActive(User $user): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => "Pegawai berhasil {$status}."]);
|
Inertia::flash('toast', ['type' => 'success', 'message' => "Pegawai berhasil {$status}."]);
|
||||||
|
|
||||||
return to_route('admin.hr.employees.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function resetPassword(User $user): RedirectResponse
|
public function resetPassword(User $user): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->resetPassword($user),
|
fn() => $this->service->resetPassword($user),
|
||||||
'Kata sandi pegawai berhasil direset ke kata sandi default.',
|
'Kata sandi pegawai berhasil direset ke kata sandi default.',
|
||||||
'admin.hr.employees.index'
|
'admin.hr.employees.index'
|
||||||
);
|
);
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public function create(): Response
|
|||||||
public function store(TransactionRequest $request): RedirectResponse
|
public function store(TransactionRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($request->validated()),
|
fn() => $this->service->create($request->validated()),
|
||||||
'Transaksi berhasil ditambahkan.',
|
'Transaksi berhasil ditambahkan.',
|
||||||
'admin.manage.transactions.index',
|
'admin.manage.transactions.index',
|
||||||
'admin.manage.transactions.create'
|
'admin.manage.transactions.create'
|
||||||
@ -60,7 +60,7 @@ public function edit(Order $transaction): Response
|
|||||||
public function update(TransactionRequest $request, Order $transaction): RedirectResponse
|
public function update(TransactionRequest $request, Order $transaction): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->update($transaction, $request->validated()),
|
fn() => $this->service->update($transaction, $request->validated()),
|
||||||
'Transaksi berhasil diperbarui.',
|
'Transaksi berhasil diperbarui.',
|
||||||
'admin.manage.transactions.index',
|
'admin.manage.transactions.index',
|
||||||
'admin.manage.transactions.edit',
|
'admin.manage.transactions.edit',
|
||||||
@ -71,7 +71,7 @@ public function update(TransactionRequest $request, Order $transaction): Redirec
|
|||||||
public function destroy(Order $transaction): RedirectResponse
|
public function destroy(Order $transaction): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->delete($transaction),
|
fn() => $this->service->delete($transaction),
|
||||||
'Transaksi berhasil dihapus.',
|
'Transaksi berhasil dihapus.',
|
||||||
'admin.manage.transactions.index'
|
'admin.manage.transactions.index'
|
||||||
);
|
);
|
||||||
@ -80,7 +80,7 @@ public function destroy(Order $transaction): RedirectResponse
|
|||||||
public function updateStatus(Order $transaction): RedirectResponse
|
public function updateStatus(Order $transaction): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->updateStatus($transaction, request('status')),
|
fn() => $this->service->updateStatus($transaction, request('status')),
|
||||||
'Status transaksi berhasil diperbarui.',
|
'Status transaksi berhasil diperbarui.',
|
||||||
'admin.manage.transactions.index'
|
'admin.manage.transactions.index'
|
||||||
);
|
);
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public function store(CategoryRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil ditambahkan.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil ditambahkan.']);
|
||||||
|
|
||||||
return to_route('admin.master.categories.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(CategoryRequest $request, Category $category): RedirectResponse
|
public function update(CategoryRequest $request, Category $category): RedirectResponse
|
||||||
@ -39,7 +39,7 @@ public function update(CategoryRequest $request, Category $category): RedirectRe
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.master.categories.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(Category $category): RedirectResponse
|
public function destroy(Category $category): RedirectResponse
|
||||||
@ -48,6 +48,6 @@ public function destroy(Category $category): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil dihapus.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Kategori berhasil dihapus.']);
|
||||||
|
|
||||||
return to_route('admin.master.categories.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public function store(CustomerRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil ditambahkan.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil ditambahkan.']);
|
||||||
|
|
||||||
return to_route('admin.master.customers.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(CustomerRequest $request, Customer $customer): RedirectResponse
|
public function update(CustomerRequest $request, Customer $customer): RedirectResponse
|
||||||
@ -39,7 +39,7 @@ public function update(CustomerRequest $request, Customer $customer): RedirectRe
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.master.customers.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(Customer $customer): RedirectResponse
|
public function destroy(Customer $customer): RedirectResponse
|
||||||
@ -48,6 +48,6 @@ public function destroy(Customer $customer): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil dihapus.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Customer berhasil dihapus.']);
|
||||||
|
|
||||||
return to_route('admin.master.customers.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public function create(): Response
|
|||||||
public function store(ProductRequest $request): RedirectResponse
|
public function store(ProductRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($request->validated()),
|
fn() => $this->service->create($request->validated()),
|
||||||
'Produk berhasil ditambahkan.',
|
'Produk berhasil ditambahkan.',
|
||||||
'admin.master.products.index',
|
'admin.master.products.index',
|
||||||
'admin.master.products.create'
|
'admin.master.products.create'
|
||||||
@ -60,7 +60,7 @@ public function edit(Product $product): Response
|
|||||||
public function update(ProductRequest $request, Product $product): RedirectResponse
|
public function update(ProductRequest $request, Product $product): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->update($product, $request->validated()),
|
fn() => $this->service->update($product, $request->validated()),
|
||||||
'Produk berhasil diperbarui.',
|
'Produk berhasil diperbarui.',
|
||||||
'admin.master.products.index',
|
'admin.master.products.index',
|
||||||
'admin.master.products.edit',
|
'admin.master.products.edit',
|
||||||
@ -71,7 +71,7 @@ public function update(ProductRequest $request, Product $product): RedirectRespo
|
|||||||
public function destroy(Product $product): RedirectResponse
|
public function destroy(Product $product): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->delete($product),
|
fn() => $this->service->delete($product),
|
||||||
'Produk berhasil dihapus.',
|
'Produk berhasil dihapus.',
|
||||||
'admin.master.products.index'
|
'admin.master.products.index'
|
||||||
);
|
);
|
||||||
@ -84,7 +84,7 @@ public function toggleStatus(Product $product): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => "Status produk berhasil diubah menjadi {$status->label()}."]);
|
Inertia::flash('toast', ['type' => 'success', 'message' => "Status produk berhasil diubah menjadi {$status->label()}."]);
|
||||||
|
|
||||||
return to_route('admin.master.products.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function approve(Product $product): RedirectResponse
|
public function approve(Product $product): RedirectResponse
|
||||||
@ -93,7 +93,7 @@ public function approve(Product $product): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil disetujui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil disetujui.']);
|
||||||
|
|
||||||
return to_route('admin.master.products.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function reject(Product $product): RedirectResponse
|
public function reject(Product $product): RedirectResponse
|
||||||
@ -103,7 +103,7 @@ public function reject(Product $product): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil ditolak.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil ditolak.']);
|
||||||
|
|
||||||
return to_route('admin.master.products.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function resubmit(Product $product): RedirectResponse
|
public function resubmit(Product $product): RedirectResponse
|
||||||
@ -112,6 +112,6 @@ public function resubmit(Product $product): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil diajukan ulang.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Produk berhasil diajukan ulang.']);
|
||||||
|
|
||||||
return to_route('admin.master.products.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,8 +18,6 @@ public function __construct(
|
|||||||
|
|
||||||
public function index(StockMutationRequest $request, Product $product, ProductVariant $variant): Response
|
public function index(StockMutationRequest $request, Product $product, ProductVariant $variant): Response
|
||||||
{
|
{
|
||||||
$perPage = $request->validatedWithDefaults()['perPage'];
|
|
||||||
|
|
||||||
return Inertia::render('admin/master/product/variant/stock-mutations', [
|
return Inertia::render('admin/master/product/variant/stock-mutations', [
|
||||||
'product' => [
|
'product' => [
|
||||||
'id' => $product->id,
|
'id' => $product->id,
|
||||||
@ -29,7 +27,7 @@ public function index(StockMutationRequest $request, Product $product, ProductVa
|
|||||||
'id' => $variant->id,
|
'id' => $variant->id,
|
||||||
'name' => $variant->name,
|
'name' => $variant->name,
|
||||||
],
|
],
|
||||||
'mutations' => $this->service->paginated($variant, $perPage),
|
'mutations' => $this->service->paginated($variant, ...$request->validatedWithDefaults()),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public function create(): Response
|
|||||||
public function store(RawMaterialRequest $request): RedirectResponse
|
public function store(RawMaterialRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($request->validated()),
|
fn() => $this->service->create($request->validated()),
|
||||||
'Bahan baku berhasil ditambahkan.',
|
'Bahan baku berhasil ditambahkan.',
|
||||||
'admin.master.raw-materials.index',
|
'admin.master.raw-materials.index',
|
||||||
'admin.master.raw-materials.create'
|
'admin.master.raw-materials.create'
|
||||||
@ -53,7 +53,7 @@ public function edit(RawMaterial $rawMaterial): Response
|
|||||||
public function update(RawMaterialRequest $request, RawMaterial $rawMaterial): RedirectResponse
|
public function update(RawMaterialRequest $request, RawMaterial $rawMaterial): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->update($rawMaterial, $request->validated()),
|
fn() => $this->service->update($rawMaterial, $request->validated()),
|
||||||
'Bahan baku berhasil diperbarui.',
|
'Bahan baku berhasil diperbarui.',
|
||||||
'admin.master.raw-materials.index',
|
'admin.master.raw-materials.index',
|
||||||
'admin.master.raw-materials.edit',
|
'admin.master.raw-materials.edit',
|
||||||
@ -64,7 +64,7 @@ public function update(RawMaterialRequest $request, RawMaterial $rawMaterial): R
|
|||||||
public function destroy(RawMaterial $rawMaterial): RedirectResponse
|
public function destroy(RawMaterial $rawMaterial): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->delete($rawMaterial),
|
fn() => $this->service->delete($rawMaterial),
|
||||||
'Bahan baku berhasil dihapus.',
|
'Bahan baku berhasil dihapus.',
|
||||||
'admin.master.raw-materials.index'
|
'admin.master.raw-materials.index'
|
||||||
);
|
);
|
||||||
@ -77,6 +77,6 @@ public function toggleStatus(RawMaterial $rawMaterial): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => "Status bahan baku berhasil diubah menjadi {$status}."]);
|
Inertia::flash('toast', ['type' => 'success', 'message' => "Status bahan baku berhasil diubah menjadi {$status}."]);
|
||||||
|
|
||||||
return to_route('admin.master.raw-materials.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public function store(SupplierRequest $request): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil ditambahkan.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil ditambahkan.']);
|
||||||
|
|
||||||
return to_route('admin.master.suppliers.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(SupplierRequest $request, Supplier $supplier): RedirectResponse
|
public function update(SupplierRequest $request, Supplier $supplier): RedirectResponse
|
||||||
@ -39,7 +39,7 @@ public function update(SupplierRequest $request, Supplier $supplier): RedirectRe
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil diperbarui.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil diperbarui.']);
|
||||||
|
|
||||||
return to_route('admin.master.suppliers.index');
|
return back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(Supplier $supplier): RedirectResponse
|
public function destroy(Supplier $supplier): RedirectResponse
|
||||||
@ -48,6 +48,6 @@ public function destroy(Supplier $supplier): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil dihapus.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Supplier berhasil dihapus.']);
|
||||||
|
|
||||||
return to_route('admin.master.suppliers.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,7 +34,7 @@ public function create(): Response
|
|||||||
public function store(RoleRequest $request): RedirectResponse
|
public function store(RoleRequest $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->create($request->validated()),
|
fn() => $this->service->create($request->validated()),
|
||||||
'Role berhasil ditambahkan.',
|
'Role berhasil ditambahkan.',
|
||||||
'admin.settings.roles.index'
|
'admin.settings.roles.index'
|
||||||
);
|
);
|
||||||
@ -43,7 +43,7 @@ public function store(RoleRequest $request): RedirectResponse
|
|||||||
public function edit(Role $role): Response
|
public function edit(Role $role): Response
|
||||||
{
|
{
|
||||||
return Inertia::render('admin/roles/edit', [
|
return Inertia::render('admin/roles/edit', [
|
||||||
'role' => $this->service->getById($role->id),
|
'role' => $role->load('permissions'),
|
||||||
'permissions' => $this->service->getPermissionsByModule(),
|
'permissions' => $this->service->getPermissionsByModule(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -51,7 +51,7 @@ public function edit(Role $role): Response
|
|||||||
public function update(RoleRequest $request, Role $role): RedirectResponse
|
public function update(RoleRequest $request, Role $role): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->handleAction(
|
return $this->handleAction(
|
||||||
fn () => $this->service->update($role, $request->validated()),
|
fn() => $this->service->update($role, $request->validated()),
|
||||||
'Role berhasil diperbarui.',
|
'Role berhasil diperbarui.',
|
||||||
'admin.settings.roles.index'
|
'admin.settings.roles.index'
|
||||||
);
|
);
|
||||||
@ -63,6 +63,6 @@ public function destroy(Role $role): RedirectResponse
|
|||||||
|
|
||||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Role berhasil dihapus.']);
|
Inertia::flash('toast', ['type' => 'success', 'message' => 'Role berhasil dihapus.']);
|
||||||
|
|
||||||
return to_route('admin.settings.roles.index');
|
return back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,9 +4,9 @@
|
|||||||
use App\Http\Controllers\Admin\Finance\CashAccountController;
|
use App\Http\Controllers\Admin\Finance\CashAccountController;
|
||||||
use App\Http\Controllers\Admin\Finance\EmployeeAdvanceController;
|
use App\Http\Controllers\Admin\Finance\EmployeeAdvanceController;
|
||||||
use App\Http\Controllers\Admin\Finance\ExpenseController;
|
use App\Http\Controllers\Admin\Finance\ExpenseController;
|
||||||
use App\Http\Controllers\Admin\Finance\PayrollAdjustmentController;
|
use App\Http\Controllers\Admin\Finance\Payroll\PayrollAdjustmentController;
|
||||||
use App\Http\Controllers\Admin\Finance\PayrollController;
|
use App\Http\Controllers\Admin\Finance\Payroll\PayrollController;
|
||||||
use App\Http\Controllers\Admin\Finance\PayrollPeriodController;
|
use App\Http\Controllers\Admin\Finance\Payroll\PayrollPeriodController;
|
||||||
use App\Http\Controllers\Admin\HR\AttendanceController;
|
use App\Http\Controllers\Admin\HR\AttendanceController;
|
||||||
use App\Http\Controllers\Admin\HR\EmployeeController;
|
use App\Http\Controllers\Admin\HR\EmployeeController;
|
||||||
use App\Http\Controllers\Admin\HR\LeaveRequestController;
|
use App\Http\Controllers\Admin\HR\LeaveRequestController;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user