docs(spec-001): CONTIX apps home branding + auto-open

This commit is contained in:
itecnologys 2026-07-26 12:29:14 +01:00
parent 11f28353c4
commit b55a242970

View file

@ -0,0 +1,168 @@
# 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`.