Name: [ADD] viin_brain: v1.1 UX-completion batch - tag hierarchy+heatmap, db-view filter/sort, backlink Related, ShareDialog tour

State: Failed finished in 124m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #84

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: 9e6a2b6a0c9be882f4b6add35f97eafad8f5630f

Description:

                                            [FIX] viin_brain: locale-independent EmbedPicker + embed-recordset tour (model search by technical name, class-hook footer/tour triggers; was English-only 'Contact'/'Insert', red under vi_VN co-install)

The viin_brain_embed_recordset_tour drove the EmbedPicker by matching the
ENGLISH display name 'Contact', but res.partner's ir.model.name is
translatable ('Liên hệ' under vi_VN), so the picker's name-only search
surfaced nothing and Viindoo Runbot's vi_VN large co-install reddened the
tour. A second, previously-hidden break: the picker footer's OWL text
'Insert' is localized by Odoo's merged client-side translation dict
('Chèn' under vi_VN), so the tour's :contains('Insert') trigger also
missed - the run reached it only after the model fix.

Fix (locale-independent, also a real UX/testability improvement):
- embed_picker.js: onModelSearch now matches BOTH the translatable name
  AND the locale-stable technical 'model' field, so any user can find a
  model by typing 'res.partner' in any language.
- embed_picker.xml: expose each row's technical model via data-model; add
  stable o_brain_embed_next_btn / o_brain_embed_insert_btn classes to the
  footer action buttons.
- tour: select the res.partner row by [data-model='res.partner'] and drive
  Next/Insert by their stable classes instead of translated label text.
  The 'Captured by' assertion is kept (it is a plain JS string literal in
  slash_commands.js, never _t()-wrapped, so it is locale-safe).

Verified GREEN under BOTH en_US and vi_VN (admin lang vi_VN +
mass_mailing co-install, res.partner='Liên hệ'): 0 failed, 0 error of 2
tests each. Pre-existing tour/component bug, byte-identical on origin/17.0;
not introduced by this batch.
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: