Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="cleanup_create_indexes_wizard_view_form" model="ir.ui.view">
<field name="model">cleanup.create_indexes.wizard</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<button name="purge_all" position="attributes">
<attribute name="string">Create all</attribute>
</button>
<button name="purge" position="attributes">
<attribute name="string">Create</attribute>
</button>
</field>
</record>
<record id="cleanup_create_indexes_wizard_action" model="ir.actions.server">
<field name="name">Create missing indexes</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_create_indexes_wizard"
/>
<field
name="code"
>action = env.get('cleanup.create_indexes.wizard').get_wizard_action()</field>
</record>
<record id="cleanup_create_indexes_line_view_tree" model="ir.ui.view">
<field name="model">cleanup.create_indexes.line</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<button name="purge" position="attributes">
<attribute name="string">Create this index</attribute>
<attribute name="icon">gtk-add</attribute>
</button>
</field>
</record>
<record id="cleanup_create_indexes_line_action" model="ir.actions.server">
<field name="name">Create</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_create_indexes_line"
/>
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_create_indexes_line"
/>
</record>
</odoo>

66
database_cleanup/views/menu.xml Executable file
View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record model="ir.ui.menu" id="menu_database_cleanup">
<field name="name">Database cleanup</field>
<field name="sequence" eval="10" />
<!-- attach to Settings -> Technical -->
<field name="parent_id" ref="base.menu_custom" />
<field name="groups_id" eval="[(6,0, [ref('base.group_erp_manager')])]" />
</record>
<record model="ir.ui.menu" id="menu_purge_modules">
<field name="name">Purge obsolete modules</field>
<field name="sequence" eval="10" />
<field name="action" ref="action_purge_modules" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_models">
<field name="name">Purge obsolete models</field>
<field name="sequence" eval="20" />
<field name="action" ref="action_purge_models" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_fields">
<field name="name">Purge obsolete fields</field>
<field name="sequence" eval="25" />
<field name="action" ref="action_purge_fields" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_columns">
<field name="name">Purge obsolete columns</field>
<field name="sequence" eval="30" />
<field name="action" ref="action_purge_columns" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_tables">
<field name="name">Purge obsolete tables</field>
<field name="sequence" eval="40" />
<field name="action" ref="action_purge_tables" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_data">
<field name="name">Purge obsolete data entries</field>
<field name="sequence" eval="50" />
<field name="action" ref="action_purge_data" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_purge_menus">
<field name="name">Purge obsolete menu entries</field>
<field name="sequence" eval="60" />
<field name="action" ref="action_purge_menus" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
<record model="ir.ui.menu" id="menu_create_indexes">
<field name="name">Create missing indexes</field>
<field name="sequence" eval="70" />
<field name="action" ref="cleanup_create_indexes_wizard_action" />
<field name="parent_id" ref="menu_database_cleanup" />
</record>
</odoo>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_columns_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.column</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="model_id" />
</field>
</field>
</record>
<record id="action_purge_columns" model="ir.actions.server">
<field name="name">Purge columns</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_purge_wizard_column"
/>
<field name="code">
action = env.get('cleanup.purge.wizard.column').get_wizard_action()
</field>
</record>
<record id="purge_column_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.column</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="model_id" />
</field>
</field>
</record>
<record id="action_purge_column_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_column" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_column"
/>
</record>
</odoo>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_data_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.data</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="data_id" />
</field>
</field>
</record>
<record id="action_purge_data" model="ir.actions.server">
<field name="name">Purge data entries that refer to missing resources</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_wizard_data" />
<field name="code">
action = env.get('cleanup.purge.wizard.data').get_wizard_action()
</field>
</record>
<record id="purge_data_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.data</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="data_id" />
</field>
</field>
</record>
<record id="action_purge_data_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_data" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_data"
/>
</record>
</odoo>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_fields_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.field</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_fields" model="ir.actions.server">
<field name="name">Purge models</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_purge_wizard_field"
/>
<field name="code">
action = env.get('cleanup.purge.wizard.field').get_wizard_action()
</field>
</record>
<record id="purge_field_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.field</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="field_id" />
<field name="model_id" />
<field name="model_name" />
</field>
</field>
</record>
<record id="action_purge_field_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_field" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_field"
/>
</record>
</odoo>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_menus_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.menu</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_menus" model="ir.actions.server">
<field name="name">Purge menus</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_wizard_menu" />
<field name="code">
action = env.get('cleanup.purge.wizard.menu').get_wizard_action()
</field>
</record>
<record id="purge_menu_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.menu</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_menu_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_menu" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_menu"
/>
</record>
</odoo>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_models_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.model</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_models" model="ir.actions.server">
<field name="name">Purge models</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_purge_wizard_model"
/>
<field name="code">
action = env.get('cleanup.purge.wizard.model').get_wizard_action()
</field>
</record>
<record id="purge_model_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.model</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_model_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_model" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_model"
/>
</record>
</odoo>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_modules_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.module</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_modules" model="ir.actions.server">
<field name="name">Purge modules</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_purge_wizard_module"
/>
<field name="code">
action = env.get('cleanup.purge.wizard.module').get_wizard_action()
</field>
</record>
<record id="purge_module_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.module</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_module_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_module" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_module"
/>
</record>
</odoo>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purge_tables_view" model="ir.ui.view">
<field name="model">cleanup.purge.wizard.table</field>
<field name="inherit_id" ref="form_purge_wizard" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<data />
</field>
</record>
<record id="action_purge_tables" model="ir.actions.server">
<field name="name">Purge tables</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field
name="model_id"
ref="database_cleanup.model_cleanup_purge_wizard_table"
/>
<field name="code">
action = env.get('cleanup.purge.wizard.table').get_wizard_action()
</field>
</record>
<record id="purge_table_line_tree" model="ir.ui.view">
<field name="model">cleanup.purge.line.table</field>
<field name="inherit_id" ref="tree_purge_line" />
<field name="mode">primary</field>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="table_type" />
</field>
</field>
</record>
<record id="action_purge_table_line" model="ir.actions.server">
<field name="name">Purge</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="model_id" ref="database_cleanup.model_cleanup_purge_line_table" />
<field name="code">records.purge()</field>
<field
name="binding_model_id"
ref="database_cleanup.model_cleanup_purge_line_table"
/>
</record>
</odoo>

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="form_purge_wizard" model="ir.ui.view">
<field name="model">cleanup.purge.wizard</field>
<field name="arch" type="xml">
<form>
<header>
<button
type="object"
name="purge_all"
string="Purge all"
class="oe_highlight"
/>
<button type="object" name="select_lines" string="Select lines" />
</header>
<div invisible="purge_line_ids">
Nothing found to clean up.
</div>
<field name="purge_line_ids" invisible="not purge_line_ids">
<form>
<group>
<field name="name" />
<field name="purged" />
</group>
<footer>
<button
type="object"
name="purge"
class="oe_highlight"
string="Purge"
invisible="purged"
/>
</footer>
</form>
</field>
</form>
</field>
</record>
<record id="tree_purge_line" model="ir.ui.view">
<field name="model">cleanup.purge.line</field>
<field name="arch" type="xml">
<list delete="false" create="false">
<field name="name" />
<field name="purged" />
<button
type="object"
name="purge"
icon="fa-times-circle text-danger"
string="Purge this model"
invisible="purged"
/>
</list>
</field>
</record>
</odoo>