diff --git a/src/Pages/Offer/Offer/OfferListNew.jsx b/src/Pages/Offer/Offer/OfferListNew.jsx index 13b2871..509c513 100644 --- a/src/Pages/Offer/Offer/OfferListNew.jsx +++ b/src/Pages/Offer/Offer/OfferListNew.jsx @@ -27,7 +27,8 @@ import { } from '../../../Features/Offer/Offernew/Offernew.js'; import { Messages } from '../../../Components/Notifications/Messages.jsx'; -import { changeBreadCrumb } from '../../../Features/AppPage/CenterPage.js'; +import { changeBreadCrumb, getEmpAccess } from '../../../Features/AppPage/CenterPage.js'; +import { useAuth } from '../../../AuthContext.jsx'; const subDirectory = import.meta.env.ENV_BASE_URL; const OfferListNew = () => { @@ -39,6 +40,8 @@ const OfferListNew = () => { const AppId = getSession('AppId'); const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); + const UserType = getSession('UserType'); + const UserId = getSession('UserId'); const [messageType, setMessageType] = useState(null); const [messageData, setMessageData] = useState(null); @@ -46,6 +49,10 @@ const OfferListNew = () => { const [page, setpage] = useState(1); const [sortedInfo, setSortedInfo] = useState({}); + const { SadminuserAccess } = useAuth(); + let SAAccessCommonMaster = SadminuserAccess?.find( + (e) => e?.MenuName === 'Product Based' + ); console.log(products, 'products'); const [allOffers, setAllOffers] = useState([]); @@ -54,6 +61,8 @@ const OfferListNew = () => { offer: null, newToDate: null, }); + const [empData, setEmpData] = useState(); + const [addnewAccess, setaddnewAccess] = useState(true); const items = [ { @@ -540,6 +549,37 @@ const OfferListNew = () => { // ]) }; + useEffect(() => { + let hasAccess = false; + if (UserType === 'Admin' || UserType === 'Super Admin') { + hasAccess = true; + } else if (UserType === 'Employee') { + hasAccess = empData?.AddAccess === 'Y'; + } else if (UserType === 'Super Admin User') { + hasAccess = SAAccessCommonMaster?.AddAccess === 'Y'; + } + + setaddnewAccess(!hasAccess); + }, [empData, SAAccessCommonMaster, UserType]); + + useEffect(() => { + if (UserType === "Employee") { + fetchApi() + } + }, [UserType]) + const fetchApi = async () => { + let data = { + CompId: CompId, + BranchId: BranchId, + AppId: AppId, + EmpId: UserId, + }; + let response = await dispatch(getEmpAccess(data)).unwrap(); + let datas = response?.data?.data?.[0]?.EmpAccessDetails?.filter( + (item) => item.ConfigName === 'Product Based' + ); + setEmpData(datas?.[0]); + }; function ExtractDateFormate(dateString) { if (!dateString) return ''; @@ -683,73 +723,131 @@ const OfferListNew = () => { dataIndex: 'extend', key: 'extend', align: 'center', - render: (_, record) => - record?.ActiveStatus === 'A' ? ( + render: (_, record) => { + + const canUpdate = + UserType === 'Super Admin' || + UserType === 'Admin' || + (UserType === 'Super Admin User' && + SAAccessCommonMaster?.UpdateAccess === 'Y') || + (UserType === 'Employee' && empData?.UpdateAccess === 'Y'); + + const canEdit = + record?.ActiveStatus === 'A' && canUpdate; + + return record?.ActiveStatus === 'A' ? (