Initial commit: OCA Ai packages (4 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:05 +02:00
commit 0adb4b78b1
170 changed files with 12385 additions and 0 deletions

View file

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2025 Dixmit
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="ai_bridge_form_view">
<field name="model">ai.bridge</field>
<field name="arch" type="xml">
<form>
<header />
<sheet>
<widget
name="web_ribbon"
title="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<h1 class="oe_title">
<field name="name" />
</h1>
<group>
<group>
<field name="sequence" />
<field name="usage" />
<field name="payload_type" />
<field name="result_kind" />
<field
name="async_timeout"
attrs="{'invisible': [('result_kind', '!=', 'async')]}"
/>
<field name="result_type" />
<field
name="model_id"
options="{'no_create': True, 'no_create_edit': True}"
domain="[('ai_usage', '=', usage)]"
attrs="{'required': [('model_required', '=', 'True')]}"
/>
<field name="model_required" invisible="1" />
<field name="description" />
</group>
<group>
<field name="url" />
<field name="auth_type" />
<field
name="auth_token"
password="1"
attrs="{'invisible': [('auth_type', '!=', 'token')], 'required': [('auth_type', '=', 'token')]}"
/>
<field
name="auth_username"
attrs="{'invisible': [('auth_type', '!=', 'basic')], 'required': [('auth_type', '=', 'basic')]}"
/>
<field
name="auth_password"
password="1"
attrs="{'invisible': [('auth_type', '!=', 'basic')], 'required': [('auth_type', '=', 'basic')]}"
/>
<field name="active" invisible="1" />
</group>
</group>
<notebook>
<page
string="Record Payload"
name="record_configuration"
attrs="{'invisible': [('payload_type', 'not in', ['record', 'record_v0'])]}"
>
<group>
<field name="group_ids" widget="many2many_tags" />
<field name="model" invisible="1" />
<field
name="field_ids"
widget="many2many_tags"
options="{'no_create': True, 'no_create_edit': True}"
domain="[('model_id', '=', model_id)]"
/>
<field
name="domain"
widget="domain"
options="{'model': 'model'}"
/>
</group>
</page>
<page string="Sample" name="sample">
<field name="sample_payload" />
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" groups="base.group_user" />
<field name="activity_ids" />
<field name="message_ids" />
</div>
</form>
</field>
</record>
<record model="ir.ui.view" id="ai_bridge_search_view">
<field name="model">ai.bridge</field>
<field name="arch" type="xml">
<search>
<field name="name" />
<field name="model_id" />
<field name="usage" />
<field name="company_id" groups="base.group_multi_company" />
<separator />
<filter
name="active"
string="Active"
domain="[('active', '=', True)]"
/>
<filter
name="inactive"
string="Archived"
domain="[('active', '=', False)]"
/>
</search>
</field>
</record>
<record model="ir.ui.view" id="ai_bridge_tree_view">
<field name="model">ai.bridge</field>
<field name="arch" type="xml">
<tree decoration-muted="active == False">
<field name="active" invisible="1" />
<field name="sequence" widget="handle" />
<field name="name" />
<field name="model_id" />
<field name="company_id" groups="base.group_multi_company" />
<field name="usage" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="ai_bridge_act_window">
<field name="name">AI Bridge</field>
<field name="res_model">ai.bridge</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="ai_bridge_menu">
<field name="name">AI Bridge</field>
<field name="parent_id" ref="ai_bridge_root_menu" />
<field name="action" ref="ai_bridge_act_window" />
<field name="sequence" eval="10" />
</record>
</odoo>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2025 Dixmit
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="ai_bridge_execution_form_view">
<field name="model">ai.bridge.execution</field>
<field name="arch" type="xml">
<form create="false" edit="false">
<header>
<field name="state" widget="statusbar" />
</header>
<sheet>
<group>
<field name="ai_bridge_id" />
<field name="res_id" />
<field name="model_id" />
<field name="create_uid" />
<field name="create_date" />
<field name="company_id" groups="base.group_multi_company" />
</group>
<notebook>
<page string="Execution Details" name="execution_details">
<group string="Payload">
<field name="payload_txt" nolabel="1" cols="2" />
</group>
<group string="Response">
<field name="result" nolabel="1" cols="2" />
</group>
</page>
<page
string="Error"
name="error"
attrs="{'invisible': [('error', '=', False)]}"
>
<field name="error" />
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ai_bridge_execution_search_view">
<field name="model">ai.bridge.execution</field>
<field name="arch" type="xml">
<search>
<field name="name" />
<field name="ai_bridge_id" />
<field name="model_id" />
<field name="create_uid" />
<field name="create_date" />
<field name="company_id" groups="base.group_multi_company" />
</search>
</field>
</record>
<record model="ir.ui.view" id="ai_bridge_execution_tree_view">
<field name="model">ai.bridge.execution</field>
<field name="arch" type="xml">
<tree create="false" edit="false">
<field name="ai_bridge_id" />
<field name="res_id" />
<field name="model_id" />
<field name="company_id" groups="base.group_multi_company" />
<field name="create_uid" />
<field name="create_date" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="ai_bridge_execution_act_window">
<field name="name">AI Execution</field>
<field name="res_model">ai.bridge.execution</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="ai_bridge_execution_menu">
<field name="name">AI Bridge Execution</field>
<field name="parent_id" ref="ai_bridge_root_menu" />
<field name="action" ref="ai_bridge_execution_act_window" />
<field name="sequence" eval="20" />
</record>
</odoo>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2025 Dixmit
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
XML which can edit the lateral bar menu of the view.
-->
<odoo>
<menuitem
name="AI Bridge"
id="ai_bridge_root_menu"
groups="base.group_system"
web_icon="ai_oca_bridge,static/description/icon.png"
sequence="40"
/>
</odoo>