256 lines
16 KiB
XML
256 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
|
|
<record id="view_repair_order_tree" model="ir.ui.view">
|
|
<field name="name">mrp.repair.tree</field>
|
|
<field name="model">mrp.repair</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Repairs order" colors="gray:state in ('done','cancel');black:state not in ('done','cancel');blue:state=='draft'">
|
|
<field name="name" />
|
|
<field name="product_id" />
|
|
<field name="partner_id"/>
|
|
<field name="address_id"/>
|
|
<field name="location_id" groups="stock.group_locations"/>
|
|
<field name="location_dest_id" groups="stock.group_locations"/>
|
|
<field name="company_id" groups="base.group_multi_company" invisible="1"/>
|
|
<field name="guarantee_limit"/>
|
|
<field name="state"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_repair_order_form" model="ir.ui.view">
|
|
<field name="name">mrp.repair.form</field>
|
|
<field name="model">mrp.repair</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Repair Order">
|
|
<header>
|
|
<button name="repair_confirm" states="draft" string="Confirm Repair" class="oe_highlight"/>
|
|
<button name="repair_ready" states="confirmed,ready" string="Start Repair" class="oe_highlight"/>
|
|
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
|
|
<button name="action_repair_end" states="under_repair" string="End Repair" class="oe_highlight"/>
|
|
<button name="action_invoice_create" states="2binvoiced" string="Create Invoice" class="oe_highlight"/>
|
|
<button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
|
|
<button name="invoice_corrected" states="invoice_except" string="Invoice Corrected"/>
|
|
<button name="action_cancel" string="Cancel Repair" type="object" attrs="{'invisible':['|',('invoice_method','!=','none'), ('state', 'not in',('confirmed','2binvoiced','ready','under_repair', 'invoice_except'))]}"/>
|
|
<button name="cancel" states="draft" string="Cancel Repair"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done"/>
|
|
</header>
|
|
<sheet string="Repairs order">
|
|
<h1>
|
|
Repair Order <field name="name" class="oe_inline"/>
|
|
</h1>
|
|
<group>
|
|
<group>
|
|
<field name="product_id" on_change="onchange_product_id(product_id)" domain="[('type','!=','service')]"/>
|
|
<label for="product_qty"/>
|
|
<div>
|
|
<field name="product_qty" class="oe_inline"/>
|
|
<field name="product_uom" groups="product.group_uom" on_change="onchange_product_uom(product_id, product_uom)" class="oe_inline"/>
|
|
</div>
|
|
<field name="lot_id" domain="[('product_id', '=', product_id)]" context="{'default_product_id': product_id}" groups="stock.group_production_lot"/>
|
|
<field name="partner_id" on_change="onchange_partner_id(partner_id,address_id)" attrs="{'required':[('invoice_method','!=','none')]}"/>
|
|
<field name="address_id" groups="sale.group_delivery_invoice_address"/>
|
|
</group>
|
|
<group>
|
|
<field name="location_id" on_change="onchange_location_id(location_id)" groups="stock.group_locations" domain="[('usage', 'in', ('internal', 'customer'))]"/>
|
|
<field name="location_dest_id" groups="stock.group_locations" domain="[('usage', 'in', ('internal', 'customer'))]"/>
|
|
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
|
<field name="guarantee_limit"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Operations">
|
|
<field name="operations" context="{'default_product_uom_qty': product_qty}">
|
|
<form string="Operations">
|
|
<notebook>
|
|
<page string="Repair Line">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="product_id" on_change="product_id_change(parent.pricelist_id, product_id, product_uom, product_uom_qty, parent.partner_id, False, context)"/>
|
|
<label for="product_uom_qty"/>
|
|
<div>
|
|
<field name="product_uom_qty" class="oe_inline"/>
|
|
<field name="product_uom" class="oe_inline" groups="product.group_uom"/>
|
|
</div>
|
|
<field name="price_unit"/>
|
|
<field name="price_subtotal"/>
|
|
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit,parent.company_id,context)"/>
|
|
<field name="to_invoice"/>
|
|
<field name="tax_id" widget="many2many_tags" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
|
<field name="invoiced"/>
|
|
<field name="location_id" groups="stock.group_locations"/>
|
|
<field name="location_dest_id" groups="stock.group_locations"/>
|
|
</group>
|
|
</page>
|
|
<page string="History">
|
|
<group>
|
|
<field name="move_id" />
|
|
<field name="invoice_line_id"/>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
<tree string="Operations" editable="bottom">
|
|
<field name="type" on_change="onchange_operation_type(type,parent.guarantee_limit,parent.company_id,context)"/>
|
|
<field name="product_id" on_change="product_id_change(parent.pricelist_id, product_id, product_uom, product_uom_qty, parent.partner_id, False, context)"/>
|
|
<field name='name'/>
|
|
<field name="lot_id" domain="[('product_id', '=', product_id)]" context="{'default_product_id': product_id}" groups="stock.group_production_lot"/>
|
|
<field name="location_id" groups="stock.group_locations"/>
|
|
<field name="location_dest_id" groups="stock.group_locations"/>
|
|
<field name="product_uom_qty" string="Quantity"/>
|
|
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
|
|
<field name="price_unit"/>
|
|
<field name="tax_id" widget="many2many_tags"/>
|
|
<field name="to_invoice"/>
|
|
<field name="price_subtotal"/>
|
|
</tree>
|
|
</field>
|
|
<group class="oe_subtotal_footer oe_right">
|
|
<field name="amount_untaxed" sum="Untaxed amount"/>
|
|
<field name="amount_tax"/>
|
|
<div class="oe_subtotal_footer_separator oe_inline">
|
|
<label for="amount_total" />
|
|
<button name="button_dummy"
|
|
states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
|
|
</div>
|
|
<field name="amount_total" nolabel="1" sum="Total amount" class="oe_subtotal_footer_separator"/>
|
|
</group>
|
|
<div class="oe_clear"/>
|
|
</page>
|
|
<page string="Invoicing">
|
|
<group col="4">
|
|
<field name="invoice_method"/>
|
|
<field name="invoice_id" context="{'form_view_ref': 'account.invoice_form'}"/>
|
|
<field name="partner_invoice_id" attrs="{'readonly':[('invoice_method','=', 'none')],'required':[('invoice_method','!=','none')]}" groups="sale.group_delivery_invoice_address"/>
|
|
<field
|
|
name="pricelist_id" groups="product.group_sale_pricelist" context="{'product_id':product_id}"
|
|
attrs="{'readonly':[('invoice_method','=', 'none')]}"/>
|
|
</group>
|
|
<!-- <field name="invoice_id"/> -->
|
|
<separator string="Fees"/>
|
|
<field name="fees_lines" attrs="{'readonly': [('invoice_method','=', 'none')]}">
|
|
<form string="Fees">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h2>
|
|
<field name="name"/>
|
|
</h2>
|
|
<group string="Product Information">
|
|
<group>
|
|
<field name="to_invoice"/>
|
|
<field name="product_id" on_change="product_id_change(parent.pricelist_id, product_id, product_uom, product_uom_qty, parent.partner_id, parent.guarantee_limit, context)"/>
|
|
<label for="product_uom_qty"/>
|
|
<div>
|
|
<field name="product_uom_qty" string="Quantity" class="oe_inline"/>
|
|
<field name="product_uom" groups="product.group_uom" class="oe_inline"/>
|
|
</div>
|
|
</group>
|
|
<group>
|
|
<field name="price_unit"/>
|
|
<field widget="many2many_tags" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','<>','purchase')]"/>
|
|
<field name="price_subtotal"/>
|
|
</group>
|
|
</group>
|
|
<group string="History">
|
|
<group>
|
|
<field name="invoiced"/>
|
|
</group>
|
|
<group>
|
|
<field name="invoice_line_id" />
|
|
</group>
|
|
</group>
|
|
</form>
|
|
<tree string="Fees" editable="bottom">
|
|
<field name="product_id" on_change="product_id_change(parent.pricelist_id, product_id, product_uom, product_uom_qty, parent.partner_id,parent.guarantee_limit, context)"/>
|
|
<field name='name'/>
|
|
<field name="product_uom_qty" string="Quantity"/>
|
|
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
|
|
<field name="price_unit"/>
|
|
<field name="tax_id" domain="[('parent_id', '=', False), ('type_tax_use', '=', 'purchase')]" widget="many2many_tags"/>
|
|
<field name="to_invoice"/>
|
|
<field name="price_subtotal"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
<page string="Extra Info" groups="base.group_no_one">
|
|
<group>
|
|
<group>
|
|
<field name="move_id"/>
|
|
</group>
|
|
<group>
|
|
<field name="repaired"/>
|
|
<field name="invoiced"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
<page string="Notes">
|
|
<field name="internal_notes" placeholder="Add internal notes..."/>
|
|
<field name="quotation_notes" placeholder="Add quotation notes..."/>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids" widget="mail_followers"/>
|
|
<field name="message_ids" widget="mail_thread"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
|
|
<record id="view_repair_order_form_filter" model="ir.ui.view">
|
|
<field name="name">mrp.repair.select</field>
|
|
<field name="model">mrp.repair</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Reair Orders">
|
|
<field name="name" string="Reair Orders"/>
|
|
<field name="state"/>
|
|
<filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
|
|
<filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" />
|
|
<filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/>
|
|
<separator/>
|
|
<filter icon="terp-dolar" string="Invoiced" domain="[('invoiced','=',True)]"/>
|
|
<field name="product_id"/>
|
|
<field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
|
|
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
|
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
|
<filter string="Guarantee limit Month" icon="terp-go-month" domain="[]" context="{'group_by':'guarantee_limit'}" help="Guarantee limit by Month"/>
|
|
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
|
|
<record id="action_repair_order_tree" model="ir.actions.act_window">
|
|
<field name="name">Repair Orders</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">mrp.repair</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="search_view_id" ref="view_repair_order_form_filter"/>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to create a reparation order.
|
|
</p><p>
|
|
In a repair order, you can detail the components you remove,
|
|
add or replace and record the time you spent on the different
|
|
operations.
|
|
</p><p>
|
|
The repair order uses the warranty date on the Serial Number in
|
|
order to know if whether the repair should be invoiced to the
|
|
customer or not.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem action="action_repair_order_tree" id="menu_repair_order" parent="mrp.menu_mrp_manufacturing" groups="mrp.group_mrp_user" name="Repair Orders" sequence="50"/>
|
|
|
|
</data>
|
|
</openerp>
|