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):
|
||||
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'):
|
||||
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['quantity'] = claim_info['product_returned_quantity']
|
||||
new_lines.append(invoice_line_info)
|
||||
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"
|
||||
type='action' string='New Refund'
|
||||
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>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user