открыл заявки рекрутинга, сделал поле предполагаемый наставник необязательным
Tests / frontend-test (push) Successful in 1m15s

This commit is contained in:
Тимур Городецкий
2026-09-24 09:51:26 +05:00
parent 936205be09
commit c623d93b56
7 changed files with 18 additions and 6 deletions
@@ -452,6 +452,7 @@ const RecruitingHireForm: React.FC<IRequestFormProps> = ({
submit={submit} submit={submit}
isValid={isValid} isValid={isValid}
submitValid={isSubmitValid} submitValid={isSubmitValid}
formId={FORM_ID}
readOnly={readOnly} readOnly={readOnly}
onCancel={onCancel} onCancel={onCancel}
onSaveDraft={handleSaveDraft} onSaveDraft={handleSaveDraft}
@@ -449,6 +449,7 @@ const RecruitingSelectionForm: React.FC<IRequestFormProps> = ({
submit={submit} submit={submit}
isValid={isValid} isValid={isValid}
submitValid={isSubmitValid} submitValid={isSubmitValid}
formId={FORM_ID}
readOnly={readOnly} readOnly={readOnly}
onCancel={onCancel} onCancel={onCancel}
onSaveDraft={handleSaveDraft} onSaveDraft={handleSaveDraft}
@@ -111,7 +111,7 @@ export const ConditionsSection: React.FC<ISectionProps> = ({
onLabel="Да" onLabel="Да"
/> />
</FormField> </FormField>
<FormField label="5.9 Предполагаемый наставник" required> <FormField label="5.9 Предполагаемый наставник">
<PeopleField <PeopleField
context={context} context={context}
value={data.ProposedMentor} value={data.ProposedMentor}
@@ -9,6 +9,8 @@ import { IFormData } from './model';
* ReferralProgram) и условные «другое»-подполя в проверку не входят — у * ReferralProgram) и условные «другое»-подполя в проверку не входят — у
* булевых нет пустого состояния, а «другое» раскрывается только при выборе * булевых нет пустого состояния, а «другое» раскрывается только при выборе
* соответствующего варианта в уже обязательном родительском поле. * соответствующего варианта в уже обязательном родительском поле.
* 5.9 «Предполагаемый наставник» (ProposedMentor) сделан необязательным
* по просьбе Тимура (2026-09-24) — не всегда есть кого назначить заранее.
*/ */
const REQUIRED_FIELDS: ReadonlyArray<{ label: string; ok: (d: IFormData) => boolean }> = [ const REQUIRED_FIELDS: ReadonlyArray<{ label: string; ok: (d: IFormData) => boolean }> = [
{ label: '1.3 дата подачи заявки', ok: (d) => !!d.SubmitDate }, { label: '1.3 дата подачи заявки', ok: (d) => !!d.SubmitDate },
@@ -28,7 +30,6 @@ const REQUIRED_FIELDS: ReadonlyArray<{ label: string; ok: (d: IFormData) => bool
{ label: '5.4 график работы', ok: (d) => !!d.WorkSchedule }, { label: '5.4 график работы', ok: (d) => !!d.WorkSchedule },
{ label: '5.5 время работы', ok: (d) => !!d.WorkHours }, { label: '5.5 время работы', ok: (d) => !!d.WorkHours },
{ label: '5.7 обеспечение рабочего места', ok: (d) => d.WorkplaceProvision.length > 0 }, { label: '5.7 обеспечение рабочего места', ok: (d) => d.WorkplaceProvision.length > 0 },
{ label: '5.9 предполагаемый наставник', ok: (d) => !!d.ProposedMentor },
{ label: '5.10 непосредственный руководитель', ok: (d) => !!d.DirectManager }, { label: '5.10 непосредственный руководитель', ok: (d) => !!d.DirectManager },
{ label: '5.11 кто принимает решение о приёме', ok: (d) => d.HiringDecisionMaker.length > 0 } { label: '5.11 кто принимает решение о приёме', ok: (d) => d.HiringDecisionMaker.length > 0 }
]; ];
@@ -469,6 +469,7 @@ const ReferralForm: React.FC<IRequestFormProps> = ({
<SubmitActions <SubmitActions
submit={submit} submit={submit}
isValid={isValid} isValid={isValid}
formId={FORM_ID}
readOnly={readOnly} readOnly={readOnly}
onCancel={onCancel} onCancel={onCancel}
onSaveDraft={handleSaveDraft} onSaveDraft={handleSaveDraft}
@@ -389,6 +389,7 @@ const WorkplaceSetupForm: React.FC<IRequestFormProps> = ({
<SubmitActions <SubmitActions
submit={submit} submit={submit}
isValid={isValid} isValid={isValid}
formId={FORM_ID}
readOnly={readOnly} readOnly={readOnly}
onCancel={onCancel} onCancel={onCancel}
onSaveDraft={handleSaveDraft} onSaveDraft={handleSaveDraft}
@@ -21,11 +21,18 @@ const SUBMISSION_FROZEN = true;
/** /**
* Формы, для которых заморозка снята досрочно (для всех пользователей, не * Формы, для которых заморозка снята досрочно (для всех пользователей, не
* только тестировщиков) — id передаётся через проп formId. Пример: заявка 1С * только тестировщиков) — id передаётся через проп formId. Заявка 1С
* разморожена 2026-09-22 по просьбе Тимура Городецкого, остальные формы * разморожена 2026-09-22, формы рекрутинга (на подбор/на приём/реферал) и
* остаются замороженными. * «Организация рабочего места» — 2026-09-24, все по просьбе Тимура
* Городецкого; остальные формы остаются замороженными.
*/ */
const UNFROZEN_FORMS = new Set<string>(['ticket1c']); const UNFROZEN_FORMS = new Set<string>([
'ticket1c',
'recruiting-selection',
'recruiting-hire',
'recruiting-referral',
'it-workplace-setup'
]);
export interface ISubmitActionsProps { export interface ISubmitActionsProps {
submit: IRequestSubmit; submit: IRequestSubmit;