mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
[FIX] crm_claim_rma : fix refund creation, missing claim_id and wrong tax_line
This commit is contained in:
@@ -34,13 +34,18 @@ class account_invoice(osv.osv):
|
|||||||
|
|
||||||
def _refund_cleanup_lines(self, cr, uid, lines, context=None):
|
def _refund_cleanup_lines(self, cr, uid, lines, context=None):
|
||||||
new_lines = []
|
new_lines = []
|
||||||
if context.get('claim_line_ids'):
|
if context.get('claim_line_ids') and lines and 'product_id' in lines[0]:#check if is an invoice_line
|
||||||
for claim_line_id in context.get('claim_line_ids'):
|
for claim_line_id in context.get('claim_line_ids'):
|
||||||
claim_info = self.pool.get('claim.line').read(cr, uid, claim_line_id[1], ['invoice_line_id', 'product_returned_quantity'], context=context)
|
claim_info = self.pool.get('claim.line').read(cr, uid, claim_line_id[1], ['invoice_line_id', 'product_returned_quantity'], context=context)
|
||||||
invoice_line_info = self.pool.get('account.invoice.line').read(cr, uid, claim_info['invoice_line_id'][0], context=context)
|
invoice_line_info = self.pool.get('account.invoice.line').read(cr, uid, claim_info['invoice_line_id'][0], context=context)
|
||||||
invoice_line_info['quantity'] = claim_info['product_returned_quantity']
|
invoice_line_info['quantity'] = claim_info['product_returned_quantity']
|
||||||
new_lines.append(invoice_line_info)
|
new_lines.append(invoice_line_info)
|
||||||
lines = new_lines
|
lines = new_lines
|
||||||
return super(account_invoice, self)._refund_cleanup_lines(cr, uid, lines, context=context)
|
result = super(account_invoice, self)._refund_cleanup_lines(cr, uid, lines, context=context)
|
||||||
|
return result
|
||||||
|
|
||||||
account_invoice()
|
def _prepare_refund(self, cr, uid, *args, **kwargs):
|
||||||
|
result = super(account_invoice, self)._prepare_refund(cr, uid, *args, **kwargs)
|
||||||
|
if kwargs.get('context') and kwargs['context'].get('claim_id'):
|
||||||
|
result['claim_id'] = kwargs['context']['claim_id']
|
||||||
|
return result
|
||||||
|
|||||||
@@ -231,7 +231,12 @@
|
|||||||
<button name="%(account.action_account_invoice_refund)d"
|
<button name="%(account.action_account_invoice_refund)d"
|
||||||
type='action' string='New Refund'
|
type='action' string='New Refund'
|
||||||
states='draft,open' icon="gtk-execute"
|
states='draft,open' icon="gtk-execute"
|
||||||
context="{'invoice_ids': [invoice_id], 'claim_line_ids': claim_line_ids, 'description': name}"/>
|
context="{
|
||||||
|
'invoice_ids': [invoice_id],
|
||||||
|
'claim_line_ids': claim_line_ids,
|
||||||
|
'description': name,
|
||||||
|
'claim_id': id,
|
||||||
|
}"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
Reference in New Issue
Block a user