Initial commit: Core packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:45 +02:00
commit 12c29a983b
9512 changed files with 8379910 additions and 0 deletions

View file

@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_account_analytic_account_form" model="ir.ui.view">
<field name="name">analytic.analytic.account.form</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<form string="Analytic Account">
<field name="company_id" invisible="1"/>
<sheet string="Analytic Account">
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" type="action" name="%(account_analytic_line_action)d" icon="fa-usd">
<div class="o_form_field o_stat_info">
<span class="o_stat_text">Gross Margin</span>
<span class="o_stat_value">
<field name="balance" widget='monetary'/>
</span>
</div>
</button>
</div>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
<div class="oe_title">
<label for="name"/>
<h1>
<field name="name" class="oe_inline" placeholder="e.g. Project XYZ"/>
</h1>
</div>
<div name="project"/>
<group name="main">
<group>
<field name="active" invisible="1"/>
<field name="partner_id"/>
<field name="code"/>
</group>
<group>
<field name="plan_id" options="{'no_quick_create': True}"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<field name="currency_id" options="{'no_create': True}" groups="base.group_multi_currency"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
</form>
</field>
</record>
<record id="view_account_analytic_account_list" model="ir.ui.view">
<field name="name">account.analytic.account.list</field>
<field name="model">account.analytic.account</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Analytic Accounts" multi_edit="1">
<field name="company_id" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="name" string="Name"/>
<field name="code"/>
<field name="partner_id"/>
<field name="plan_id"/>
<field name="active" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="debit" sum="Debit" invisible="1"/>
<field name="credit" sum="Credit" invisible="1"/>
<field name="balance" sum="Balance"/>
</tree>
</field>
</record>
<record id="view_account_analytic_account_list_select" model="ir.ui.view">
<field name="name">account.analytic.account.list.select</field>
<field name="model">account.analytic.account</field>
<field name="mode">primary</field>
<field eval="18" name="priority"/>
<field name="inherit_id" ref="analytic.view_account_analytic_account_list"/>
<field name="arch" type="xml">
<tree position="attributes">
<attribute name="multi_edit">0</attribute>
</tree>
</field>
</record>
<record id="view_account_analytic_account_kanban" model="ir.ui.view">
<field name="name">account.analytic.account.kanban</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="display_name"/>
<field name="balance"/>
<field name="currency_id"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
<div t-attf-class="#{!selection_mode ? 'text-center' : ''}">
<strong><span><field name="display_name"/></span></strong>
</div>
<hr class="mt8 mb8"/>
<div class="row">
<div t-attf-class="col-12 #{!selection_mode ? 'text-center' : ''}">
<span>
Balance: <field name="balance" widget="monetary"/>
</span>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="view_account_analytic_account_search" model="ir.ui.view">
<field name="name">account.analytic.account.search</field>
<field name="model">account.analytic.account</field>
<field name="arch" type="xml">
<search string="Analytic Account">
<field name="name" filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]" string="Analytic Account"/>
<field name="partner_id"/>
<separator/>
<filter string="Archived" domain="[('active', '=', False)]" name="inactive"/>
<group expand="0" string="Group By...">
<filter string="Associated Partner" name="associatedpartner" domain="[]" context="{'group_by': 'partner_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_analytic_account_form" model="ir.actions.act_window">
<field name="name">Chart of Analytic Accounts</field>
<field name="res_model">account.analytic.account</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="view_account_analytic_account_search"/>
<field name="context">{'search_default_active':1}</field>
<field name="view_id" ref="view_account_analytic_account_list"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Add a new analytic account
</p>
</field>
</record>
<record id="action_account_analytic_account_form" model="ir.actions.act_window">
<field name="name">Analytic Accounts</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.analytic.account</field>
<field name="search_view_id" ref="view_account_analytic_account_search"/>
<field name="context">{'search_default_active':1}</field>
<field name="view_mode">tree,kanban,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Add a new analytic account
</p>
</field>
</record>
</odoo>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="account_analytic_distribution_model_tree_view" model="ir.ui.view">
<field name="name">account.analytic.distribution.model.tree</field>
<field name="model">account.analytic.distribution.model</field>
<field name="arch" type="xml">
<tree string="Analytic Distribution Model" editable="top" multi_edit="1">
<field name="partner_id" optional="show"/>
<field name="partner_category_id" optional="hide"/>
<field name="company_id" groups="base.group_multi_company" optional="show"/>
<field name="analytic_distribution" widget="analytic_distribution" optional="show"/>
<button name="action_read_distribution_model" type="object" string="View" class="float-end btn-secondary"/>
</tree>
</field>
</record>
<record id="account_analytic_distribution_model_form_view" model="ir.ui.view">
<field name="name">account.analytic.distribution.model.form</field>
<field name="model">account.analytic.distribution.model</field>
<field name="arch" type="xml">
<form string="Analytic Distribution Model">
<sheet>
<group>
<group string="Simultaneous conditions to meet" colspan="2">
<group>
<field name="partner_id"/>
<field name="partner_category_id"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
<group string="Analytic distribution to apply" colspan="2">
<field name="analytic_distribution" widget="analytic_distribution"
options="{'force_applicability': 'optional', 'disable_save': true}"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_analytic_distribution_model" model="ir.actions.act_window">
<field name="name">Analytic Distribution Models</field>
<field name="res_model">account.analytic.distribution.model</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>

