Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="iot_device_input_form_view">
<field name="name">iot.device.input.form (in iot_rule)</field>
<field name="model">iot.device.input</field>
<field name="inherit_id" ref="iot_input_oca.iot_device_input_form" />
<field name="arch" type="xml">
<field name="call_function" position="after">
<button
name="generate_iot_lock"
groups="iot_oca.group_iot_manager"
string="Generate IoT Lock for this Input"
type="object"
attrs="{'invisible': [('lock_id', '!=', False)]}"
/>
<field
name="lock_id"
groups="iot_oca.group_iot_user"
attrs="{'invisible': [('lock_id', '=', False)]}"
string="IoT Lock associated"
/>
</field>
</field>
</record>
</odoo>

View file

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="iot_key_form_view">
<field name="name">iot.key.form (in iot_rule)</field>
<field name="model">iot.key</field>
<field name="arch" type="xml">
<form>
<header />
<sheet>
<widget
name="web_ribbon"
text="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<field name="active" invisible="1" />
<div class="oe_button_box" name="button_box">
<button
name="view_actions"
type="object"
icon="fa-bars"
groups="iot_oca.group_iot_user"
string="Usage Log"
/>
</div>
<div class="oe_title">
<h1>
<field name="name" />
</h1>
</div>
<group>
<group name="main">
<field name="unique_virtual_key" />
<field name="res_id" invisible="1" />
<field name="res_model" invisible="1" />
<field name="expiration_date" />
</group>
</group>
<group>
<group name="rules">
<field
name="rule_ids"
widget="many2many_tags"
string="Authorized Lock Groups"
/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="iot_key_search_view">
<field name="name">iot.key.search (in iot_rule)</field>
<field name="model">iot.key</field>
<field name="arch" type="xml">
<search>
<field name="name" />
<field name="unique_virtual_key" />
<separator />
<filter
string="Expired"
name="expired"
domain="[('expiration_date', '&lt;', datetime.datetime.now())]"
help="Expired Keys"
/>
<filter
string="Not Expired"
name="not_expired"
domain="['|',('expiration_date', '&gt;', datetime.datetime.now()), ('expiration_date', '=', False)]"
help="Not expired Keys"
/>
</search>
</field>
</record>
<record model="ir.ui.view" id="iot_key_tree_view">
<field name="name">iot.key.tree (in iot_rule)</field>
<field name="model">iot.key</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="unique_virtual_key" />
<field name="rule_ids" widget="many2many_tags" />
<field name="expiration_date" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="iot_key_act_window">
<field name="name">Keys (Persons)</field>
<field name="res_model">iot.key</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="iot_key_menu">
<field name="name">Keys (Persons)</field>
<field name="parent_id" ref="iot_rule.iot_rule_menu" />
<field name="action" ref="iot_key_act_window" />
<field name="sequence" eval="25" />
</record>
</odoo>

View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="iot_key_action_form_view">
<field name="name">iot.key.action.form (in iot_rule)</field>
<field name="model">iot.key.action</field>
<field name="arch" type="xml">
<form delete="0" create="0" edit="0">
<header />
<sheet>
<group>
<field name="lock_id" />
<field name="key_name" />
<field name="key_id" />
<field name="timestamp" />
<field name="result" />
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="iot_key_action_search_view">
<field name="name">iot.key.action.search (in iot_rule)</field>
<field name="model">iot.key.action</field>
<field name="arch" type="xml">
<search>
<field name="timestamp" />
<field name="lock_id" />
<field name="key_name" />
<field name="key_id" />
<field name="result" />
</search>
</field>
</record>
<record model="ir.ui.view" id="iot_key_action_tree_view">
<field name="name">iot.key.action.tree (in iot_rule)</field>
<field name="model">iot.key.action</field>
<field name="arch" type="xml">
<tree delete="0" create="0">
<field name="timestamp" />
<field name="lock_id" />
<field name="key_name" />
<field name="key_id" />
<field name="result" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="iot_key_action_act_window">
<field name="name">Usage Log</field>
<field name="res_model">iot.key.action</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="iot_key_action_menu">
<field name="name">Usage Log</field>
<field name="parent_id" ref="iot_rule.iot_rule_menu" />
<field name="action" ref="iot_rule.iot_key_action_act_window" />
<field name="sequence" eval="90" />
</record>
</odoo>

View file

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="iot_lock_form_view">
<field name="name">iot.lock.form (in iot_rule)</field>
<field name="model">iot.lock</field>
<field name="arch" type="xml">
<form>
<header />
<sheet>
<widget
name="web_ribbon"
text="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<field name="active" invisible="1" />
<div class="oe_button_box" name="button_box">
<button
name="view_actions"
type="object"
icon="fa-bars"
groups="iot_oca.group_iot_user"
string="Usage Log"
/>
</div>
<group>
<field name="name" />
<field name="description" />
</group>
<group>
<field
name="rule_ids"
widget="many2many_tags"
string="Member of these Groups of Locks"
/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="iot_lock_search_view">
<field name="name">iot.lock.search (in iot_rule)</field>
<field name="model">iot.lock</field>
<field name="arch" type="xml">
<search>
<field name="name" />
<field name="description" />
</search>
</field>
</record>
<record model="ir.ui.view" id="iot_lock_tree_view">
<field name="name">iot.lock.tree (in iot_rule)</field>
<field name="model">iot.lock</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="description" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="iot_lock_act_window">
<field name="name">Locks (Devices)</field>
<field name="res_model">iot.lock</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="iot_lock_menu">
<field name="name">Locks (Devices)</field>
<field name="parent_id" ref="iot_rule.iot_rule_menu" />
<field name="action" ref="iot_lock_act_window" />
<field name="sequence" eval="16" />
</record>
</odoo>

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="iot_rule_form_view">
<field name="name">iot.rule.form (in iot_rule)</field>
<field name="model">iot.rule</field>
<field name="arch" type="xml">
<form>
<header />
<sheet>
<widget
name="web_ribbon"
text="Archived"
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<field name="active" invisible="1" />
<div class="oe_button_box" name="button_box" />
<group>
<field name="name" />
<field name="lock_ids" widget="many2many_tags" />
<field name="parent_ids" widget="many2many_tags" />
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="iot_rule_search_view">
<field name="name">iot.rule.search (in iot_rule)</field>
<field name="model">iot.rule</field>
<field name="arch" type="xml">
<search>
<field name="name" />
</search>
</field>
</record>
<record model="ir.ui.view" id="iot_rule_tree_view">
<field name="name">iot.rule.tree (in iot_rule)</field>
<field name="model">iot.rule</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="iot_rule_act_window">
<field name="name">Rules</field>
<field name="res_model">iot.rule</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.actions.act_window" id="iot_rule_action">
<field name="name">Rules</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">iot.rule</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
name="Rules"
sequence="15"
id="iot_rule_menu"
parent="iot_oca.iot_root_menu"
/>
<menuitem
name="Rules"
sequence="10"
id="iot_define_rules_menu"
action="iot_rule_action"
parent="iot_rule.iot_rule_menu"
/>
</odoo>

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2020 Creu Blanca
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.ui.view" id="res_partner_form_view">
<field name="name">res.partner.form (in iot_rule)</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button
class="oe_stat_button"
name="action_view_iot_key"
type="object"
attrs="{'invisible': [('iot_key_count', '=', 0)]}"
icon="fa-key"
groups="iot_oca.group_iot_user"
>
<field
string="Keys"
name="iot_key_count"
widget="statinfo"
groups="iot_oca.group_iot_user"
/>
<field name="iot_key_ids" invisible="1" />
</button>
</div>
</field>
</record>
</odoo>