Refactor_Directory And Project Level Permsssion #404
@ -9,7 +9,7 @@ import ProjectRepository, {
|
|||||||
TasksRepository,
|
TasksRepository,
|
||||||
} from "../../repositories/ProjectRepository";
|
} from "../../repositories/ProjectRepository";
|
||||||
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
|
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
|
||||||
import { MANAGE_PROJECT_INFRA } from "../../utils/constants";
|
import { MANAGE_PROJECT_INFRA, MANAGE_TASK } from "../../utils/constants";
|
||||||
import InfraTable from "./Infrastructure/InfraTable";
|
import InfraTable from "./Infrastructure/InfraTable";
|
||||||
import {
|
import {
|
||||||
cacheData,
|
cacheData,
|
||||||
@ -34,6 +34,7 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
|
|||||||
const { projects_Details, refetch, loading } = useProjectDetails(data?.id);
|
const { projects_Details, refetch, loading } = useProjectDetails(data?.id);
|
||||||
const [ project, setProject ] = useState( projects_Details );
|
const [ project, setProject ] = useState( projects_Details );
|
||||||
const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA);
|
const ManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA);
|
||||||
|
const ManageTask = useHasUserPermission(MANAGE_TASK)
|
||||||
const [showModalFloor, setshowModalFloor] = useState(false);
|
const [showModalFloor, setshowModalFloor] = useState(false);
|
||||||
const [showModalWorkArea, setshowModalWorkArea] = useState(false);
|
const [showModalWorkArea, setshowModalWorkArea] = useState(false);
|
||||||
const [showModalTask, setshowModalTask] = useState(false);
|
const [showModalTask, setshowModalTask] = useState(false);
|
||||||
@ -87,13 +88,12 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
|
|||||||
<div className="align-items-center">
|
<div className="align-items-center">
|
||||||
<div className="row ">
|
<div className="row ">
|
||||||
<div
|
<div
|
||||||
className={`col-12 text-end mb-1 ${
|
className={`col-12 text-end mb-1 `}
|
||||||
!ManageInfra && "d-none"
|
|
||||||
} `}
|
|
||||||
>
|
>
|
||||||
<button
|
{ManageInfra && (<>
|
||||||
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="link-button link-button-sm m-1 btn-primary"
|
className="link-button btn btn-xs rounded-md link-button-sm m-1 btn-primary"
|
||||||
onClick={()=>setshowModalBuilding(true)}
|
onClick={()=>setshowModalBuilding(true)}
|
||||||
>
|
>
|
||||||
<i className="bx bx-plus-circle me-2"></i>
|
<i className="bx bx-plus-circle me-2"></i>
|
||||||
@ -101,7 +101,7 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
|
|||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="link-button m-1 btn-primary"
|
className="link-button btn btn-xs rounded-md m-1 btn-primary"
|
||||||
onClick={()=>setshowModalFloor(true)}
|
onClick={()=>setshowModalFloor(true)}
|
||||||
>
|
>
|
||||||
<i className="bx bx-plus-circle me-2"></i>
|
<i className="bx bx-plus-circle me-2"></i>
|
||||||
@ -109,20 +109,21 @@ const ProjectInfra = ( {data, onDataChange, eachSiteEngineer} ) =>
|
|||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="link-button m-1 btn-primary"
|
className="link-button btn btn-xs rounded-md m-1 btn-primary"
|
||||||
onClick={() => setshowModalWorkArea(true)}
|
onClick={() => setshowModalWorkArea(true)}
|
||||||
>
|
>
|
||||||
<i className="bx bx-plus-circle me-2"></i>
|
<i className="bx bx-plus-circle me-2"></i>
|
||||||
Manage Work Areas
|
Manage Work Areas
|
||||||
</button>
|
</button></>)}
|
||||||
<button
|
|
||||||
|
{(ManageTask || ManageInfra) && (<button
|
||||||
type="button"
|
type="button"
|
||||||
className="link-button m-1 btn-primary"
|
className="link-button btn btn-xs rounded-md m-1 btn-primary"
|
||||||
onClick={()=>setshowModalTask(true)}
|
onClick={()=>setshowModalTask(true)}
|
||||||
>
|
>
|
||||||
<i className="bx bx-plus-circle me-2"></i>
|
<i className="bx bx-plus-circle me-2"></i>
|
||||||
Create Tasks
|
Create Tasks
|
||||||
</button>
|
</button>)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="row ">
|
<div className="row ">
|
||||||
|
@ -5,11 +5,15 @@ import {
|
|||||||
DIRECTORY_ADMIN,
|
DIRECTORY_ADMIN,
|
||||||
DIRECTORY_MANAGER,
|
DIRECTORY_MANAGER,
|
||||||
DIRECTORY_USER,
|
DIRECTORY_USER,
|
||||||
|
MANAGE_PROJECT_INFRA,
|
||||||
|
MANAGE_TASK,
|
||||||
VIEW_PROJECT_INFRA,
|
VIEW_PROJECT_INFRA,
|
||||||
} from "../../utils/constants";
|
} from "../../utils/constants";
|
||||||
|
|
||||||
const ProjectNav = ({ onPillClick, activePill }) => {
|
const ProjectNav = ({ onPillClick, activePill }) => {
|
||||||
const HasViewInfraStructure = useHasUserPermission(VIEW_PROJECT_INFRA);
|
const HasViewInfraStructure = useHasUserPermission(VIEW_PROJECT_INFRA);
|
||||||
|
const HasManageInfra = useHasUserPermission(MANAGE_PROJECT_INFRA);
|
||||||
|
const HasManageTask = useHasUserPermission(MANAGE_TASK)
|
||||||
const DirAdmin = useHasUserPermission(DIRECTORY_ADMIN);
|
const DirAdmin = useHasUserPermission(DIRECTORY_ADMIN);
|
||||||
const DireManager = useHasUserPermission(DIRECTORY_MANAGER);
|
const DireManager = useHasUserPermission(DIRECTORY_MANAGER);
|
||||||
const DirUser = useHasUserPermission(DIRECTORY_USER);
|
const DirUser = useHasUserPermission(DIRECTORY_USER);
|
||||||
@ -21,7 +25,7 @@ const ProjectNav = ({ onPillClick, activePill }) => {
|
|||||||
key: "infra",
|
key: "infra",
|
||||||
icon: "bx bx-grid-alt",
|
icon: "bx bx-grid-alt",
|
||||||
label: "Infrastructure",
|
label: "Infrastructure",
|
||||||
hidden: !HasViewInfraStructure,
|
hidden: !(HasViewInfraStructure || HasManageInfra || HasManageTask),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "directory",
|
key: "directory",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user