View file

@ -0,0 +1,184 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_account_analytic_line_tree" model="ir.ui.view">
<field name="name">account.analytic.line.tree</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<tree string="Analytic Items" multi_edit="1">
<field name="company_id" invisible="1"/>
<field name="product_uom_category_id" invisible="1"/>
<field name="date" optional="show"/>
<field name="name"/>
<field name="account_id"/>
<field name="plan_id"/>
<field name="currency_id" invisible="1"/>
<field name="unit_amount" sum="Quantity" optional="hide"/>
<field name="product_uom_id" optional="hide"/>
<field name="partner_id" optional="hide"/>
<field name="company_id" groups="base.group_multi_company" optional="show"/>
<field name="amount" sum="Total" optional="show"/>
</tree>
</field>
</record>
<record id="view_account_analytic_line_filter" model="ir.ui.view">
<field name="name">account.analytic.line.select</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<search string="Search Analytic Lines">
<field name="name"/>
<field name="date"/>
<field name="account_id"/>
<field name="plan_id"/>
<filter string="Date" name="date" date="date"/>
<filter string="Analytic Account" name="group_by_analytic_account" context="{'group_by': 'account_id'}"/>
<filter string="Analytic Plan" name="group_by_analytic_plan" context="{'group_by': 'plan_id'}"/>
<group string="Group By..." expand="0" name="groupby">
<filter string="Date" name="group_date" context="{'group_by': 'date'}"/>
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="account_analytic_line_action">
<field name="context">{'search_default_group_date': 1, 'default_account_id': active_id}</field>
<field name="domain">[('account_id','=', active_id)]</field>
<field name="name">Gross Margin</field>
<field name="res_model">account.analytic.line</field>
<field name="view_mode">tree,form,graph,pivot</field>
<field name="view_id" ref="view_account_analytic_line_tree"/>
<field name="search_view_id" ref="view_account_analytic_line_filter"/>
<field name="help" type="html">
<p class="o_view_nocontent_empty_folder">
No activity yet on this account
</p><p>
In Odoo, sales orders and projects are implemented using
analytic accounts. You can track costs and revenues to analyse
your margins easily.
</p><p>
Costs will be created automatically when you register supplier
invoices, expenses or timesheets.
</p><p>
Revenues will be created automatically when you create customer
invoices. Customer invoices can be created based on sales orders
(fixed price invoices), on timesheets (based on the work done) or
on expenses (e.g. reinvoicing of travel costs).
</p>
</field>
</record>
<record id="view_account_analytic_line_form" model="ir.ui.view">
<field name="name">account.analytic.line.form</field>
<field name="model">account.analytic.line</field>
<field name="priority">1</field>
<field name="arch" type="xml">
<form string="Analytic Item">
<field name="company_id" invisible="1"/>
<sheet>
<group>
<group name="analytic_item" string="Analytic Item">
<field name="name"/>
<field name="account_id"/>
<field name="date"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<group name="amount" string="Amount">
<field name="amount"/>
<field name="unit_amount"/>
<field name="product_uom_category_id" invisible="1"/>
<field name="product_uom_id" class="oe_inline"/>
<field name="currency_id" invisible="1"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_account_analytic_line_graph" model="ir.ui.view">
<field name="name">account.analytic.line.graph</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<graph string="Analytic Items" sample="1">
<field name="account_id"/>
<field name="unit_amount" type="measure"/>
<field name="amount" type="measure"/>
</graph>
</field>
</record>
<record id="view_account_analytic_line_pivot" model="ir.ui.view">
<field name="name">account.analytic.line.pivot</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<pivot string="Analytic Items" sample="1">
<field name="account_id" type="row"/>
<field name="unit_amount" type="measure"/>
<field name="amount" type="measure"/>
</pivot>
</field>
</record>
<record id="view_account_analytic_line_kanban" model="ir.ui.view">
<field name="name">account.analytic.line.kanban</field>
<field name="model">account.analytic.line</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="date"/>
<field name="name"/>
<field name="account_id"/>
<field name="currency_id"/>
<field name="amount"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
<div class="row">
<div class="col-6">
<strong><span><t t-esc="record.name.value"/></span></strong>
</div>
<div class="col-6 text-end">
<strong><t t-esc="record.date.value"/></strong>
</div>
</div>
<div class="row">
<div class="col-6 text-muted">
<span><t t-esc="record.account_id.value"/></span>
</div>
<div class="col-6">
<span class="float-end text-end">
<field name="amount" widget="monetary"/>
</span>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record model="ir.actions.act_window" id="account_analytic_line_action_entries">
<field name="name">Analytic Items</field>
<field name="res_model">account.analytic.line</field>
<field name="view_mode">tree,kanban,form,graph,pivot</field>
<field name="view_id" ref="view_account_analytic_line_tree"/>
<field name="search_view_id" ref="analytic.view_account_analytic_line_filter"/>
<field name="help" type="html">
<p class="o_view_nocontent_empty_folder">
No activity yet
</p><p>
In Odoo, sales orders and projects are implemented using
analytic accounts. You can track costs and revenues to analyse
your margins easily.
</p><p>
Costs will be created automatically when you register supplier
invoices, expenses or timesheets.
</p><p>
Revenues will be created automatically when you create customer
invoices. Customer invoices can be created based on sales orders
(fixed price invoices), on timesheets (based on the work done) or
on expenses (e.g. reinvoicing of travel costs).
</p>
</field>
</record>
</odoo>

