mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
410 lines
21 KiB
XML
410 lines
21 KiB
XML
<?xml version="1.0"?>
|
|
<openerp>
|
|
<data>
|
|
<!-- Claim line views -->
|
|
<!-- SEARCH -->
|
|
<record id="view_crm_claim_lines_filter" model="ir.ui.view">
|
|
<field name="name">CRM - Claims Search</field>
|
|
<field name="model">claim.line</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Claims">
|
|
<filter icon="terp-check" string="Current" name="current"
|
|
domain="[('state','in',('draft', 'refused', 'treated'))]"
|
|
separator="1" help="Draft and Open Claims" />
|
|
<filter icon="terp-camera_test"
|
|
string="In Progress"
|
|
domain="[('state','in',('confirmed','in_to_control','in_to_treate'))]"
|
|
separator="1" help="In Progress Claims"/>
|
|
<separator orientation="vertical"/>
|
|
<field name="state" select='1'/>
|
|
<field name="substate_id" select='1'/>
|
|
<field name="name" select='1'/>
|
|
<field name="warning" select='1'/>
|
|
<field name="invoice_line_id" select='1'/>
|
|
<field name="product_id" select='1'/>
|
|
<field name="prodlot_id" select='1'/>
|
|
<newline/>
|
|
<group expand="0" string="More">
|
|
<field name="last_state_change" select='1'/>
|
|
<field name="guarantee_limit" select='1'/>
|
|
<field name="return_value" select='1'/>
|
|
<field name="name" select='1'/>
|
|
</group>
|
|
<newline/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Invoice" icon="terp-dolar"
|
|
domain="[]" help="Invoice"
|
|
context="{'group_by':'invoice_id'}"/>
|
|
<filter string="Product" icon="terp-product"
|
|
domain="[]" help="Product"
|
|
context="{'group_by':'product_id'}"/>
|
|
<separator orientation="vertical"/>
|
|
<filter string="Substate" icon="terp-stage"
|
|
domain="[]" context="{'group_by':'substate_id'}"/>
|
|
<filter string="Claim n°" icon="terp-emblem-documents"
|
|
domain="[]" context="{'group_by':'claim_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- TREE -->
|
|
<record model="ir.ui.view" id="crm_claim_line_tree_view">
|
|
<field name="name">CRM - Claims Tree</field>
|
|
<field name="model">claim.line</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Claim lines">
|
|
<field name="claim_id" invisible="1"/>
|
|
<field name="state"/>
|
|
<field name="substate_id"/>
|
|
<field name="product_id"/>
|
|
<field name="name"/>
|
|
<field name="prodlot_id"/>
|
|
<field name="warning"/>
|
|
<field name="warranty_type"/>
|
|
<field name="warranty_return_partner"/>
|
|
<button name="set_warranty" string="Compute Waranty" type="object" icon="gtk-justify-fill"/>
|
|
<field name="product_returned_quantity"/>
|
|
<field name="claim_origine"/>
|
|
<field name="refund_line_id"/>
|
|
<field name="move_in_id"/>
|
|
<field name="move_out_id"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- FORM -->
|
|
<record model="ir.ui.view" id="crm_claim_line_form_view">
|
|
<field name="name">CRM - Claim product return line Form</field>
|
|
<field name="model">claim.line</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Claim Line" version="7.0">
|
|
<header>
|
|
<button name="set_warranty" string="Calculate warranty state" type="object" class="oe_highlight"/>
|
|
</header>
|
|
<sheet string="Claims">
|
|
<div class="oe_title">
|
|
<group>
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1><field name="name"/></h1>
|
|
</group>
|
|
</div>
|
|
<group>
|
|
<group string="Returned good">
|
|
<field name="product_returned_quantity"/>
|
|
<field name="product_id" />
|
|
<field name="prodlot_id"/>
|
|
<field name="unit_sale_price"/>
|
|
<field name="return_value"/>
|
|
</group>
|
|
<group string="Linked Document">
|
|
<field name="claim_id"/>
|
|
<field name="invoice_line_id"/>
|
|
<field name="refund_line_id"/>
|
|
<field name="move_in_id"/>
|
|
<field name="move_out_id"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group string="Problem">
|
|
<field name="claim_origine" nolabel="1" colspan="4"/>
|
|
<field name="claim_descr" nolabel="1" colspan="4"/>
|
|
</group>
|
|
<group string="Warranty">
|
|
<field name="guarantee_limit"/>
|
|
<field name="warning"/>
|
|
<field name="warranty_return_partner"/>
|
|
<field name="warranty_type"/>
|
|
</group>
|
|
</group>
|
|
<separator string="State" colspan="4"/>
|
|
<group col="6" colspan="4">
|
|
<field name="state"/>
|
|
<field name="substate_id" widget='selection'/>
|
|
<field name="last_state_change"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!--
|
|
A second slightly modified form view to be used for the claim_line_ids
|
|
field in the crm.claim form view. Defining it here instead of directly
|
|
inside the field allows us to write only the changes and reference it
|
|
-->
|
|
<record id="crm_claim_line_view_form_embedded" model="ir.ui.view">
|
|
<field name="name">Claim line form view to be used inside claim tree</field>
|
|
<field name="mode">primary</field>
|
|
<field name="model">claim.line</field>
|
|
<field name="priority" eval="30"/>
|
|
<field name="inherit_id" ref="crm_claim_line_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<field name="claim_id" position="attributes">
|
|
<attribute name="readonly">1</attribute>
|
|
</field>
|
|
<field name="product_id" position="attributes">
|
|
<attribute name="context">{'claim_id': parent.id, 'company_id': parent.company_id, 'warehouse_id': parent.warehouse_id, 'claim_type': parent.claim_type, 'claim_date': parent.date}</attribute>
|
|
</field>
|
|
<field name="invoice_line_id" position="attributes">
|
|
<attribute name="context">{'claim_id': parent.id, 'company_id': parent.company_id, 'warehouse_id': parent.warehouse_id, 'claim_type': parent.claim_type, 'claim_date': parent.date}</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- CLAIM VIEWS -->
|
|
<record model="ir.ui.view" id="crm_case_claims_tree_view">
|
|
<field name="name">CRM - Claims Tree</field>
|
|
<field name="model">crm.claim</field>
|
|
<field name="inherit_id" ref="crm_claim.crm_case_claims_tree_view"/>
|
|
<field name="arch" type="xml">
|
|
<field name="stage_id" position="after">
|
|
<field name="section_id"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Crm claim Search view -->
|
|
<record id="view_crm_case_claims_filter" model="ir.ui.view">
|
|
<field name="name">CRM - Claims Search</field>
|
|
<field name="model">crm.claim</field>
|
|
<field name="inherit_id" ref="crm_claim.view_crm_case_claims_filter"/>
|
|
<field name="arch" type="xml">
|
|
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" position="before">
|
|
<filter string="Sales Team" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'section_id'}"/>
|
|
</filter>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Right side link to orders -->
|
|
<act_window
|
|
id="act_crm_claim_rma_sale_orders"
|
|
name="Quotations and Sales"
|
|
res_model="sale.order"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to invoices -->
|
|
<act_window
|
|
domain="[('type', '=', 'out_invoice')]"
|
|
id="act_crm_claim_rma_invoice_out"
|
|
name="Customer Invoices"
|
|
res_model="account.invoice"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to invoices -->
|
|
<act_window
|
|
domain="[('type', '=', 'in_invoice')]"
|
|
id="act_crm_claim_rma_invoice_in"
|
|
name="Supplier Invoices"
|
|
res_model="account.invoice"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to refunds -->
|
|
<act_window
|
|
domain="[('type', '=', 'out_refund')]"
|
|
id="act_crm_claim_rma_refunds_out"
|
|
name="Customer Refunds"
|
|
res_model="account.invoice"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to refunds -->
|
|
<act_window
|
|
domain="[('type', '=', 'in_refund')]"
|
|
id="act_crm_claim_rma_refunds_in"
|
|
name="Supplier Refunds"
|
|
res_model="account.invoice"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to picking in -->
|
|
<act_window
|
|
domain="[('picking_type_id.code', '=', 'incoming')]"
|
|
id="act_crm_claim_rma_picking_in"
|
|
name="Incoming Shipment and Returns"
|
|
res_model="stock.picking"
|
|
src_model="crm.claim"/>
|
|
<!-- Right side link to picking out -->
|
|
<act_window
|
|
domain="[('picking_type_id.code', '=', 'outgoing')]"
|
|
id="act_crm_claim_rma_picking_out"
|
|
name="Deliveries"
|
|
res_model="stock.picking"
|
|
src_model="crm.claim"/>
|
|
|
|
<record model="ir.actions.act_window" id="crm_claim.crm_case_categ_claim0">
|
|
<field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field>
|
|
</record>
|
|
|
|
<!-- Claim lines action -->
|
|
<record model="ir.actions.act_window" id="act_crm_case_claim_lines">
|
|
<field name="name">Claim lines</field>
|
|
<field name="res_model">claim.line</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="view_id" ref="crm_claim_line_tree_view"/>
|
|
<field name="search_view_id" ref="view_crm_claim_lines_filter"/>
|
|
</record>
|
|
|
|
<!-- substates action -->
|
|
<record id="act_crm_claim_substates" model="ir.actions.act_window">
|
|
<field name="name">Claim line substates</field>
|
|
<field name="res_model">substate.substate</field>
|
|
<field name="view_type">form</field>
|
|
</record>
|
|
|
|
<!-- Menu -->
|
|
<menuitem
|
|
name="Claim lines"
|
|
id="menu_crm_case_claims_claim_lines"
|
|
parent="base.menu_aftersale"
|
|
action="act_crm_case_claim_lines"
|
|
sequence="2"/>
|
|
<menuitem
|
|
name="Claim line substates"
|
|
id="menu_crm_case_claims_claim_line_substates"
|
|
parent="crm_claim.menu_config_claim"
|
|
action="act_crm_claim_substates"
|
|
sequence="2"/>
|
|
|
|
<record model="ir.ui.view" id="crm_case_claims_form_view">
|
|
<field name="name">CRM - Claims Form</field>
|
|
<field name="model">crm.claim</field>
|
|
<field name="inherit_id" ref="crm_claim_type.crm_case_claims_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='claim_type']" position="attributes">
|
|
<attribute name="context">{'create_lines': False}</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="crm_claim_rma_form_view">
|
|
<field name="name">CRM - Claims Form</field>
|
|
<field name="model">crm.claim</field>
|
|
<field name="inherit_id" ref="crm_claim.crm_case_claims_form_view"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Header/workflow Buttons -->
|
|
<field name="stage_id" position="before">
|
|
<button
|
|
name="%(action_claim_picking_in)d"
|
|
type="action" string="New Products Return"
|
|
attrs="{'invisible': [('partner_id','=', False)]}"
|
|
context="{'warehouse_id': warehouse_id, 'partner_id': partner_id}"/>
|
|
<button
|
|
name="%(action_claim_picking_out)d"
|
|
type="action"
|
|
string="New Delivery"
|
|
attrs="{'invisible': [('partner_id','=', False)]}"
|
|
context="{'warehouse_id': warehouse_id, 'partner_id': partner_id}"/>
|
|
<button
|
|
name="%(account.action_account_invoice_refund)d"
|
|
type='action'
|
|
string='New Refund'
|
|
attrs="{'invisible': [('invoice_id','=', False)]}"
|
|
context="{'invoice_ids': [invoice_id], 'claim_line_ids': claim_line_ids, 'description': name, 'claim_id': id}"/>
|
|
</field>
|
|
<field name="date_deadline" position="after">
|
|
<field name="warehouse_id" context="{'create_lines': False}"/>
|
|
</field>
|
|
<field name="date" position="replace"/>
|
|
<field name="user_id" position="before">
|
|
<field name="date" context="{'create_lines': False}"/>
|
|
</field>
|
|
<!-- Smart buttons -->
|
|
<xpath expr="//sheet[@string='Claims']/group[1]" position="after">
|
|
<div class="oe_right oe_button_box" style="width: 300px;" name="buttons">
|
|
<button name="%(act_crm_claim_rma_sale_orders)d" type="action"
|
|
string="Quotation/Sales"
|
|
icon="fa-strikethrough"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_supplier)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_invoice_out)d" type="action"
|
|
string="Invoices"
|
|
icon="fa-pencil-square-o"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_supplier)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_refunds_out)d" type="action"
|
|
string="Refunds"
|
|
icon="fa-file-text-o"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_supplier)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_invoice_in)d" type="action"
|
|
string="Invoices"
|
|
icon="fa-pencil-square-o"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_customer)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_refunds_in)d" type="action"
|
|
string="Refunds"
|
|
icon="fa-file-text-o"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_customer)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_picking_in)d" type="action"
|
|
string="Products"
|
|
icon="fa-reply"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_customer)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_claim_id': active_id,'search_default_user_id':False}"/>
|
|
|
|
<button name="%(act_crm_claim_rma_picking_out)d" type="action"
|
|
string="Deliveries"
|
|
icon="fa-truck"
|
|
class="oe_stat_button"
|
|
attrs="{'invisible': ['|',('partner_id','=', False),('claim_type','in',
|
|
[%(crm_claim_type.crm_claim_type_supplier)d,%(crm_claim_type.crm_claim_type_other)d])]}"
|
|
context="{'search_default_partner_id': [partner_id],'search_default_user_id':False}"/>
|
|
</div>
|
|
</xpath>
|
|
<xpath expr="//sheet[@string='Claims']/group[1]" position="replace">
|
|
<div class="oe_title oe_left">
|
|
<h1><field name="code"/></h1>
|
|
<div class="oe_edit_only">
|
|
<label for="name"/>
|
|
</div>
|
|
<h1><small><field name="name"/></small></h1>
|
|
</div>
|
|
</xpath>
|
|
<!-- Remove domain and widget attributes -->
|
|
<field name="categ_id" widget="selection" position="replace">
|
|
<field name="categ_id"/>
|
|
</field>
|
|
<!-- New tabs for products return and generated documents -->
|
|
<page string="Follow Up" position="before">
|
|
<page string="Product Return">
|
|
<group name="Product Return">
|
|
<separator string="Product Return" colspan="4"/>
|
|
<group>
|
|
<field name="company_id" invisible="1"/>
|
|
<field name="invoice_id" domain="['|',('commercial_partner_id','=',partner_id),('partner_id','=',partner_id)]" context="{'create_lines': True}"/>
|
|
<field name="delivery_address_id" context="{'tree_view_ref': 'crm_claim_rma.view_partner_contact_tree', 'search_default_parent_id': partner_id}"/>
|
|
</group>
|
|
<div name="serial">
|
|
<!-- Place for mass return button from crm_rma_lot_mass_return -->
|
|
</div>
|
|
<field
|
|
name="claim_line_ids"
|
|
nolabel="1"
|
|
context="{'default_claim_id': active_id, 'form_view_ref': 'crm_claim_rma.crm_claim_line_view_form_embedded'}"/>
|
|
</group>
|
|
</page>
|
|
<page string="Generated Documents">
|
|
<separator colspan="2" string="Refunds"/>
|
|
<field name="invoice_ids" colspan="4" readonly="1"/>
|
|
<separator colspan="2" string="Receptions / Deliveries"/>
|
|
<field name="picking_ids" colspan="4" readonly="1"/>
|
|
</page>
|
|
</page>
|
|
</field>
|
|
</record>
|
|
|
|
</data>
|
|
</openerp>
|