fix(addon): resolve all Odoo 18 install errors

- security/res_groups.xml: fully qualify ref('group_ai_user') with module prefix
- data/ir_cron.xml: remove numbercall field (removed in Odoo 17/18)
- views/menus.xml: remove web_icon referencing missing static/src/img/icon.png
- controllers/webhook.py: use get_json() instead of deprecated json.loads(data)
- security/ir.model.access.csv: use fully-qualified group external IDs (prior commit)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Carlos Garcia
2026-04-24 21:20:40 -04:00
parent a4759b583e
commit 15afe51d9c
4 changed files with 3 additions and 9 deletions

View File

@@ -25,9 +25,8 @@ class AiWebhookController(http.Controller):
if bot and bot.webhook_secret:
pass # IP check handled at network level via ALLOWED_CALLBACK_IP env var in agent service
try:
data = json.loads(request.httprequest.data)
except Exception:
data = request.httprequest.get_json(silent=True) or {}
if not data:
return Response(status=400)
event_type = data.get('event', '')

View File

@@ -8,7 +8,6 @@
<field name="code">model.cron_ping_all()</field>
<field name="interval_number">5</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
@@ -19,7 +18,6 @@
<field name="code">model.sync_from_service()</field>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
@@ -30,7 +28,6 @@
<field name="code">model.cron_cleanup_old()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
@@ -41,7 +38,6 @@
<field name="code">model.cron_cleanup()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
</data>

View File

@@ -16,7 +16,7 @@
<record id="group_ai_manager" model="res.groups">
<field name="name">AI Manager</field>
<field name="category_id" ref="module_activeblue_ai"/>
<field name="implied_ids" eval="[(4, ref('group_ai_user'))]"/>
<field name="implied_ids" eval="[(4, ref('activeblue_ai.group_ai_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
<field name="comment">Can configure AI, approve directives, and view all logs</field>
</record>

View File

@@ -3,7 +3,6 @@
<menuitem id="menu_activeblue_ai_root"
name="ActiveBlue AI"
sequence="99"
web_icon="activeblue_ai,static/src/img/icon.png"
groups="activeblue_ai.group_ai_user"/>
<menuitem id="menu_ai_directives"