diff --git a/resources/js/Pages/Inventory/Transfer/Index.tsx b/resources/js/Pages/Inventory/Transfer/Index.tsx
index 7a49110..27721b4 100644
--- a/resources/js/Pages/Inventory/Transfer/Index.tsx
+++ b/resources/js/Pages/Inventory/Transfer/Index.tsx
@@ -48,8 +48,10 @@ import {
import Pagination from "@/Components/shared/Pagination";
import { toast } from "sonner";
import { Can } from '@/Components/Permission/Can';
+import { usePermission } from '@/hooks/usePermission';
export default function Index({ warehouses, orders, filters }: any) {
+ const { can } = usePermission();
const [searchTerm, setSearchTerm] = useState(filters.search || "");
const [warehouseFilter, setWarehouseFilter] = useState(filters.warehouse_id || "all");
const [perPage, setPerPage] = useState(filters.per_page || "10");
@@ -320,35 +322,57 @@ export default function Index({ warehouses, orders, filters }: any) {
{order.created_by}
e.stopPropagation()}>
-
-
+ {(() => {
+ const isEditable = order.status === 'draft';
+ const canEdit = can('inventory_transfer.edit');
+ const canView = can('inventory_transfer.view');
+
+ if (isEditable && canEdit) {
+ return (
+
+
+
+ );
+ }
+
+ if (canView) {
+ return (
+
+
+
+ );
+ }
+
+ return null;
+ })()}
+
+ {order.status === 'draft' && (
+
-
- {order.status === 'draft' && (
-
-
-
- )}
-
+
+ )}
diff --git a/resources/js/Pages/Inventory/Transfer/Show.tsx b/resources/js/Pages/Inventory/Transfer/Show.tsx
index 4423655..9c66df2 100644
--- a/resources/js/Pages/Inventory/Transfer/Show.tsx
+++ b/resources/js/Pages/Inventory/Transfer/Show.tsx
@@ -1,4 +1,3 @@
-
import { useState, useEffect } from "react";
import AuthenticatedLayout from "@/Layouts/AuthenticatedLayout";
import { Head, router, Link } from "@inertiajs/react";
@@ -37,8 +36,10 @@ import { Plus, Save, Trash2, ArrowLeft, CheckCircle, Package, ArrowLeftRight, Pr
import { toast } from "sonner";
import axios from "axios";
import { Can } from '@/Components/Permission/Can';
+import { usePermission } from '@/hooks/usePermission';
export default function Show({ order }: any) {
+ const { can } = usePermission();
const [items, setItems] = useState(order.items || []);
const [remarks, setRemarks] = useState(order.remarks || "");
const [isSaving, setIsSaving] = useState(false);
@@ -181,7 +182,8 @@ export default function Show({ order }: any) {
});
};
- const isReadOnly = order.status !== 'draft';
+ const canEdit = can('inventory_transfer.edit');
+ const isReadOnly = order.status !== 'draft' || !canEdit;
return (
-
+
!open && setDeleteId(null)}>
+
+