diff --git a/app/Http/Controllers/Admin/Manage/OwnerVerificationController.php b/app/Http/Controllers/Admin/Manage/OwnerVerificationController.php index c740c22..98c43bf 100644 --- a/app/Http/Controllers/Admin/Manage/OwnerVerificationController.php +++ b/app/Http/Controllers/Admin/Manage/OwnerVerificationController.php @@ -63,7 +63,9 @@ public function approveCutting(ApproveVerificationRequest $request, Cutting $cut $this->flashSuccess('Verifikasi cutting berhasil disetujui. Stok produk telah ditambahkan ke toko.'); - return redirect()->route('admin.manage.owner_verifications.index'); + $fallback = route('admin.manage.owner_verifications.index'); + + return back(302, [], $fallback); } public function rejectCutting(RejectVerificationRequest $request, Cutting $cutting): RedirectResponse @@ -76,7 +78,9 @@ public function rejectCutting(RejectVerificationRequest $request, Cutting $cutti $this->flashSuccess('Verifikasi cutting berhasil ditolak.'); - return redirect()->route('admin.manage.owner_verifications.index'); + $fallback = route('admin.manage.owner_verifications.index'); + + return back(302, [], $fallback); } public function approveRequest( @@ -91,7 +95,9 @@ public function approveRequest( $this->flashSuccess('Verifikasi berhasil disetujui.'); - return redirect()->route('admin.manage.owner_verifications.index'); + $fallback = route('admin.manage.owner_verifications.index'); + + return back(302, [], $fallback); } public function rejectRequest( @@ -106,6 +112,8 @@ public function rejectRequest( $this->flashSuccess('Verifikasi berhasil ditolak.'); - return redirect()->route('admin.manage.owner_verifications.index'); + $fallback = route('admin.manage.owner_verifications.index'); + + return back(302, [], $fallback); } } diff --git a/app/Services/Manage/PurchaseService.php b/app/Services/Manage/PurchaseService.php index 7682cbf..fd7fd2d 100644 --- a/app/Services/Manage/PurchaseService.php +++ b/app/Services/Manage/PurchaseService.php @@ -70,6 +70,7 @@ public function paginateForIndex(array $tableQuery): LengthAwarePaginator $pendingRequest = $purchase->pendingOwnerVerificationRequest; $purchase->setAttribute('has_pending_request', $pendingRequest !== null); + $purchase->setAttribute('pending_request_id', $pendingRequest?->id); $purchase->setAttribute('pending_request_action', $pendingRequest?->action->value); $purchase->setAttribute('pending_request_action_label', $pendingRequest?->action->label()); diff --git a/app/Services/Master/ProductService.php b/app/Services/Master/ProductService.php index 21a5d0b..b81b3a1 100644 --- a/app/Services/Master/ProductService.php +++ b/app/Services/Master/ProductService.php @@ -77,6 +77,7 @@ public function paginateForIndex(array $tableQuery, string $isActive, string $ca $pendingRequest = $product->pendingOwnerVerificationRequest; $product->setAttribute('has_pending_request', $pendingRequest !== null); + $product->setAttribute('pending_request_id', $pendingRequest?->id); $product->setAttribute('pending_request_action', $pendingRequest?->action->value); $product->setAttribute('pending_request_action_label', $pendingRequest?->action->label()); $product->setAttribute( diff --git a/app/Services/Master/RawMaterialService.php b/app/Services/Master/RawMaterialService.php index bd5f1b5..f285116 100644 --- a/app/Services/Master/RawMaterialService.php +++ b/app/Services/Master/RawMaterialService.php @@ -85,6 +85,7 @@ public function paginateForIndex(array $tableQuery, string $isActive, string $st $pendingRequest = $rawMaterial->pendingOwnerVerificationRequest; $rawMaterial->setAttribute('has_pending_request', $pendingRequest !== null); + $rawMaterial->setAttribute('pending_request_id', $pendingRequest?->id); $rawMaterial->setAttribute('pending_request_action', $pendingRequest?->action->value); $rawMaterial->setAttribute('pending_request_action_label', $pendingRequest?->action->label()); $rawMaterial->setAttribute( diff --git a/resources/js/components/owner-verification/OwnerVerificationRowActions.vue b/resources/js/components/owner-verification/OwnerVerificationRowActions.vue new file mode 100644 index 0000000..21dff06 --- /dev/null +++ b/resources/js/components/owner-verification/OwnerVerificationRowActions.vue @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + Tolak Verifikasi + + + + + + Modul: + {{ subjectLabel }} + + + Item: + {{ title }} + + + Aksi: + {{ actionLabel }} + + + + + Alasan Penolakan + + + + + + + + Batal + + + + Tolak + + + + + diff --git a/resources/js/constants/cutting-status.ts b/resources/js/constants/cutting-status.ts index 741e4c0..94bd766 100644 --- a/resources/js/constants/cutting-status.ts +++ b/resources/js/constants/cutting-status.ts @@ -1,6 +1,7 @@ export const CuttingStatus = { IN_PROGRESS: 'in_progress', COMPLETED: 'completed', + PENDING_VERIFICATION: 'pending_verification', VERIFIED: 'verified', REJECTED: 'rejected', } as const; diff --git a/resources/js/pages/admin/manage/cuttings/table/data-table-actions.vue b/resources/js/pages/admin/manage/cuttings/table/data-table-actions.vue index 8aff637..5a65d19 100644 --- a/resources/js/pages/admin/manage/cuttings/table/data-table-actions.vue +++ b/resources/js/pages/admin/manage/cuttings/table/data-table-actions.vue @@ -6,6 +6,7 @@ import { toast } from 'vue-sonner'; import { RowDeleteAction, RowEditAction, RowStatusAction } from '@/components/button'; import ConfirmDialog from '@/components/ConfirmDialog.vue'; import { RupiahInput } from '@/components/form/rupiah-input'; +import OwnerVerificationRowActions from '@/components/owner-verification/OwnerVerificationRowActions.vue'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { @@ -286,6 +287,10 @@ function actionIcon(status: string) { + + diff --git a/resources/js/pages/admin/manage/owner-verifications/table/data-table-actions.vue b/resources/js/pages/admin/manage/owner-verifications/table/data-table-actions.vue index 366e3d2..288ad0e 100644 --- a/resources/js/pages/admin/manage/owner-verifications/table/data-table-actions.vue +++ b/resources/js/pages/admin/manage/owner-verifications/table/data-table-actions.vue @@ -1,25 +1,6 @@ - - - - + - - - - - Tolak Verifikasi - - - - - - Modul: - {{ item.subject_label }} - - - Item: - {{ item.title }} - - - Aksi: - {{ item.action_label }} - - - - - Alasan Penolakan - - - - - - - - Batal - - - - Tolak - - - - diff --git a/resources/js/pages/admin/manage/purchases/table/data-table-actions.vue b/resources/js/pages/admin/manage/purchases/table/data-table-actions.vue index 4331fb2..b7d71da 100644 --- a/resources/js/pages/admin/manage/purchases/table/data-table-actions.vue +++ b/resources/js/pages/admin/manage/purchases/table/data-table-actions.vue @@ -1,8 +1,9 @@