View file

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="account_analytic_plan_form_view" model="ir.ui.view">
<field name="name">account.analytic.plan.form</field>
<field name="model">account.analytic.plan</field>
<field name="arch" type="xml">
<form string="Analytic Plans">
<field name="company_id" invisible="1"/>
<sheet>
<div class="oe_button_box" name="button_box">
<button name="action_view_children_plans" type="object" class="oe_stat_button" icon="fa-bars">
<field string="Subplans" name="children_count" widget="statinfo"/>
</button>
<button name="action_view_analytical_accounts" type="object" class="oe_stat_button" icon="fa-bars">
<div class="o_field_widget o_stat_info">
<span class="o_stat_value"><field name="all_account_count"/></span>
<span class="o_stat_text">Analytic Accounts</span>
</div>
</button>
</div>
<div class="oe_title">
<h1>
<field name="name"/>
</h1>
</div>
<group>
<group>
<field name="parent_id"/>
<field name="default_applicability"
attrs="{'invisible': [('parent_id', '!=', False)]}"/>
<field name="color" widget="color_picker"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
<notebook>
<page string="Applicability" name="applicability"
attrs="{'invisible': [('parent_id', '!=', False)]}">
<field name="applicability_ids">
<tree editable="bottom">
<field name="business_domain"/>
<field name="applicability"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="account_analytic_plan_tree_view" model="ir.ui.view">
<field name="name">account.analytic.plan.tree</field>
<field name="model">account.analytic.plan</field>
<field name="arch" type="xml">
<tree string="Analytic Plans" multi_edit="1">
<field name="name"/>
<field name="default_applicability"/>
<field name="color" widget="color_picker"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
</record>
<record id="account_analytic_plan_action" model="ir.actions.act_window">
<field name="name">Analytic Plans</field>
<field name="res_model">account.analytic.plan</field>
<field name="view_mode">tree,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree'}),
(0, 0, {'view_mode': 'form', 'view_id': ref('account_analytic_plan_form_view')})]"/>
<field name="domain">[('parent_id', '=', False)]</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Click to add a new analytic account plan.
</p>
</field>
</record>
</odoo>