Aller au contenu principal

Formulaires — legacy technical guide

Legacy responsibilities and model​

In smartmobility-legacy:

  • src/Company/AssessmentBundle/Controller/DefaultController.php: newAction, indexAction, listAction, getQuestionTypeAction, updateAction, findAllFilteredAction, question retrieval and access updates.
  • src/Company/AssessmentBundle/Controller/AssessmentQuestionController.php: question authoring operations.
  • src/Company/AssessmentBundle/Resources/views/Default/{list,assessmentForm,assessmentQuestions,question_type}.html.twig: library, form and question screens.
  • src/Company/InterviewBundle/Controller/DefaultController.php: selecting and consuming a questionnaire in an interview campaign, saving responses and lifecycle operations.

Legacy Assessment represents a reusable questionnaire; AssessmentQuestion defines a type, order and content, and AssessmentQuestionItem stores options. AssessmentAnswer and item-answer structures represent contributions. InterviewUser and AssessmentUser supply participant contexts. Specialist goals, skills and training content should not be flattened as if every question stored one text value.

The legacy type picker includes 1to1, interview, peopleReview, 360, mobility and test/questionnaire types. 1to1 and interview are distinct codes. Do not route a campaign by translating the label “review” without checking its module/type.

Nextgen components and typed model​

Component / sourceResponsibility
Front src/modules/CompanySettings/Forms/Library store, filters, pagination and form actions.
Front src/modules/ModuleConfig/Campaigns/modules/FormBuilder/Typed form schemas, multilingual mapping, section/question authoring and AI proposals.
Front .../Reviews/modules/FormRender/Question rendering, answer API/store and participant validation UI.
Back src/Http/Api/Routing/V2/review_form.yamlHTTP contracts, permission configuration and list filters.
Back src/Http/Api/Controller/V2/{ReviewFormController,ReviewFormQuestionController}.phpGeneration, publication, duplication, locale management and typed question operations.
Back src/Infrastructure/Persistence/Entity/ReviewForm/Form, Section, typed Question entities and localized content.
Back src/Infrastructure/Persistence/Repository/ReviewForm/FormRepository.phpForm retrieval, campaign-use/read-only queries, section refresh and counts.

The checked frontend families are text, numeric, single answer, multiple answers, scale, list, skills, past/future objectives, development and date. formBuilder.mapper.ts maps UI types to backend types; frontend labels are not API discriminators. Specialized backend families can exist beyond what this checked frontend exposes.

TitleDescriptionTranslationTrait.php and question/section translation entities carry localized content. VisibilityType defines employee = 1, evaluators = 2, all = 3. FormStatus defines draft = 0 and published = 1. Neither visibility nor publication is a substitute for answer-read authorization or campaign assignment.

Dernière mise à jour : 3 novembre 2026