# Spec 001 — CONTIX+ Odoo Apps Home Menu Branding + Auto-Open **Criado:** 2026-07-26 **Solicitado por:** Roger **Status:** ✅ Implementado (myvexx + ligit) **Projeto:** [erp-odoo-ligit-myvexx](https://github.com/itecnologys-tech/erp-odoo-ligit-myvexx) **Módulo Odoo:** `myvexx_apps_branding` **16.0.1.2.1** **Dependência:** OCA `web_responsive` (Odoo 16) ## Sistemas | Instância | Host | Acesso | DB | |-----------|------|--------|-----| | erp.myvexx.com | VM 111 `erp-myvexx` (Big) | `10.10.10.111:22248` | `ligit` | | erp.ligit.com.br | lig315 | `200.187.190.30:22248` | `ligit` | **Path do módulo:** `/opt/odoo/custom/addons/myvexx_apps_branding` --- ## Objectivo Personalizar o **Apps Menu** fullscreen do `web_responsive` (tela roxa de apps) com branding CONTIX+ e abrir essa tela **automaticamente após o login**. Não é a “Ação inicial” do utilizador Odoo (isso abre um app). É o **Home Menu de aplicativos**. --- ## Layout definitivo (aprovado Roger — não alterar sem OK) ### Composição - **Esquerda:** logo CONTIX+ (transparente) - **Direita:** busca + grid compacto de ícones - Sem caixas/bordas/retângulos decorativos - Sem slogan HTML (logo PNG já contém a arte) ### Medidas aprovadas | Elemento | Valor | Nota | |----------|-------|------| | Painel logo | ~560px (`min-width` 420px) | `.o_myvexx_apps_brand` | | Logo max-width | ~520px | `.o_myvexx_logo` | | Ícone app | **5.5rem** | `.o-app-icon` — **NÃO ALTERAR** | | Célula app | ~118px | `.o_app` | | Títulos | ~1.2rem / weight 500 | | | Row-gap | ~1.15rem | entre linhas de apps | | Grid max-width | ~780px | ao lado da logo | ### Assets visuais | Ficheiro | Uso | |----------|-----| | `static/src/img/logo-contix-home.png` | Logo canónica no XML | | `static/src/img/logo-contabilidade_5.png` | Origem / backup da mesma arte | --- ## Arquitectura técnica ``` web_responsive.AppsMenu (OCA) │ ├─ XML inherit → apps_menu.xml (shell esquerda/direita) ├─ SCSS → apps_menu.scss (medidas definitivas) └─ JS patch → open_home_on_login.esm.js (auto-open) ``` ### Ficheiros do módulo ``` myvexx_apps_branding/ ├── __init__.py ├── __manifest__.py ├── LAYOUT_DEFINITIVO.txt ├── PREFERENCIAS_ROGER.txt └── static/src/ ├── js/open_home_on_login.esm.js ├── img/logo-contix-home.png ├── img/logo-contabilidade_5.png └── components/apps_menu/ ├── apps_menu.xml └── apps_menu.scss ``` ### Manifest (assets) ```python "depends": ["web_responsive"], "assets": { "web.assets_backend": [ "myvexx_apps_branding/static/src/js/open_home_on_login.esm.js", "myvexx_apps_branding/static/src/components/apps_menu/apps_menu.xml", "myvexx_apps_branding/static/src/components/apps_menu/apps_menu.scss", ], }, ``` --- ## Auto-open no login 1. Após montar `AppsMenu`, chama `setOpenState(true, false)`. 2. Durante ~**1.5s** bloqueia o 1º `ACTION_MANAGER:UI-UPDATED` que normalmente fecha o menu. 3. Depois libera o fecho normal. Implementação Odoo 16 / estilo OCA: - `import {patch} from "web.utils"` - Patch: `myvexx_apps_branding.OpenHomeOnLogin` - `this._super(...)` + `owl.onMounted` Alvo: `@web_responsive/components/apps_menu/apps_menu.esm` → `AppsMenu` --- ## Riscos em actualizações | Actualização | Risco | Acção | |--------------|-------|-------| | Só dados / módulos de negócio | Baixo | Nenhuma | | Update `web_responsive` OCA | Médio | Rever `AppsMenu` / `setOpenState` | | Odoo 16 → 17+ | Alto | Reescrever patch (API sem `_super`) | | Cloudflare / browser cache | Baixo | Hard refresh | O módulo é **custom** (fora do path OCA) → pull do OCA não apaga o branding. --- ## Deploy / upgrade ```bash systemctl stop odoo sudo -u odoo psql -d ligit -c "DELETE FROM ir_attachment WHERE name ILIKE '%web.assets_backend%' OR url ILIKE '%web.assets_backend%';" sudo -u odoo /opt/odoo/venv/bin/python3 /opt/odoo/server/odoo-bin \ -c /etc/odoo.conf -d ligit -u myvexx_apps_branding --stop-after-init systemctl start odoo ``` Conf: `/etc/odoo.conf` · `addons_path` deve incluir `/opt/odoo/custom/addons`. ### Teste 1. Logout / login em `/web` 2. `Ctrl+Shift+R` 3. Home Menu CONTIX+ abre sozinho --- ## Preferências travadas (Roger) - Ícones **5.5rem** - Proporção logo/grid actual - Logo transparente - Auto-open no login --- ## Paths Spec Hub / Obsidian (VM130) | Onde | Path | |------|------| | Repo Git | `/opt/ligbox-spec-hub/repos/erp-odoo-ligit-myvexx` | | Specs | `.../specs/001-contix-apps-home-branding/` | | Obsidian | `/opt/ligbox-spec-hub/obsidian-vault/ERP-Odoo-Ligit-Myvexx/` | --- ## Changelog Ver `CHANGELOG.md`.