fixed form for create guilds basiclly

This commit is contained in:
2026-01-26 15:22:33 +03:30
parent eed6904646
commit 66d71c9c25
12 changed files with 536 additions and 123 deletions

View File

@@ -43,6 +43,27 @@ export const getValidationSchema = (isEditMode) =>
return val === true;
})
.required("این فیلد اجباری است!"),
guilds: yup
.array()
.min(1, "حداقل یک واحد صنفی باید وجود داشته باشد")
.of(
yup.object({
steward: yup.boolean().default(false),
guild: yup.boolean().default(false),
})
)
.test(
"steward-guild-required",
"برای هر واحد صنفی، حداقل یکی از گزینه‌های مباشر یا صنف باید انتخاب شود",
function (guilds) {
if (!guilds || guilds.length === 0) {
return false;
}
return guilds.every(
(guild) => guild?.steward === true || guild?.guild === true
);
}
),
});
export const getInitialValues = (guild) => ({
@@ -56,10 +77,11 @@ export const getInitialValues = (guild) => ({
gender: guild?.user?.gender || "",
person_city: guild?.user?.city || "",
is_alive: guild?.user?.isAlive || "",
guild_name: guild?.guildsName || "",
guild_name: guild?.guildsName || guild?.name || "",
area_activity: guild?.areaActivity || "",
state: guild?.address?.province?.name || "",
city: guild?.address?.city?.name || "",
province: guild?.address?.province?.key || "",
city_name: guild?.address?.city?.name || "",
address: guild?.address?.address || "",
license_expire_date: normalizeDatabaseDate(guild?.licenseExpireDate || ""),
license_status: guild?.licenseStatus || "",
@@ -92,4 +114,22 @@ export const getInitialValues = (guild) => ({
company_identifier: guild?.companyIdentifier || "",
type_activity_name: guild?.typeActivityName || "",
active: guild?.active ?? null,
guilds: guild
? [
{
steward:
typeof guild?.steward === "boolean"
? guild.steward
: typeof guild?.isSteward === "boolean"
? guild.isSteward
: false,
guild:
typeof guild?.guild === "boolean"
? guild.guild
: typeof guild?.isGuild === "boolean"
? guild.isGuild
: false,
},
]
: [],
});