New /api/v1/infra/stack/status probes all stack apps/APIs/SW; Infra UI groups proc-cards by VM; wire vm123 router; menu INFRA COD and Serviços IaaS · Infra as Code labels. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
"""Mapeamento Desk role → grupos Odoo 16 (Spec 027 contrato §3)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
# XML IDs standard Odoo 16 — requerem apps instaladas (sale, account, …)
|
|
DESK_ROLE_ODOO_XMLIDS: dict[str, tuple[str, ...]] = {
|
|
"sales_admin": ("sales_team.group_sale_manager",),
|
|
"sales_support": ("sales_team.group_sale_salesman",),
|
|
"finance": (
|
|
"account.group_account_invoice",
|
|
"account.group_account_manager",
|
|
),
|
|
"marketing": ("sales_team.group_sale_salesman",), # CRM + leads (Odoo CRM app)
|
|
"super_admin": ("base.group_system",),
|
|
}
|
|
|
|
# Fallback search por nome quando módulo ainda não tem ir.model.data (dev)
|
|
DESK_ROLE_ODOO_GROUP_NAMES: dict[str, tuple[str, ...]] = {
|
|
"sales_admin": ("Sales / Manager", "User: Own Documents Only"),
|
|
"sales_support": ("Sales / User: Own Documents Only", "User: Own Documents Only"),
|
|
"finance": ("Billing", "Billing Administrator"),
|
|
}
|
|
|
|
PROVISIONABLE_DESK_ROLES = frozenset(
|
|
{"sales_admin", "sales_support", "finance", "marketing", "developer"}
|
|
)
|
|
FOSS_GROUP_BY_ROLE: dict[str, str] = {
|
|
"sales_admin": "ligbox-sales-admin",
|
|
"sales_support": "ligbox-sales-support",
|
|
"finance": "ligbox-finance-admin",
|
|
"marketing": "ligbox-marketing",
|
|
"developer": "ligbox-dev-api",
|
|
}
|