change permissions
This commit is contained in:
@@ -7,7 +7,14 @@ export const metadata = {
|
|||||||
const Page = () => {
|
const Page = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<WithPermission permission_name={["manage-control-unit"]}>
|
<WithPermission
|
||||||
|
permission_name={[
|
||||||
|
"manage-control-unit",
|
||||||
|
"manage-control-unit-city",
|
||||||
|
"manage-control-unit-country",
|
||||||
|
"manage-control-unit-station",
|
||||||
|
]}
|
||||||
|
>
|
||||||
<ControlPage />
|
<ControlPage />
|
||||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||||
</WithPermission>
|
</WithPermission>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ const Page = () => {
|
|||||||
"manage-request-portal-country",
|
"manage-request-portal-country",
|
||||||
"manage-request-portal-province",
|
"manage-request-portal-province",
|
||||||
"manage-request-portal-city",
|
"manage-request-portal-city",
|
||||||
|
"manage-request-portal-station",
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
<OperatorPage />
|
<OperatorPage />
|
||||||
|
|||||||
@@ -7,7 +7,14 @@ export const metadata = {
|
|||||||
const Page = () => {
|
const Page = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<WithPermission permission_name={["manage-transportation-unit"]}>
|
<WithPermission
|
||||||
|
permission_name={[
|
||||||
|
"manage-transportation-unit-country",
|
||||||
|
"manage-transportation-unit-city",
|
||||||
|
"manage-transportation-unit-country",
|
||||||
|
"manage-transportation-unit-station",
|
||||||
|
]}
|
||||||
|
>
|
||||||
<TransportationPage />
|
<TransportationPage />
|
||||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||||
</WithPermission>
|
</WithPermission>
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ import ShowBound from "../../../Actions/showBound";
|
|||||||
import DriversDialog from "./DriversDialog";
|
import DriversDialog from "./DriversDialog";
|
||||||
import MachinesDialog from "./MachinesDialog";
|
import MachinesDialog from "./MachinesDialog";
|
||||||
import Reject from "./Reject";
|
import Reject from "./Reject";
|
||||||
|
import SelectBox from "@/core/components/SelectBox";
|
||||||
|
import { Controller, useForm } from "react-hook-form";
|
||||||
|
|
||||||
const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
||||||
const latLngs = useMemo(() => {
|
const latLngs = useMemo(() => {
|
||||||
return row.area.coordinates.map(([lng, lat]) => [lat, lng]);
|
return row.area.coordinates.map(([lng, lat]) => [lat, lng]);
|
||||||
@@ -25,6 +28,12 @@ const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
|||||||
const [machine, setMachine] = useState();
|
const [machine, setMachine] = useState();
|
||||||
const [driver, setDriver] = useState();
|
const [driver, setDriver] = useState();
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false);
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
||||||
|
const { control, watch } = useForm({
|
||||||
|
defaultValues: {
|
||||||
|
machine_type: row.requested_machines?.[0] ? [row.requested_machines[0]] : [],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
const handleSubmit = async (_machine, _driver) => {
|
const handleSubmit = async (_machine, _driver) => {
|
||||||
setIsSubmitting(true);
|
setIsSubmitting(true);
|
||||||
@@ -45,6 +54,7 @@ const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const selectedMachineType = watch("machine_type")?.[0];
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DialogContent dividers>
|
<DialogContent dividers>
|
||||||
@@ -53,12 +63,22 @@ const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
|||||||
<Paper elevation={24}>
|
<Paper elevation={24}>
|
||||||
<Stack spacing={2} sx={{ p: 2 }}>
|
<Stack spacing={2} sx={{ p: 2 }}>
|
||||||
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
||||||
<Typography variant="body" fontWeight={"bold"} color={"primary"}>
|
<Controller
|
||||||
نوع خودرو درخواستی
|
name="machine_type"
|
||||||
</Typography>
|
control={control}
|
||||||
<Divider sx={{ flex: 1 }} />
|
render={({ field, fieldState: { error } }) => (
|
||||||
<Chip
|
<SelectBox
|
||||||
label={machineType.find((mt) => mt.id == row.requested_machines?.[0])?.name_fa}
|
value={field.value?.[0] || ""}
|
||||||
|
label="نوع خودرو درخواستی"
|
||||||
|
selectors={machineType}
|
||||||
|
schema={{ name: "name_fa", value: "id" }}
|
||||||
|
error={!!error}
|
||||||
|
helperText={error?.message}
|
||||||
|
onChange={(newValue) => {
|
||||||
|
field.onChange([newValue]);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
/>
|
/>
|
||||||
</Stack>
|
</Stack>
|
||||||
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
||||||
@@ -76,16 +96,13 @@ const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => {
|
|||||||
/>
|
/>
|
||||||
<Divider sx={{ flex: 1 }} />
|
<Divider sx={{ flex: 1 }} />
|
||||||
<MachinesDialog
|
<MachinesDialog
|
||||||
machineType={row.requested_machines[0]}
|
machineType={selectedMachineType}
|
||||||
setMachine={setMachine}
|
setMachine={setMachine}
|
||||||
mode={"edit"}
|
mode={"edit"}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<MachinesDialog
|
<MachinesDialog machineType={selectedMachineType} setMachine={setMachine} />
|
||||||
machineType={row.requested_machines[0]}
|
|
||||||
setMachine={setMachine}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</Stack>
|
</Stack>
|
||||||
{machine && (
|
{machine && (
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ export const pageMenu = [
|
|||||||
"manage-request-portal-country",
|
"manage-request-portal-country",
|
||||||
"manage-request-portal-province",
|
"manage-request-portal-province",
|
||||||
"manage-request-portal-city",
|
"manage-request-portal-city",
|
||||||
|
"manage-request-portal-station",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -128,7 +129,12 @@ export const pageMenu = [
|
|||||||
icon: <DirectionsBusIcon sx={{ width: "inherit", height: "inherit" }} />,
|
icon: <DirectionsBusIcon sx={{ width: "inherit", height: "inherit" }} />,
|
||||||
route: "/dashboard/road-missions/transportation",
|
route: "/dashboard/road-missions/transportation",
|
||||||
badges: [{ key: "mission.transportation" }],
|
badges: [{ key: "mission.transportation" }],
|
||||||
permissions: ["manage-transportation-unit"],
|
permissions: [
|
||||||
|
"manage-transportation-unit-city",
|
||||||
|
"manage-transportation-unit-province",
|
||||||
|
"manage-transportation-unit-country",
|
||||||
|
"manage-transportation-unit-station",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "roadMissionsManagemnetControl",
|
id: "roadMissionsManagemnetControl",
|
||||||
@@ -137,7 +143,12 @@ export const pageMenu = [
|
|||||||
icon: <SupervisedUserCircleIcon sx={{ width: "inherit", height: "inherit" }} />,
|
icon: <SupervisedUserCircleIcon sx={{ width: "inherit", height: "inherit" }} />,
|
||||||
route: "/dashboard/road-missions/control",
|
route: "/dashboard/road-missions/control",
|
||||||
badges: [{ key: "mission.control" }],
|
badges: [{ key: "mission.control" }],
|
||||||
permissions: ["manage-control-unit"],
|
permissions: [
|
||||||
|
"manage-control-unit-province",
|
||||||
|
"manage-control-unit-city",
|
||||||
|
"manage-control-unit-country",
|
||||||
|
"manage-control-unit-station",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "roadMissionsViolations",
|
id: "roadMissionsViolations",
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ export const pageMenuDev = [
|
|||||||
"manage-request-portal-country",
|
"manage-request-portal-country",
|
||||||
"manage-request-portal-province",
|
"manage-request-portal-province",
|
||||||
"manage-request-portal-city",
|
"manage-request-portal-city",
|
||||||
|
"manage-request-portal-station",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -127,7 +128,12 @@ export const pageMenuDev = [
|
|||||||
icon: <DirectionsBusIcon sx={{ width: "inherit", height: "inherit" }} />,
|
icon: <DirectionsBusIcon sx={{ width: "inherit", height: "inherit" }} />,
|
||||||
route: "/dashboard/road-missions/transportation",
|
route: "/dashboard/road-missions/transportation",
|
||||||
badges: [{ key: "mission.transportation" }],
|
badges: [{ key: "mission.transportation" }],
|
||||||
permissions: ["manage-transportation-unit"],
|
permissions: [
|
||||||
|
"manage-transportation-unit-province",
|
||||||
|
"manage-transportation-unit-city",
|
||||||
|
"manage-transportation-unit-country",
|
||||||
|
"manage-transportation-unit-station",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "roadMissionsManagemnetControl",
|
id: "roadMissionsManagemnetControl",
|
||||||
@@ -136,7 +142,12 @@ export const pageMenuDev = [
|
|||||||
icon: <SupervisedUserCircleIcon sx={{ width: "inherit", height: "inherit" }} />,
|
icon: <SupervisedUserCircleIcon sx={{ width: "inherit", height: "inherit" }} />,
|
||||||
route: "/dashboard/road-missions/control",
|
route: "/dashboard/road-missions/control",
|
||||||
badges: [{ key: "mission.control" }],
|
badges: [{ key: "mission.control" }],
|
||||||
permissions: ["manage-control-unit"],
|
permissions: [
|
||||||
|
"manage-control-unit-province",
|
||||||
|
"manage-control-unit-city",
|
||||||
|
"manage-control-unit-country",
|
||||||
|
"manage-control-unit-station",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "roadMissionsViolations",
|
id: "roadMissionsViolations",
|
||||||
|
|||||||
Reference in New Issue
Block a user