diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 03d9549..0a8a18b 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -2,5 +2,6 @@
+
\ No newline at end of file
diff --git a/src/app/(withAuth)/(dashboardLayout)/dashboard/roles/page.js b/src/app/(withAuth)/(dashboardLayout)/dashboard/roles/page.js
new file mode 100644
index 0000000..631cd14
--- /dev/null
+++ b/src/app/(withAuth)/(dashboardLayout)/dashboard/roles/page.js
@@ -0,0 +1,16 @@
+import RolesPage from "@/components/dashboard/Roles";
+import WithPermission from "@/core/middlewares/withPermission";
+
+export const metadata = {
+ title: "نقش ها",
+};
+
+const Page = () => {
+ return (
+
+
+
+ );
+};
+
+export default Page;
diff --git a/src/components/dashboard/Roles/index.jsx b/src/components/dashboard/Roles/index.jsx
new file mode 100644
index 0000000..dc33690
--- /dev/null
+++ b/src/components/dashboard/Roles/index.jsx
@@ -0,0 +1,14 @@
+import PageTitle from "@/core/components/PageTitle";
+import { Stack } from "@mui/material";
+import DataTable from "./DataTable";
+
+const RolesPage = () => {
+ return (
+
+
+
+
+ );
+};
+
+export default RolesPage;
diff --git a/src/components/dashboard/Users/RowActions/Edit/Form/index.jsx b/src/components/dashboard/Users/RowActions/Edit/Form/index.jsx
index 2686f27..cd61490 100644
--- a/src/components/dashboard/Users/RowActions/Edit/Form/index.jsx
+++ b/src/components/dashboard/Users/RowActions/Edit/Form/index.jsx
@@ -27,19 +27,20 @@ import { Controller, useForm } from "react-hook-form";
import { object, string } from "yup";
const validationSchema = object().shape({
- full_name: string().required("نام و نام خانوادگی خود را وارد کنید"),
- username: string().required("نام کاربری خود را وارد کنید"),
+ full_name: string().required("نام و نام خانوادگی را وارد کنید"),
+ username: string().required("نام کاربری را وارد کنید"),
phone_number: string()
.matches(/^09\d{9}$/, "شماره همراه باید با 09 شروع شود و 11 رقم باشد.")
- .required("شماره همراه خود را وارد کنید"),
- gender: string().required("جنسیت خود را وارد کنید"),
+ .required("شماره همراه را وارد کنید"),
+ gender: string().required("جنسیت را وارد کنید"),
national_id: string()
.test("max", "کد ملی باید شامل 10 رقم باشد", (value) => value.toString().length === 10)
.test("validation", "کد ملی صحیح نمی باشد", (value) => validateNationalCode(value))
- .required("کد ملی خود را وارد کنید"),
- position: string().required("سمت خود را وارد کنید"),
- province_id: string().required("استان خود را وارد کنید"),
- role_id: string().required("نقش خود را وارد کنید"),
+ .required("کد ملی را وارد کنید"),
+ position: string().required("سمت را وارد کنید"),
+ province_id: string().required("استان را وارد کنید"),
+ role_id: string().required("نقش را وارد کنید"),
+ telephone_id: string().required("شماره تماس داخلی را وارد کنید")
});
const UpdateUserForm = ({ values, setOpen, mutate }) => {
@@ -56,6 +57,7 @@ const UpdateUserForm = ({ values, setOpen, mutate }) => {
phone_number: values.phone_number,
province_id: values.province_id,
role_id: values.roles[0].id,
+ telephone_id: values.telephone_id
};
const provinceSelectOptions = useMemo(() => {
@@ -212,12 +214,12 @@ const UpdateUserForm = ({ values, setOpen, mutate }) => {
render={({ field, fieldState: { error } }) => {
return (
-
+
جنسیت
}
@@ -331,6 +333,25 @@ const UpdateUserForm = ({ values, setOpen, mutate }) => {
name={"role_id"}
/>
+
+ {
+ return (
+
+ );
+ }}
+ name={"telephone_id"}
+ />
+
diff --git a/src/components/dashboard/Users/Toolbar/Create/Form/index.jsx b/src/components/dashboard/Users/Toolbar/Create/Form/index.jsx
index 6c51e4c..5a4bd3a 100644
--- a/src/components/dashboard/Users/Toolbar/Create/Form/index.jsx
+++ b/src/components/dashboard/Users/Toolbar/Create/Form/index.jsx
@@ -43,22 +43,23 @@ const defaultValues = {
};
const validationSchema = object().shape({
- full_name: string().required("نام و نام خانوادگی خود را وارد کنید"),
- username: string().required("نام کاربری خود را وارد کنید"),
+ full_name: string().required("نام و نام خانوادگی را وارد کنید"),
+ username: string().required("نام کاربری را وارد کنید"),
phone_number: string()
.matches(/^09\d{9}$/, "شماره همراه باید با 09 شروع شود و 11 رقم باشد.")
- .required("شماره همراه خود را وارد کنید"),
- gender: string().required("جنسیت خود را وارد کنید"),
+ .required("شماره همراه را وارد کنید"),
+ gender: string().required("جنسیت را وارد کنید"),
national_id: string()
.test("max", "کد ملی باید شامل 10 رقم باشد", (value) => value.toString().length === 10)
.test("validation", "کد ملی صحیح نمی باشد", (value) => validateNationalCode(value))
- .required("کد ملی خود را وارد کنید"),
+ .required("کد ملی را وارد کنید"),
password: string()
- .required("رمز عبور خود را وارد کنید")
+ .required("رمز عبور را وارد کنید")
.matches(/^(?=.*[a-zA-Z])(?=.*\d).{8,}$/, "رمز عبور باید حداقل 8 کاراکتر و متشکل از عدد، حرف یا سمبل باشد"),
- position: string().required("سمت خود را وارد کنید"),
- province_id: string().required("استان خود را وارد کنید"),
- role_id: string().required("نقش خود را وارد کنید"),
+ position: string().required("سمت را وارد کنید"),
+ province_id: string().required("استان را وارد کنید"),
+ role_id: string().required("نقش را وارد کنید"),
+ telephone_id: string().required("شماره تماس داخلی را وارد کنید"),
});
const CreateUserForm = ({ setOpen, mutate }) => {
@@ -253,12 +254,12 @@ const CreateUserForm = ({ setOpen, mutate }) => {
render={({ field, fieldState: { error } }) => {
return (
-
+
جنسیت
}
@@ -372,6 +373,25 @@ const CreateUserForm = ({ setOpen, mutate }) => {
name={"role_id"}
/>
+
+ {
+ return (
+
+ );
+ }}
+ name={"telephone_id"}
+ />
+
diff --git a/src/core/utils/pageMenu.js b/src/core/utils/pageMenu.js
index 8aa30ff..24d22de 100644
--- a/src/core/utils/pageMenu.js
+++ b/src/core/utils/pageMenu.js
@@ -24,6 +24,13 @@ export const pageMenu = [
route: "/dashboard/users",
permissions: ["manage_users"],
},
+ {
+ id: "systemManagment-roles",
+ label: "نقش ها",
+ type: "page",
+ route: "/dashboard/roles",
+ permissions: ["manage_roles"],
+ }
],
},
];