19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:32:12 +01:00
parent 79f83631d5
commit 73afc09215
6267 changed files with 1534193 additions and 1130106 deletions

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_expense_sheet_view_form" model="ir.ui.view">
<field name="name">hr.expense.sheet.view.form.inherit.sale.expense</field>
<field name="model">hr.expense.sheet</field>
<field name="inherit_id" ref="hr_expense.view_hr_expense_sheet_form"/>
<field name="arch" type="xml">
<button name="action_get_expense_view" position="after">
<button name="action_open_sale_orders"
class="oe_stat_button"
icon="fa-money"
type="object"
attrs="{'invisible': [('sale_order_count', '=', 0)]}">
<field name="sale_order_count" widget="statinfo" string="Sales Orders"/>
</button>
</button>
</field>
</record>
</odoo>

View file

@ -6,35 +6,46 @@
<field name="inherit_id" ref="hr_expense.hr_expense_view_form"/>
<field name="priority">30</field>
<field name="arch" type="xml">
<button name="action_open_account_move" position="after">
<button name="action_open_sale_order"
class="oe_stat_button"
icon="fa-money"
type="object"
invisible="not sale_order_id">
<field name="sale_order_id" widget="statinfo" string="Sales Order"/>
</button>
</button>
<xpath expr="//field[@name='analytic_distribution']" position="before">
<field name="sale_order_id" groups="!sales_team.group_sale_salesman,!account.group_account_manager"
attrs="{'invisible': [('can_be_reinvoiced', '=', False)], 'readonly': [('sheet_is_editable', '=', False)]}"
invisible="not can_be_reinvoiced"
readonly="not is_editable"
options="{'no_create_edit': True, 'no_create': True, 'no_open': True}"
context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"
widget="sale_order_many2one"/>
/>
<field name="sale_order_id" groups="sales_team.group_sale_salesman,!account.group_account_manager"
attrs="{'invisible': [('can_be_reinvoiced', '=', False)], 'readonly': [('sheet_is_editable', '=', False)]}"
invisible="not can_be_reinvoiced"
readonly="not is_editable"
options="{'no_create_edit': True, 'no_create': True}"
context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"
widget="many2one"/>
<field name="sale_order_id" groups="account.group_account_manager"
widget="many2one"
attrs="{'invisible':[['can_be_reinvoiced','=',False]],'readonly':['|', ['state','in',['done']], ['sheet_is_editable', '=', False]]}"
invisible="not can_be_reinvoiced"
readonly="not is_editable"
options="{'no_create_edit': True, 'no_create': True, 'no_open': True}"
context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"
/>
context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
<field name="can_be_reinvoiced" invisible="1"/>
</xpath>
</field>
</record>
<record id="hr_expense_tree_view_inherit_sale_expense" model="ir.ui.view">
<field name="name">hr.expense.tree.inherit.sale.expense</field>
<field name="name">hr.expense.list.inherit.sale.expense</field>
<field name="model">hr.expense</field>
<field name="inherit_id" ref="hr_expense.view_expenses_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='reference']" position="after">
<field name="sale_order_id" optional="hide" attrs="{'invisible': [('can_be_reinvoiced', '=', False)]}" options="{'no_create_edit': True, 'no_create': True, 'no_open': True}" context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
<field name="can_be_reinvoiced" invisible="1" readonly="1"/>
<xpath expr="//field[@name='date']" position="before">
<field name="sale_order_id" optional="hide" invisible="not can_be_reinvoiced" readonly="state in ['posted', 'refused']" options="{'no_create_edit': True, 'no_create': True, 'no_open': True}" context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
<field name="can_be_reinvoiced" readonly="1" column_invisible="True"/>
</xpath>
</field>
</record>
@ -45,20 +56,8 @@
<field name="inherit_id" ref="hr_expense.hr_expense_split"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='employee_id']" position="after">
<field name="can_be_reinvoiced" invisible="1"/>
<field name="sale_order_id" force_save="1" attrs="{'readonly': [('can_be_reinvoiced', '=', False)]}"/>
</xpath>
</field>
</record>
<record id="hr_expense_sheet_form_view_inherit_sale_expense" model="ir.ui.view">
<field name="name">hr.expense.sheet.form.inherit.sale.expense</field>
<field name="model">hr.expense.sheet</field>
<field name="inherit_id" ref="hr_expense.view_hr_expense_sheet_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='expense_line_ids']/tree/field[@name='state']" position="after">
<field name="sale_order_id" attrs="{'invisible': [('can_be_reinvoiced', '=', False)]}" optional="show" options="{'no_create_edit': True, 'no_create': True, 'no_open': True}" context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
<field name="can_be_reinvoiced" invisible="1"/>
<field name="can_be_reinvoiced" column_invisible="True"/>
<field name="sale_order_id" force_save="1" readonly="not can_be_reinvoiced"/>
</xpath>
</field>
</record>
@ -66,7 +65,7 @@
<record id="hr_expense_action_from_sale_order" model="ir.actions.act_window">
<field name="name">Expenses</field>
<field name="res_model">hr.expense</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">list,form</field>
<field name="domain">[('sale_order_id', '=', active_id)]</field>
<field name="context">{'default_sale_order_id': active_id}</field>
</record>

View file

@ -15,12 +15,12 @@
</div>
</group>
</xpath>
<xpath expr="//field[@name='standard_price']" position="before">
<field name="list_price" attrs="{'invisible':[('expense_policy', '!=', 'sales_price')]}"/>
<xpath expr="//label[@for='standard_price']" position="before">
<field name="list_price" invisible="expense_policy != 'sales_price'"/>
</xpath>
<xpath expr="//field[@name='supplier_taxes_id']" position="after">
<field name="taxes_id" widget="many2many_tags" attrs="{'invisible':[('expense_policy', '=', 'no')]}"
options="{'no_quick_create': True}"/>
<field name="taxes_id" widget="many2many_tax_tags" invisible="expense_policy == 'no'"
options="{'no_quick_create': True}" class="w-50"/>
</xpath>
</field>
</record>
@ -38,8 +38,11 @@
</record>
<record id="hr_expense.hr_expense_product" model="ir.actions.act_window">
<field name="context">{"default_can_be_expensed": 1, 'default_detailed_type': 'service',
'default_expense_policy' : 'cost'}</field>
<field name="context">{
'default_can_be_expensed': 1,
'default_type': 'service',
'default_expense_policy' : 'cost',
}</field>
</record>
</odoo>

View file

@ -6,17 +6,17 @@
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//button[@name='action_view_invoice']" position="before">
<button type="action"
name="%(sale_expense.hr_expense_action_from_sale_order)d"
class="oe_stat_button"
icon="fa-money"
attrs="{'invisible': [('expense_count', '=', 0)]}">
<field name="expense_count" widget="statinfo" string="Expenses"/>
</button>
</xpath>
</data>
<button name="action_view_invoice" position="before">
<button
name="%(sale_expense.hr_expense_action_from_sale_order)d"
type="action"
class="oe_stat_button"
icon="fa-money"
invisible="expense_count == 0"
>
<field name="expense_count" widget="statinfo" string="Expenses"/>
</button>
</button>
</field>
</record>