[9.0][IMP] rma_purchase:

* remove unneded copy and ondelete attributes.
* simplify action_view methods.
* fix rma line supplier view.
* fix wizard.
* extend README.
* minor extra fixes.
This commit is contained in:
lreficent
2017-08-25 17:03:25 +02:00
committed by Chanakya Soni
parent d106a49ce2
commit b95bee0e6a
6 changed files with 129 additions and 141 deletions

View File

@@ -11,51 +11,34 @@ class RmaOrder(models.Model):
@api.multi
def _compute_po_count(self):
for rec in self:
purchase_list = []
for line in rec.rma_line_ids:
for procurement_id in line.procurement_ids:
if procurement_id.purchase_id and \
procurement_id.purchase_id.id:
purchase_list.append(procurement_id.purchase_id.id)
rec.po_count = len(list(set(purchase_list)))
purchases = rec.mapped('rma_line_ids.procurement_ids.purchase_id')
rec.po_count = len(purchases)
@api.multi
def _compute_origin_po_count(self):
po_list = []
for rec in self:
for rma_line in rec.rma_line_ids:
if rma_line.purchase_order_line_id and \
rma_line.purchase_order_line_id.id:
po_list.append(rma_line.purchase_order_line_id.order_id.id)
self.origin_po_count = len(list(set(po_list)))
for rma in self:
purchases = rma.mapped(
'rma_line_ids.purchase_order_line_id.order_id')
rma.origin_po_count = len(purchases)
po_count = fields.Integer(compute=_compute_po_count,
string='# of PO',
copy=False, default=0)
origin_po_count = fields.Integer(compute=_compute_origin_po_count,
string='# of Origin PO', copy=False,
default=0)
po_count = fields.Integer(
compute='_compute_po_count', string='# of PO')
origin_po_count = fields.Integer(
compute='_compute_origin_po_count', string='# of Origin PO')
@api.multi
def action_view_purchase_order(self):
action = self.env.ref('purchase.purchase_rfq')
result = action.read()[0]
order_ids = []
for line in self.rma_line_ids:
for procurement_id in line.procurement_ids:
order_ids.append(procurement_id.purchase_id.id)
result['domain'] = [('id', 'in', order_ids)]
po_ids = self.mapped('rma_line_ids.procurement_ids.purchase_id').ids
result['domain'] = [('id', 'in', po_ids)]
return result
@api.multi
def action_view_origin_purchase_order(self):
action = self.env.ref('purchase.purchase_rfq')
result = action.read()[0]
order_ids = []
for rma_line in self.rma_line_ids:
if rma_line.purchase_order_line_id and \
rma_line.purchase_order_line_id.id:
order_ids.append(rma_line.purchase_order_line_id.order_id.id)
result['domain'] = [('id', 'in', order_ids)]
po_ids = self.mapped(
'rma_line_ids.purchase_order_line_id.order_id').ids
result['domain'] = [('id', 'in', po_ids)]
return result