mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
onchange_invoice_id now compute the warranty limit
This commit is contained in:
@@ -481,7 +481,7 @@ class crm_claim(orm.Model):
|
|||||||
return res
|
return res
|
||||||
|
|
||||||
def onchange_invoice_id(self, cr, uid, ids, invoice_id, warehouse_id,
|
def onchange_invoice_id(self, cr, uid, ids, invoice_id, warehouse_id,
|
||||||
context=None):
|
claim_type, claim_date, context=None):
|
||||||
invoice_line_obj = self.pool.get('account.invoice.line')
|
invoice_line_obj = self.pool.get('account.invoice.line')
|
||||||
invoice_obj = self.pool.get('account.invoice')
|
invoice_obj = self.pool.get('account.invoice')
|
||||||
claim_line_obj = self.pool.get('claim.line')
|
claim_line_obj = self.pool.get('claim.line')
|
||||||
@@ -497,20 +497,31 @@ class crm_claim(orm.Model):
|
|||||||
invoice_lines = invoice_line_obj.browse(cr, uid, invoice_line_ids,
|
invoice_lines = invoice_line_obj.browse(cr, uid, invoice_line_ids,
|
||||||
context=context)
|
context=context)
|
||||||
for invoice_line in invoice_lines:
|
for invoice_line in invoice_lines:
|
||||||
product_id = invoice_line.product_id and invoice_line.product_id.id or False
|
|
||||||
location_dest_id = claim_line_obj.get_destination_location(
|
location_dest_id = claim_line_obj.get_destination_location(
|
||||||
cr, uid, product_id,
|
cr, uid, invoice_line.product_id.id,
|
||||||
warehouse_id, context=context)
|
warehouse_id, context=context)
|
||||||
claim_lines.append({
|
line = {
|
||||||
'name': invoice_line.name,
|
'name': invoice_line.name,
|
||||||
'claim_origine': "none",
|
'claim_origine': "none",
|
||||||
'invoice_line_id': invoice_line.id,
|
'invoice_line_id': invoice_line.id,
|
||||||
'product_id': product_id,
|
'product_id': invoice_line.product_id.id,
|
||||||
'product_returned_quantity': invoice_line.quantity,
|
'product_returned_quantity': invoice_line.quantity,
|
||||||
'unit_sale_price': invoice_line.price_unit,
|
'unit_sale_price': invoice_line.price_unit,
|
||||||
'location_dest_id': location_dest_id,
|
'location_dest_id': location_dest_id,
|
||||||
'state': 'draft',
|
'state': 'draft',
|
||||||
})
|
}
|
||||||
|
try:
|
||||||
|
warranty = claim_line_obj._warranty_limit_values(
|
||||||
|
cr, uid, [], invoice_line.invoice_id,
|
||||||
|
claim_type, invoice_line.product_id,
|
||||||
|
claim_date, context=context)
|
||||||
|
except (InvoiceNoDate, ProductNoSupplier):
|
||||||
|
# we don't mind at this point if the warranty can't be
|
||||||
|
# computed and we don't want to block the user
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
line.update(warranty)
|
||||||
|
claim_lines.append(line)
|
||||||
value = {'claim_line_ids': claim_lines}
|
value = {'claim_line_ids': claim_lines}
|
||||||
delivery_address_id = False
|
delivery_address_id = False
|
||||||
if invoice_id:
|
if invoice_id:
|
||||||
|
|||||||
@@ -165,7 +165,7 @@
|
|||||||
<group name="Product Return">
|
<group name="Product Return">
|
||||||
<separator string="Product Return" colspan="4"/>
|
<separator string="Product Return" colspan="4"/>
|
||||||
<group>
|
<group>
|
||||||
<field name="invoice_id" on_change="onchange_invoice_id(invoice_id,warehouse_id,context)" domain="['|',('commercial_partner_id','=',partner_id),('partner_id','=',partner_id)]" />
|
<field name="invoice_id" on_change="onchange_invoice_id(invoice_id, warehouse_id, claim_type, date, context)" domain="['|',('commercial_partner_id','=',partner_id),('partner_id','=',partner_id)]" />
|
||||||
<field name="delivery_address_id" context="{'tree_view_ref': 'crm_claim_rma.view_partner_contact_tree', 'search_default_parent_id': partner_id}"/>
|
<field name="delivery_address_id" context="{'tree_view_ref': 'crm_claim_rma.view_partner_contact_tree', 'search_default_parent_id': partner_id}"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
|
|||||||
Reference in New Issue
Block a user