summaryrefslogtreecommitdiff
path: root/addons/sale_expense/views
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/sale_expense/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/sale_expense/views')
-rw-r--r--addons/sale_expense/views/assets.xml14
-rw-r--r--addons/sale_expense/views/hr_expense_views.xml71
-rw-r--r--addons/sale_expense/views/product_view.xml29
-rw-r--r--addons/sale_expense/views/sale_order_views.xml23
4 files changed, 137 insertions, 0 deletions
diff --git a/addons/sale_expense/views/assets.xml b/addons/sale_expense/views/assets.xml
new file mode 100644
index 00000000..7f065c3a
--- /dev/null
+++ b/addons/sale_expense/views/assets.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="assets_backend" inherit_id="web.assets_backend">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/sale_expense/static/src/js/sale_order_many2one.js"/>
+ </xpath>
+ </template>
+
+ <template id="qunit_suite" inherit_id="web.qunit_suite_tests">
+ <xpath expr="//script[last()]" position="after">
+ <script type="text/javascript" src="/sale_expense/static/tests/sale_order_many2one_tests.js"/>
+ </xpath>
+ </template>
+</odoo>
diff --git a/addons/sale_expense/views/hr_expense_views.xml b/addons/sale_expense/views/hr_expense_views.xml
new file mode 100644
index 00000000..022c0cf9
--- /dev/null
+++ b/addons/sale_expense/views/hr_expense_views.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="hr_expense_form_view_inherit_sale_expense" model="ir.ui.view">
+ <field name="name">hr.expense.form.inherit.sale.expense</field>
+ <field name="model">hr.expense</field>
+ <field name="inherit_id" ref="hr_expense.hr_expense_view_form"/>
+ <field name="priority">30</field>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='analytic_account_id']" position="before">
+ <field name="sale_order_id" 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}" widget="sale_order_many2one"/>
+ <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="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}" readonly="1"/>
+ <field name="can_be_reinvoiced" invisible="1" readonly="1"/>
+ </xpath>
+ </field>
+ </record>
+ <record id="hr_expense_form_view_inherit_account_manager" model="ir.ui.view">
+ <field name="name">hr.expense.form.inherit.sale.expense</field>
+ <field name="model">hr.expense</field>
+ <field name="inherit_id" ref="sale_expense.hr_expense_form_view_inherit_sale_expense"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='sale_order_id']" position="attributes">
+ <attribute name="attrs">{'invisible':[['can_be_reinvoiced','=',False]],'readonly':[['state','in',['done']]]}</attribute>
+ <attribute name="widget">many2one</attribute>
+ </xpath>
+ </field>
+ <field name="groups_id" eval="[(6, 0, [ref('account.group_account_manager')])]"/>
+ </record>
+ <record id="hr_expense_form_view_inherit_saleman" model="ir.ui.view">
+ <field name="name">hr.expense.form.inherit.saleman</field>
+ <field name="model">hr.expense</field>
+ <field name="inherit_id" ref="sale_expense.hr_expense_form_view_inherit_sale_expense"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='sale_order_id']" position="attributes">
+ <attribute name="options">{'no_create_edit': True, 'no_create': True}</attribute>
+ <attribute name="widget">many2one</attribute>
+ </xpath>
+ </field>
+ <field name="groups_id" eval="[(6, 0, [ref('sales_team.group_sale_salesman')])]"/>
+ </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='name']" 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"/>
+ </xpath>
+ </field>
+ </record>
+
+ <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="domain">[('sale_order_id', '=', active_id)]</field>
+ <field name="context">{'default_sale_order_id': active_id}</field>
+ </record>
+
+</odoo>
diff --git a/addons/sale_expense/views/product_view.xml b/addons/sale_expense/views/product_view.xml
new file mode 100644
index 00000000..aa330023
--- /dev/null
+++ b/addons/sale_expense/views/product_view.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="product_product_view_form_inherit_sale_expense" model="ir.ui.view">
+ <field name="name">product.template.expense</field>
+ <field name="model">product.product</field>
+ <field name="inherit_id" ref="hr_expense.product_product_expense_form_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//group[@name='product_details']" position="inside">
+ <group string="Invoicing">
+ <field name="invoice_policy" widget="radio"/>
+ <field name="expense_policy" widget="radio"/>
+ </group>
+ </xpath>
+ <xpath expr="//field[@name='list_price']" position="replace">
+ <field name="list_price" attrs="{'invisible':[('expense_policy', '!=', 'sales_price')]}"/>
+ </xpath>
+ <xpath expr="//field[@name='taxes_id']" position="replace">
+ <field name="taxes_id" widget="many2many_tags" attrs="{'invisible':[('expense_policy', '=', 'no')]}"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="hr_expense.hr_expense_product" model="ir.actions.act_window">
+ <field name="context">{"default_can_be_expensed": 1, 'default_type': 'service',
+ 'default_invoice_policy':'delivery', 'default_expense_policy' : 'cost'}</field>
+ </record>
+
+</odoo>
diff --git a/addons/sale_expense/views/sale_order_views.xml b/addons/sale_expense/views/sale_order_views.xml
new file mode 100644
index 00000000..45caf6e2
--- /dev/null
+++ b/addons/sale_expense/views/sale_order_views.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="sale_order_form_view_inherit" model="ir.ui.view">
+ <field name="name">sale.order.form.inherit.sale.expense</field>
+ <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>
+ </field>
+ </record>
+
+</odoo>