Skip to content

Commit

Permalink
[FIX] Suspend security at invoice split for sale and purchase
Browse files Browse the repository at this point in the history
  • Loading branch information
adrienpeiffer committed Sep 14, 2016
1 parent ebae538 commit aa51451
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 6 deletions.
1 change: 1 addition & 0 deletions account_invoice_split_purchase/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
'depends': [
'account_invoice_split',
'purchase',
'base_suspend_security',
],
'auto_install': True,
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,15 @@ class AccountInvoiceSplit(models.TransientModel):
def _split_invoice(self):
new_invoice_id = super(AccountInvoiceSplit, self)._split_invoice()
invoice = self.env['account.invoice'].browse([new_invoice_id])[0]
self = self.suspend_security()
po_ids = set([])
for line in invoice.invoice_line:
for line in invoice.suspend_security().invoice_line:
if line.purchase_line_id.id:
po_ids.add(line.purchase_line_id.order_id.id)
# Link purchase line with the new invoice line
line.purchase_line_id.invoice_lines = [(4, line.id)]
purchase_orders = self.env['purchase.order'].browse(list(po_ids))
purchase_orders =\
self.suspend_security().env['purchase.order'].browse(list(po_ids))
# Link the new invoice with related purchase order
purchase_orders.write({'invoice_ids': [(4, invoice.id)]})
return new_invoice_id
Expand All @@ -53,5 +55,5 @@ def _get_invoice_line_values(self):
res = super(AccountInvoiceSplitLine, self)\
._get_invoice_line_values()
res['purchase_line_id'] = \
self.origin_invoice_line_id.purchase_line_id.id
self.suspend_security().origin_invoice_line_id.purchase_line_id.id
return res
1 change: 1 addition & 0 deletions account_invoice_split_sale/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
'depends': [
'account_invoice_split',
'sale',
'base_suspend_security',
],
'auto_install': True,
}
7 changes: 4 additions & 3 deletions account_invoice_split_sale/wizard/account_invoice_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ class AccountInvoiceSplit(models.TransientModel):
def _create_invoice(self, invoice_to_split, invoice_lines):
new_invoice = super(AccountInvoiceSplit, self)\
._create_invoice(invoice_to_split, invoice_lines)
so = self.env['sale.order'].search([('order_line.invoice_lines', 'in',
new_invoice.invoice_line.ids)])
so = self.suspend_security().env['sale.order']\
.search([('order_line.invoice_lines', 'in',
new_invoice.invoice_line.ids)])
so.write({'invoice_ids': [(4, new_invoice.id)]})
# Reevaluates sale order workflow instance
so.step_workflow()
Expand All @@ -48,7 +49,7 @@ class AccountInvoiceSplitLine(models.TransientModel):
def _create_invoice_line(self):
new_invoice_line = \
super(AccountInvoiceSplitLine, self)._create_invoice_line()
so_lines = self.env['sale.order.line']\
so_lines = self.suspend_security().env['sale.order.line']\
.search([('invoice_lines', 'in',
[self.origin_invoice_line_id.id])])
so_lines.write({'invoice_lines': [(4, new_invoice_line.id)]})
Expand Down

0 comments on commit aa51451

Please sign in to comment.