|
|
|
open
[FIX] viin_brand_mail: restore the test bot identity on update, not only on install
|
[FIX] viin_brand_mail: restore the test bot identity on update, not only on install
data/res_partner_data.xml renames base.partner_root to ViindooBot and is not
noupdate, so the rebranding is re-applied on EVERY module update. The guard that
puts core's OdooBot identity back for test runs lived in post_init_hook, which
odoo/modules/loading.py:244 calls only when the module's state is 'to install'
(:178). The two were asymmetric - branding on every load, restore on the first one
only - so any -u left the partner branded and every core test hardcoding
odoobot@example.com failed. google_calendar alone contributed 12 of them, since the
superuser is the implicit event organiser in its Odoo-to-Google payload comparisons.
The restore now lives on res.partner and is driven from the same data file that
applies the branding, so both are on one trigger; a function tag runs on update as
well as install (odoo/tools/convert.py:279-281 skips it only under noupdate).
post_init_hook is kept as a one-line delegation so the logic has a single home.
|
Failed
|
|
|
|
|
|
|
|
merged
[FIX] viin_brand_common: anchor web.layout xpaths on //head so core's QUnit guard can run again
|
[FIX] viin_brand_common: restore core's QUnit leak-guard on web.layout
viin_brand_common anchored its web.layout brand title/favicon defaults on
//title and //link[@type='image/x-icon']. Core's WebSuite._check_only_call
(web/tests/test_js.py:104) rewrites web.layout's whole arch_db to a stub
containing neither node, and that write revalidates every extension of
web.layout. The recombination raised a ValidationError, leaving core's
QUnit leak-guard - the guard that stops a stray QUnit.only() from silently
disabling the whole JS suite - dead on every Viindoo 17 database.
Replace the two position="attributes" xpaths with a single
<xpath expr="//head/meta[last()]" position="after"> that sets both values
as `or` fallbacks. {head, meta[@charset]} is exactly the node set present
in both the real arch and core's stub, and meta[last()] is the latest
reachable point in it, so the defaults bind after every upstream producer -
notably website.layout's per-page title, its seo_object assignment and the
OpenGraph block - and before <title>. An anchor placed before <head>
instead lands outside it and pre-empts those producers.
Bump the manifest version 0.3.1 -> 0.3.2: Viindoo SaaS auto-upgrade selects
modules to -u by diffing the on-disk manifest version against the customer
database's ir_module_module.latest_version, and a view change only reaches
an existing database through -u. Without the bump the fix would reach fresh
installs only.
Add regression coverage: viin_brand_common/tests/test_web_layout.py (4
methods) locks the stub survival and the brand defaults; viin_brand_website
gains tests/test_website_title_not_preempted.py (3 methods) owning the
cross-module contract that the brand default never pre-empts a website
title or its OpenGraph meta. Both suites were proven RED - the first
against 33a11ec, the second against acc5474.
Close https://github.com/Viindoo/branding/issues/654
Signed-off-by: David Tran <davidtran.hp@gmail.com>
|
Killed
|
|
|
|
|
|
|
|
merged
[FIX] viin_brand_common: anchor web.layout xpaths on //head so core's QUnit guard can run again
|
[FIX] viin_brand_common: anchor web.layout xpaths on //head, not //title/link
Core's WebSuite.test_check_suite (web/tests/test_js.py::_check_only_call)
replaces web.layout's entire arch_db with a minimal stand-in arch that has
a <head> but no <title>/<link>, to validate no stray QUnit.only()/
QUnit.debug() was left in the JS test suite. Writing that stand-in fires
ir.ui.view's arch_db constraint, which recombines every view inheriting
web.layout - viin_brand_common's two xpaths (anchored on //title and
//link[@type='image/x-icon']) cannot locate their anchor against the
stand-in, raising ValidationError and leaving core's QUnit-guard dead on
every Viindoo 17 database.
Replace both element-anchored xpaths with a single xpath anchored on
//head (which the stand-in does provide), inserting two <t t-set> nodes
as previous siblings of <head> that set the `title`/`x_icon` QWeb
variables to their Viindoo defaults via an `or` fallback chain
(`title or 'Viindoo'`, `x_icon or '/viin_brand/static/img/favicon.ico'`).
Core's own <title t-esc="title or 'Odoo'"/> and favicon
<link t-att-href="x_icon or '/web/static/img/favicon.ico'"/> then pick up
those pre-set values unchanged, so exactly one <title> renders and an
explicit caller-supplied title/x_icon still wins.
Bump version 0.3.1 -> 0.3.2 so existing databases reload arch_db on
upgrade.
Add tests/test_web_layout.py (wired into tests/__init__.py) with 4
HttpCase regression tests covering: survival of core's exact stub write
(RED before this fix), default title/favicon still brand correctly with
exactly one <title>, an explicit title still wins, and an explicit
x_icon still wins. All 4 assert on rendered HTTP output, never the arch
string.
Close https://github.com/Viindoo/branding/issues/654
|
Failed
|
|
|
|
|
|
|
|
merged
[IMP][17.0] viin_brand_website_sale: drop unverifiable "#1" claim from promo
|
[IMP] viin_brand_website_sale: drop unverifiable "#1" claim from promo
The eCommerce "Powered by" footer stated "The #1 Open Source eCommerce Software" (vi_VN: "... mã nguồn mở số 1"), an unverifiable superiority ranking. Vietnam's advertising law forbids "#1"/"best" style claims without supporting evidence and penalises them heavily, so remove the ranking wording from both the template source and the Vietnamese translation.
- views/templates.xml: promo label "The #1 Open Source eCommerce Software" -> "Open Source eCommerce Software"; add a comment at the label noting the VN advertising-law constraint.
- i18n/vi_VN.po and .pot: realign msgid to the new source string; msgstr "... mã nguồn mở số 1" -> "... mã nguồn mở".
- bump module version 0.1 -> 0.2 so existing databases pick up the updated view and translation on upgrade.
|
Killed
|
|
|
|
|
|
|
|
merged
[IMP][17.0] viin_brand_website_sale: drop unverifiable "#1" claim from promo
|
[IMP] viin_brand_website_sale: drop unverifiable "#1" claim from promo
The eCommerce "Powered by" footer stated "The #1 Open Source eCommerce Software" (vi_VN: "... mã nguồn mở số 1"), an unverifiable superiority ranking. Vietnam's advertising law forbids "#1"/"best" style claims without supporting evidence and penalises them heavily, so remove the ranking wording from both the template source and the Vietnamese translation.
- views/templates.xml: promo label "The #1 Open Source eCommerce Software" -> "Open Source eCommerce Software"; document the inherited replace with a comment.
- i18n/vi_VN.po and .pot: realign msgid to the new source string; msgstr "... mã nguồn mở số 1" -> "... mã nguồn mở".
- bump module version 0.1 -> 0.2 so existing databases pick up the updated view and translation on upgrade.
|
Killed
|
Not started
|
Not finished
|
|
|
|
|
|
merged
[FIX] viin_brand_common: apply brand palette/title only in genuine sessions; core metrics in QUnit
|
[FIX] web_responsive: core checkbox metrics inside QUnit pages
The 'big checkboxes' restyle (+10px margin-right, 1.5em box) widens the list
record-selector column, shifting core pixel-width assertions by exactly those
pixels (runbot 223235/396399: ListView 'column widths should depend on the
content when there is data' 41->51 and 'editable list: resize column headers'
52->51). Load a web.tests_assets-only reset that pins the test page back to
core metrics; the real webclient keeps big checkboxes.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] viin_brand_common: apply brand palette/title only in genuine sessions; core metrics in QUnit
|
[FIX] viin_brand_common: apply brand palette/title only in genuine sessions; core metrics in QUnit
Three brand client tweaks broke core QUnit suites: the unconditional
colors.getColor override failed 30 GraphView tests asserting the default
palette; the 'Viindoo' window-title part failed 3 ActionManager title tests;
and the 15px base font shifted pixel-geometry assertions (Draggable
confinement, Scroller offsets, tour anchors) by fractions of a pixel (runbot
223219/396221 & 223235/396399).
session_info now stamps a viin_brand marker: real sessions keep the brand
palette and title, mock test sessions (marker absent) fall through to core
behavior. A web.tests_assets-only CSS reset pins the test page back to the
14px core base font - the real webclient is untouched. Also fix the missing
'#' on the last palette color (was an invalid CSS color).
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
V17 fix test tour
|
[FIX] viin_brand_website: end the colorpicker tour override with a pure
check step
The override dropped the final RGBA assertion entirely, leaving the last
step action-less -- web_tour warns "ignoring action (auto) of last step"
on every run. Relax the step to a pure check (isCheck on .o_rgba_div)
instead of dropping it: the tour still ends on a verification, only the
hard-coded rgb assertion the brand palette invalidates is gone.
Verify: /website:TestUi.test_32_website_background_colorpicker 0 failed, 0 "ignoring action" warnings (clean CE and v17_full).
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] viin_brand_common: keep statusbar arrows compact so 4 stages fit on mobile
|
[FIX] viin_brand_common: keep statusbar arrows compact so 4 stages fit
on mobile
The brand raises $o-font-size-base to 15px (core default is 14px). That
extra width on the status-flow arrows is enough that a 4-stage statusbar
no longer fits one row on small screens: adjustVisibleItems detects the
wrap and folds one arrow into the overflow dropdown. Core's mobile web
StatusBarField QUnit tests assert every stage renders as an inline arrow
(4 visible, a single "..." toggle, one disabled dropdown item), so they
failed 3/... under the branded assets while passing on clean CE.
Root-caused on v17_full by instrumenting core areItemsWrapping():
branded arrows measured 65px wide / 34.5px tall vs clean CE's 50-61px /
33px, tipping 4 arrows over the container width.
Scope the arrows to $o-font-size-base-small (13px) - the framework's
compact control size - so they match core's geometry and all four stages
stay inline.
Only the arrow chrome shrinks; stage labels remain legible.
Verified on v17_full: web MobileWebSuite.test_mobile_js 0 failed (the
three StatusBarField "small devices" / "extra small screens" /
"clickable ... on mobile" cases now pass).
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] web_responsive: keep upstream "Action" statusbar toggler on mobile
|
[FIX] web_responsive: restore disabled binding on chatter Log Note
button
The web_responsive.Chatter template replaces the Log Note button but
dropped its t-att-disabled binding (the sibling Send message button kept
it). This left Log Note always enabled regardless of posting permission,
breaking Odoo core's project_chatter_log_disabled tour
(project/tests/test_project_ui.py), which logs in as a limited Project
User and asserts the button is disabled.
Restore the same disabled expression used by the Send message button.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] viin_brand_pos: guard company service in POS Navbar favicon patch
|
[FIX] viin_brand_pos: guard company service in POS Navbar favicon patch
The POS Navbar patch read this.env.services.company.currentCompany.id
unconditionally in setup() to set the branded favicon. The company
service is not registered in the bare point_of_sale QUnit test env, so
this.env.services.company was undefined and .currentCompany threw
"Cannot read properties of undefined (reading 'currentCompany')" in
Navbar.setup -> the whole POS Chrome mount failed, failing
point_of_sale:WebSuite.test_pos_js ("mount the Chrome").
Optional-chain the service and bail out when there is no current company
(no branded favicon to set). Real POS is unaffected.
Verified: point_of_sale:WebSuite.test_pos_js passes (0 failed) on a focused point_of_sale+viin_brand_pos install with the guard.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] viin_brand_website: adapt website_background_colorpicker tour to branded palette
|
[FIX] viin_brand_website: adapt website_background_colorpicker tour to
branded palette
viin_brand_common recolours the frontend theme palette
(primary #7f4282), so the core website_background_colorpicker tour no
longer holds: its custom-colour step targets a hard-coded swatch
background-color:#65435C (= rgb(101,67,92)) that the recoloured palette
never produces, and the following RGBA check asserts that exact rgb.
That breaks website: TestUi.test_32_website_background_colorpicker.
Re-register the tour (force) in web.assets_tests with the custom-colour
step adapted to pick whatever the first custom swatch is, and drop only
the hard-coded custom-colour rgb assertion. The gradient steps (a fixed
preset) and their RGBA check are kept, so the tour still exercises the
colorpicker.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[IMP] *: point module manifests at their canonical App Store page
|
[FIX] viin_brand: repoint hr_contract link to the canonical 17.0 store URL
to_base overrides a core module's manifest 'website' from this branding
dict at load time (_get_brand_module_website -> _load_manifest_plus), so
this value is what a Viindoo deployment actually displays for the core
hr_contract module - it is shipped, not inert.
The hr_contract entry was wrong twice over: it used the legacy
/apps/app/ prefix (now only a permanent 301 shim), and it pinned version
15.0 inside the 17.0 branch, so 17.0 users were sent to a four-series-old
store page. viin_hr_contract is published on the store at 17.0, so the
canonical target resolves directly.
The remaining entries are deliberately left alone: they map core Odoo
modules to Viindoo marketing intro pages, which is the correct
destination - a core Odoo module has no Viindoo store page under its own
name. hr_contract is the only store link in this dict, and the only one
that was stale.
|
Killed
|
|
|
|
|
|
|
|
merged
[FIX] web_responsive: don't break core component tests when apps_menu is
|
[FIX] web_responsive: don't break core component tests when apps_menu is
absent
The NavBar and WebClient patches called useService("apps_menu") and the
menu searchbar read session.apps_menu.search_type. Isolated core
component tests (NavBar, BurgerMenu, mail mobile) do not start apps_menu
nor set session.apps_menu, so these threw as soon as web_responsive is
installed ("Service apps_menu is not available", "Cannot read properties
of undefined (reading 'search_type')"). Read apps_menu from env.services
(optional), fall back to super._loadDefaultApp(), and use
session.apps_menu?.search_type.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] web_responsive: semantic SCSS tokens + guard apps_menu access
|
[FIX] web_responsive: use semantic SCSS tokens + guard apps_menu access
|
Killed
|
|
|
|
|
|
|
|
merged
[MISC] *: enrich demo data
|
[MISC] *: enrich demo data
|
Killed
|
|
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[IMP] web_responsive: adjust button styles and alignment in the chatter
The purpose is to reduce spacing so that all icons and buttons fit within the window without having to scroll.
|
Killed
|
|
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[IMP] web_responsive: adjust button styles and alignment in the chatter
The purpose is to reduce spacing so that all icons and buttons fit within the window without having to scroll.
|
Killed
|
Not started
|
Not finished
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[IMP] web_responsive: adjust button styles and alignment in the chatter
The purpose is to reduce spacing so that all icons and buttons fit within the window without having to scroll.
|
Failed
|
|
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[UPD] web_responsive: update code from upstream
|
Killed
|
|
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[UPD] web_responsive: update code from upstream
|
Failed
|
|
|
|
|
|
|
|
merged
[UPD] web_responsive: update code from upstream
|
[UPD] web_responsive: update code from upstream
|
Failed
|
|
|
|
|
|
|
|
merged
[IMP][17.0] web_responsive: imp ux/ui
|
Update __manifest__.py
|
Killed
|
Not started
|
Not finished
|
|
|
|
|
|
merged
[IMP][17.0] web_responsive: imp ux/ui
|
[IMP] web_responsive: imp ux/ui
|
Killed
|
|
|
|
|
|
|
|
merged
[IMP][17.0] web_responsive: imp ux/ui
|
[IMP] web_responsive: imp ux/ui
|
Failed
|
|
|
|
|
|
|
|
merged
[IMP] viin_brand_common: Display icon only on small screen
|
[IMP] viin_brand_common: Display icon only on small screen
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX] web_responsive: Don't override z-index of toolbar
|
[FIX] web_responsive: Don't override z-index of toolbar
Before this changes when trying to edit a message using web_editor, the
toolbar is showed behind the wizard.
After this changes, it is showed correctly.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[FIX][17.0] viin_brand_pos: fix the scss issues.
|
[FIX] viin_brand_pos: fix the scss issues.
|
Killed
|
|
|
|
|
|
|
|
closed
[FIX][17.0] viin_brand_mrp: Fix Bad UI
|
[FIX] viin_brand_mrp: Fix Bad UI
|
Killed
|
|
|
|
|
|
|
|
closed
[FIX][17.0] viin_brand_mrp: Fix Bad UI
|
[FIX] viin_brand_mrp: Fix Bad UI
|
Killed
|
Not started
|
Not finished
|
|
|
|
|
|
merged
[FIX][17.0] viin_brand_common: fix badge ui
|
[FIX] viin_brand_common: fix ui badge
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[IMP] viin_brand_common: improve css
|
[IMP] viin_brand_common: improve css
|
Killed
|
|
|
|
|
|
|
|
merged
[FIX][17.0] web_responsive: fix test eslint
|
[FIX] web_responsive: fix test eslint
|
Failed
|
|
|
|
|
|
|
|
merged
[FIX] web_responsive: Uncaught Error: Dependencies should be defined by an array: function (require) {.
|
[FIX] web_responsive: Uncaught Error: Dependencies should be defined by
an array: function (require) {.
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[MISC] *: fix eslint errors in javascript files
|
[MISC] *: fix eslint errors in javascript files
|
Killed
|
|
Not finished
|
|
|
|
|
|
merged
[MISC] *: update code to follow eslint / prettier formatting
|
[MISC] *: update code to follow eslint / prettier formatting
|
Killed
|
|
|
|
|
|
|
|
merged
[IMP][17.0] viin_brand_common: update documentation links
|
[IMP] viin_brand_common: update documentation links
|
Killed
|
|
|
|
|
|
|
|
closed
Fwd from 16 to 17 250707 01
|
Merge remote-tracking branch 'origin/16.0' into 17.0
|
Killed
|
|
|
|
|
|
|
|
merged
[17.0][UPG] viin_brand_mail: upgrade to version 17.0
|
[IMP] viin_brand_mail: debranding mail Bot
|
Killed
|
|
|
|
|
|
|
|
merged
[17.0][UPG] viin_brand_mail: upgrade to version 17.0
|
[IMP] viin_brand_mail: debranding mail Bot
|
Killed
|
|
|
|
|