summaryrefslogtreecommitdiff
path: root/addons/stock_landed_costs/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/stock_landed_costs/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/stock_landed_costs/views')
-rw-r--r--addons/stock_landed_costs/views/account_move_views.xml34
-rw-r--r--addons/stock_landed_costs/views/product_views.xml20
-rw-r--r--addons/stock_landed_costs/views/res_config_settings_views.xml20
-rw-r--r--addons/stock_landed_costs/views/stock_landed_cost_views.xml227
-rw-r--r--addons/stock_landed_costs/views/stock_valuation_layer_views.xml13
5 files changed, 314 insertions, 0 deletions
diff --git a/addons/stock_landed_costs/views/account_move_views.xml b/addons/stock_landed_costs/views/account_move_views.xml
new file mode 100644
index 00000000..dd2ae77b
--- /dev/null
+++ b/addons/stock_landed_costs/views/account_move_views.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="account_view_move_form_inherited" model="ir.ui.view">
+ <field name="name">account.view.move.form.inherited</field>
+ <field name="model">account.move</field>
+ <field name="inherit_id" ref="account.view_move_form"/>
+ <field name="groups_id" eval="[(4,ref('stock.group_stock_manager'))]"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@name='button_box']" position="inside">
+ <field name="landed_costs_ids" invisible="1"/>
+ <button string="Landed Costs" type="object"
+ name="action_view_landed_costs"
+ class="oe_stat_button" icon="fa-plus-square" groups="stock.group_stock_manager"
+ attrs="{'invisible': [('landed_costs_ids', '=', [])]}" />
+ </xpath>
+
+ <field name="state" position="before">
+ <field name="landed_costs_visible" invisible="1"/>
+ <button name="button_create_landed_costs" class="oe_highlight" string="Create Landed Costs" type="object" groups="account.group_account_invoice" attrs="{'invisible': [('landed_costs_visible', '!=', True)]}"/>
+ </field>
+
+ <xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='name']" position="after">
+ <field name="product_type" invisible="1"/>
+ <field name="is_landed_costs_line" string="Landed Costs" attrs="{'readonly': [('product_type', '!=', 'service')], 'column_invisible': [('parent.move_type', '!=', 'in_invoice')]}" optional="show"/>
+ </xpath>
+
+ <xpath expr="//field[@name='line_ids']/tree/field[@name='name']" position="after">
+ <field name="product_type" invisible="1"/>
+ <field name="is_landed_costs_line" invisible="1"/>
+ </xpath>
+ </field>
+ </record>
+
+</odoo>
diff --git a/addons/stock_landed_costs/views/product_views.xml b/addons/stock_landed_costs/views/product_views.xml
new file mode 100644
index 00000000..26acc430
--- /dev/null
+++ b/addons/stock_landed_costs/views/product_views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data>
+ <record id="view_product_landed_cost_form" model="ir.ui.view">
+ <field name="name">product.template.landed.cost.form</field>
+ <field name="model">product.template</field>
+ <field name="inherit_id" ref="account.product_template_form_view"/>
+ <field name="arch" type="xml">
+ <group name="bill" position="after">
+ <div attrs="{'invisible':[('type', '!=', 'service')]}">
+ <group string="Landed Costs" name="landedcosts">
+ <field name="landed_cost_ok"/>
+ <field name="split_method_landed_cost" attrs="{'invisible': [('landed_cost_ok', '=', False)]}" class="col-4"/>
+ </group>
+ </div>
+ </group>
+ </field>
+ </record>
+ </data>
+</odoo>
diff --git a/addons/stock_landed_costs/views/res_config_settings_views.xml b/addons/stock_landed_costs/views/res_config_settings_views.xml
new file mode 100644
index 00000000..6b591823
--- /dev/null
+++ b/addons/stock_landed_costs/views/res_config_settings_views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.stock.landed.costs</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="stock.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div name="landed_cost_info" position="replace">
+ <div class="content-group" attrs="{'invisible': [('module_stock_landed_costs', '=', False)]}">
+ <div class="mt16">
+ <label for="lc_journal_id" string="Default Journal"/>
+ <field name="lc_journal_id"/>
+ </div>
+ </div>
+ </div>
+ </field>
+ </record>
+
+</odoo>
diff --git a/addons/stock_landed_costs/views/stock_landed_cost_views.xml b/addons/stock_landed_costs/views/stock_landed_cost_views.xml
new file mode 100644
index 00000000..7f0b7bea
--- /dev/null
+++ b/addons/stock_landed_costs/views/stock_landed_cost_views.xml
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <data>
+ <!-- STOCK.LANDED.COST -->
+ <record id='view_stock_landed_cost_form' model='ir.ui.view'>
+ <field name="name">stock.landed.cost.form</field>
+ <field name="model">stock.landed.cost</field>
+ <field name="arch" type="xml">
+ <form string="Landed Costs">
+ <field name="stock_valuation_layer_ids" invisible="1"/>
+ <header>
+ <button name="button_validate" string="Validate" states="draft" class="oe_highlight" type="object"/>
+ <button name="button_cancel" string="Cancel" states="draft" type="object"/>
+ <field name="state" widget="statusbar" statusbar_visible="draft,done"/>
+ </header>
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <button string="Valuation" type="object"
+ name="action_view_stock_valuation_layers"
+ class="oe_stat_button" icon="fa-dollar" groups="stock.group_stock_manager"
+ attrs="{'invisible': ['|' , ('state', 'not in', ['done']), ('stock_valuation_layer_ids', '=', [])]}"/>
+ </div>
+ <div class="oe_title">
+ <label for="name" class="oe_edit_only" string="Landed Cost"/>
+ <h1>
+ <field name="name" placeholder="Landed Cost Name"/>
+ </h1>
+ </div>
+ <group>
+ <group>
+ <field name="date"/>
+ <field name="allowed_picking_ids" invisible="1"/>
+ <field name="target_model" widget="radio" invisible="1"/>
+ <field name="picking_ids" widget="many2many_tags" options="{'no_create_edit': True}" domain="[('id', 'in', allowed_picking_ids)]" attrs="{'invisible': [('target_model', '!=', 'picking')]}"/>
+ </group>
+ <group>
+ <label for="account_journal_id" string="Journal"/>
+ <field name="account_journal_id" nolabel="1"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="account_move_id" attrs="{'invisible': [('account_move_id', '=', False)]}"/>
+ <field name="vendor_bill_id"/>
+ </group>
+ </group>
+ <notebook>
+ <page string="Additional Costs" name="additional_costs">
+ <field name="cost_lines">
+ <form string="Cost Lines">
+ <group>
+ <group>
+ <field name="product_id"
+ domain="[('landed_cost_ok', '=', True)]"
+ context="{'default_landed_cost_ok': True}"/>
+ <field name="price_unit"/>
+ <field name="currency_id" invisible="1"/>
+ </group>
+ <group>
+ <field name="split_method"/>
+ <field name="account_id" options="{'no_create': True}"/>
+ </group>
+ </group>
+ <label for="name"/>
+ <field name="name"/>
+ </form>
+ <tree string="Cost Lines" editable="bottom">
+ <field name="product_id"
+ domain="[('landed_cost_ok', '=', True)]"
+ context="{'default_landed_cost_ok': True, 'default_type': 'service'}"/>
+ <field name="name"/>
+ <field name="account_id" options="{'no_create': True}"/>
+ <field name="split_method"/>
+ <field name="price_unit"/>
+ <field name="currency_id" invisible="1"/>
+ </tree>
+ </field>
+ <group class="oe_subtotal_footer oe_right">
+ <field name="currency_id" invisible="1"/>
+ <field name="amount_total"/>
+ <button colspan="2" name="compute_landed_cost" string="Compute" type="object" class="oe_right btn-secondary" states='draft'/>
+ </group>
+ </page>
+ <page string="Valuation Adjustments" name="valuation_adjustments">
+ <field name="valuation_adjustment_lines">
+ <form string="Valuation Adjustments">
+ <group>
+ <group>
+ <field name="product_id"/>
+ <field name="quantity"/>
+ </group>
+ <group>
+ <field name="currency_id" invisible="1"/>
+ <field name="former_cost"/>
+ <field name="additional_landed_cost"/>
+ </group>
+ </group>
+ </form>
+ <tree string="Valuation Adjustments" editable="bottom" create="0">
+ <field name="cost_line_id" readonly="1"/>
+ <field name="product_id" readonly="1"/>
+ <field name="weight" readonly="1" optional="hide"/>
+ <field name="volume" readonly="1" optional="hide"/>
+ <field name="quantity" readonly="1"/>
+ <field name="currency_id" invisible="1"/>
+ <field name="former_cost" readonly="1"/>
+ <field name="final_cost" readonly="1"/>
+ <field name="additional_landed_cost"/>
+ </tree>
+ </field>
+ </page>
+ </notebook>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids"/>
+ <field name="activity_ids"/>
+ <field name="message_ids"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id='view_stock_landed_cost_tree' model='ir.ui.view'>
+ <field name="name">stock.landed.cost.tree</field>
+ <field name="model">stock.landed.cost</field>
+ <field name="arch" type="xml">
+ <tree string="Landed Costs">
+ <field name="name" decoration-bf="1"/>
+ <field name="date"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="state" widget="badge" decoration-success="state == 'done'" decoration-info="state == 'draft'"/>
+ <field name="activity_exception_decoration" widget="activity_exception"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id='view_stock_landed_cost_tree2' model='ir.ui.view'>
+ <field name="name">stock.landed.cost.tree</field>
+ <field name="model">stock.landed.cost</field>
+ <field name="priority">1000</field>
+ <field name="arch" type="xml">
+ <tree string="Landed Costs">
+ <field name="name"/>
+ <field name="date"/>
+ <field name="currency_id" invisible="1"/>
+ <field name="amount_total" widget="monetary"/>
+ <field name="state"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id='stock_landed_cost_view_kanban' model='ir.ui.view'>
+ <field name="name">stock.landed.cost.kanban</field>
+ <field name="model">stock.landed.cost</field>
+ <field name="arch" type="xml">
+ <kanban class="o_kanban_mobile">
+ <field name="name"/>
+ <field name="date"/>
+ <field name="state"/>
+ <field name="account_journal_id"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div class="oe_kanban_global_click">
+ <div class="row mb4">
+ <strong class="col-6">
+ <span t-esc="record.name.value"/>
+ </strong>
+ <div class="col-6">
+ <span class="float-right badge badge-secondary">
+ <field name="state"/>
+ </span>
+ </div>
+ <div class="col-6">
+ <i class="fa fa-clock-o" title="Date" role="img" aria-label="Date"/><span t-esc="record.date.value"/>
+ </div>
+ <div class="col-6 text-right">
+ <field name="account_journal_id"/>
+ </div>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
+ <record id="view_stock_landed_cost_search" model="ir.ui.view">
+ <field name="name">stock.landed.cost.search</field>
+ <field name="model">stock.landed.cost</field>
+ <field name="arch" type="xml">
+ <search string="Landed Costs">
+ <field name="name" string="Name"/>
+ <field name="picking_ids" string="Picking"/>
+ <separator/>
+ <filter string="Draft" name="draft" domain="[('state', '=', 'draft')]"/>
+ <filter string="Done" name="done" domain="[('state', '=', 'done')]"/>
+ <separator/>
+ <filter string="Date" name="date" date="date"/>
+ <separator/>
+ <filter invisible="1" string="Late Activities" name="activities_overdue"
+ domain="[('my_activity_date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
+ help="Show all records which has next action date is before today"/>
+ <filter invisible="1" string="Today Activities" name="activities_today"
+ domain="[('my_activity_date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
+ <filter invisible="1" string="Future Activities" name="activities_upcoming_all"
+ domain="[('my_activity_date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))]"/>
+ <group expand="0" string="Group By">
+ <filter string="Status" name="status" context="{'group_by': 'state'}"/>
+ <filter string="Date" name="group_by_month" context="{'group_by': 'date'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id='action_stock_landed_cost' model='ir.actions.act_window'>
+ <field name="name">Landed Costs</field>
+ <field name="res_model">stock.landed.cost</field>
+ <field name="view_mode">tree,form,kanban</field>
+ <field name="context">{}</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Create a new landed cost
+ </p>
+ </field>
+ </record>
+
+ <menuitem action="action_stock_landed_cost" name="Landed Costs" parent="stock.menu_stock_warehouse_mgmt" id="menu_stock_landed_cost" sequence="115"/>
+ </data>
+</odoo>
diff --git a/addons/stock_landed_costs/views/stock_valuation_layer_views.xml b/addons/stock_landed_costs/views/stock_valuation_layer_views.xml
new file mode 100644
index 00000000..e7eea866
--- /dev/null
+++ b/addons/stock_landed_costs/views/stock_valuation_layer_views.xml
@@ -0,0 +1,13 @@
+<odoo>
+ <record id="stock_valuation_layer_form_inherited" model="ir.ui.view">
+ <field name="name">stock.valuation.layer.form.inherited</field>
+ <field name="model">stock.valuation.layer</field>
+ <field name="inherit_id" ref="stock_account.stock_valuation_layer_form" />
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='stock_move_id']" position="after">
+ <field name="stock_landed_cost_id" attrs="{'invisible': [('stock_landed_cost_id', '=', False)]}" />
+ </xpath>
+ </field>
+ </record>
+</odoo>
+