migrate-survey_extra_fields-to-18 #21

Merged
mondot merged 3 commits from migrate-survey_extra_fields-to-18 into 18.0 2026-06-11 09:56:58 +00:00
Owner

Migration de survey_base et survey_extra_fields vers Odoo 18

Commit 8a2075a3db "[MIG] survey_extra_fields, survey_base : modifications to make them work in v18"

Migration des deux modules depuis la 16.0 (branche partant de 18.0).

survey_base — bump version manifest. Aucun changement de code (champs et surcharges create/write compatibles v18).

survey_extra_fields

  • Modèles : save_lines → _save_lines (méthode renommée en v18, nouvelle signature overwrite_existing).
  • Vues : suppression de attrs → invisible="..." ; correction de l'ancrage xpath du template live (survey.question_matrix, le /.. plaçait le bloc hors de la
    question en v18).
  • JS (survey_form.js) : réécriture en module ES6 (@odoo-module, publicWidget...include, rpc, _t) ; _submitForm adapté à la version async du cœur.
  • Contrôleur : raise request.not_found() au lieu de return (warning v18).
  • Tests : appels save_lines → _save_lines.

Ancrages de vues/templates validés contre la source Odoo 18. Tests OK.

Gestion du champ « Fichier » lors de la navigation entre pages

Commit c940289d40 "[IMP] survey_extra_fields : handle file question on page navigation"

Sur un sondage multi-pages, un ne peut pas être pré-rempli par le navigateur. Au retour sur une page avec une question Fichier déjà
renseignée, l'input réapparaissait vide → affichage confus, faux « réponse obligatoire » et perte du fichier.

  • Affichage unifié : un fichier déjà enregistré s'affiche comme un upload frais — pastille 📎 nom_du_fichier ✕ Remove file, input masqué tant qu'on ne
    clique pas sur Remove.
  • Pas de perte involontaire : une page re-soumise sans nouvelle sélection conserve le fichier (au lieu de l'écraser en « skipped »).
  • Suppression explicite : « Remove file » envoie un sentinel {"cleared": true} qui supprime réellement le fichier stocké → la suppression persiste après un
    aller-retour.
  • Validation : une question Fichier obligatoire déjà renseignée n'est plus signalée comme sans réponse.

Tests : test_save_file_then_empty_keeps_file (préservation) et test_save_file_explicitly_cleared (suppression).

## Migration de survey_base et survey_extra_fields vers Odoo 18 Commit 8a2075a3db12cb43533af7deb376fa4b4445236b "[MIG] survey_extra_fields, survey_base : modifications to make them work in v18" Migration des deux modules depuis la 16.0 (branche partant de 18.0). survey_base — bump version manifest. Aucun changement de code (champs et surcharges create/write compatibles v18). survey_extra_fields - Modèles : save_lines → _save_lines (méthode renommée en v18, nouvelle signature overwrite_existing). - Vues : suppression de attrs → invisible="..." ; correction de l'ancrage xpath du template live (survey.question_matrix, le /.. plaçait le bloc hors de la question en v18). - JS (survey_form.js) : réécriture en module ES6 (@odoo-module, publicWidget...include, rpc, _t) ; _submitForm adapté à la version async du cœur. - Contrôleur : raise request.not_found() au lieu de return (warning v18). - Tests : appels save_lines → _save_lines. Ancrages de vues/templates validés contre la source Odoo 18. Tests OK. ## Gestion du champ « Fichier » lors de la navigation entre pages Commit c940289d407ba065dbb91fc1a37a65804345a4b4 "[IMP] survey_extra_fields : handle file question on page navigation" Sur un sondage multi-pages, un <input type="file"> ne peut pas être pré-rempli par le navigateur. Au retour sur une page avec une question Fichier déjà renseignée, l'input réapparaissait vide → affichage confus, faux « réponse obligatoire » et perte du fichier. - Affichage unifié : un fichier déjà enregistré s'affiche comme un upload frais — pastille 📎 nom_du_fichier ✕ Remove file, input masqué tant qu'on ne clique pas sur Remove. - Pas de perte involontaire : une page re-soumise sans nouvelle sélection conserve le fichier (au lieu de l'écraser en « skipped »). - Suppression explicite : « Remove file » envoie un sentinel {"cleared": true} qui supprime réellement le fichier stocké → la suppression persiste après un aller-retour. - Validation : une question Fichier obligatoire déjà renseignée n'est plus signalée comme sans réponse. Tests : test_save_file_then_empty_keeps_file (préservation) et test_save_file_explicitly_cleared (suppression).
mondot changed target branch from 16.0 to 18.0 2026-06-10 15:29:58 +00:00
mondot added 3 commits 2026-06-10 15:29:58 +00:00
* Show a stored file (after navigating back) the same way as a freshly
  selected one: a "filename + Remove file" chip, input hidden until removal.
* Keep the stored file when a page is re-submitted without a new selection
  (instead of overwriting it with a skipped answer).
* "Remove file" now sends a sentinel to actually delete the stored file,
  so the removal persists across navigation.
mondot added 2 commits 2026-06-11 08:53:58 +00:00
* Show a stored file (after navigating back) the same way as a freshly
  selected one: a "filename + Remove file" chip, input hidden until removal.
* Keep the stored file when a page is re-submitted without a new selection
  (instead of overwriting it with a skipped answer).
* "Remove file" now sends a sentinel to actually delete the stored file,
  so the removal persists across navigation.
[IMP] survey_extra_fields : handle file question on page navigation
Some checks failed
pre-commit / pre-commit (pull_request) Failing after 1m40s
d0afa2310d
* Show a stored file (after navigating back) the same way as a freshly
  selected one: a "filename + Remove file" chip, input hidden until removal.
* Keep the stored file when a page is re-submitted without a new selection
  (instead of overwriting it with a skipped answer).
* "Remove file" now sends a sentinel to actually delete the stored file,
  so the removal persists across navigation.
mondot merged commit d0afa2310d into 18.0 2026-06-11 09:56:58 +00:00
mondot deleted branch migrate-survey_extra_fields-to-18 2026-06-11 09:56:59 +00:00
Sign in to join this conversation.
No description provided.