diff --git a/rma_purchase/README.rst b/rma_purchase/README.rst index 49fbc152..9c0f713e 100644 --- a/rma_purchase/README.rst +++ b/rma_purchase/README.rst @@ -2,7 +2,7 @@ :alt: License LGPL-3 RMA Purchase -=========== +============ Purchase as RMA source diff --git a/rma_purchase/__openerp__.py b/rma_purchase/__openerp__.py index 6d287e68..19292925 100644 --- a/rma_purchase/__openerp__.py +++ b/rma_purchase/__openerp__.py @@ -6,9 +6,7 @@ 'version': '9.0.1.0.0', 'category': 'RMA', 'summary': 'RMA from PO', - 'description': """ - RMA from PO -""", + 'license': 'LGPL-3', 'author': 'Eficent', 'website': 'http://www.github.com/OCA/rma', 'depends': ['rma_account', 'purchase'], diff --git a/rma_purchase/models/rma_order.py b/rma_purchase/models/rma_order.py index 54121cc0..d10086df 100644 --- a/rma_purchase/models/rma_order.py +++ b/rma_purchase/models/rma_order.py @@ -19,13 +19,14 @@ class RmaOrder(models.Model): purchase_list.append(procurement_id.purchase_id.id) rec.po_count = len(list(set(purchase_list))) - @api.one + @api.multi def _compute_origin_po_count(self): po_list = [] - for rma_line in self.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) + 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))) po_count = fields.Integer(compute=_compute_po_count, diff --git a/rma_purchase/models/rma_order_line.py b/rma_purchase/models/rma_order_line.py index 8cd51869..e2d124de 100644 --- a/rma_purchase/models/rma_order_line.py +++ b/rma_purchase/models/rma_order_line.py @@ -8,28 +8,32 @@ from openerp.addons import decimal_precision as dp class RmaOrderLine(models.Model): _inherit = "rma.order.line" - @api.one + @api.multi def _compute_purchase_count(self): - purchase_list = [] - for procurement_id in self.procurement_ids: - if procurement_id.purchase_id and procurement_id.purchase_id.id: - purchase_list.append(procurement_id.purchase_id.id) - self.purchase_count = len(list(set(purchase_list))) + for rec in self: + purchase_list = [] + for procurement_id in rec.procurement_ids: + if procurement_id.purchase_id and \ + procurement_id.purchase_id.id: + purchase_list.append(procurement_id.purchase_id.id) + rec.purchase_count = len(list(set(purchase_list))) - @api.one + @api.multi @api.depends('procurement_ids.purchase_line_id') def _get_purchase_order_lines(self): - purchase_list = [] - for procurement_id in self.procurement_ids: - if procurement_id.purchase_line_id and \ - procurement_id.purchase_line_id.id: - purchase_list.append(procurement_id.purchase_line_id.id) - self.purchase_order_line_ids = [(6, 0, purchase_list)] + for rec in self: + purchase_list = [] + for procurement_id in rec.procurement_ids: + if procurement_id.purchase_line_id and \ + procurement_id.purchase_line_id.id: + purchase_list.append(procurement_id.purchase_line_id.id) + rec.purchase_order_line_ids = [(6, 0, purchase_list)] - @api.one + @api.multi @api.depends('procurement_ids.purchase_line_id') def _compute_qty_purchased(self): - self.qty_purchased = self._get_rma_purchased_qty() + for rec in self: + rec.qty_purchased = rec._get_rma_purchased_qty() purchase_count = fields.Integer(compute=_compute_purchase_count, string='# of Purchases', copy=False, diff --git a/rma_purchase/wizards/rma_add_purchase.py b/rma_purchase/wizards/rma_add_purchase.py index e80357f9..8ed0b436 100644 --- a/rma_purchase/wizards/rma_add_purchase.py +++ b/rma_purchase/wizards/rma_add_purchase.py @@ -2,8 +2,7 @@ # © 2017 Eficent Business and IT Consulting Services S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) -import time -from openerp import _, api, fields, models +from openerp import api, fields, models from openerp.exceptions import ValidationError @@ -45,11 +44,12 @@ class RmaAddPurchase(models.TransientModel): string='Purcahse Order Lines') def _prepare_rma_line_from_po_line(self, line): - operation = line.product_id.rma_operation_id and \ - line.product_id.rma_operation_id.id or False - if not operation: - operation = line.product_id.categ_id.rma_operation_id and \ - line.product_id.categ_id.rma_operation_id.id or False + if self.env.context.get('customer'): + operation = line.product_id.rma_customer_operation_id or \ + line.product_id.categ_id.rma_customer_operation_id + else: + operation = line.product_id.rma_supplier_operation_id or \ + line.product_id.categ_id.rma_supplier_operation_id data = { 'purchase_order_line_id': line.id, 'product_id': line.product_id.id, @@ -75,8 +75,8 @@ class RmaAddPurchase(models.TransientModel): {'in_route_id': operation.in_route_id.id or route, 'out_route_id': operation.out_route_id.id or route, 'receipt_policy': operation.receipt_policy, - 'location_id': operation.location_id.id or \ - self.env.ref('stock.stock_location_stock').id, + 'location_id': operation.location_id.id or + self.env.ref('stock.stock_location_stock').id, 'operation_id': operation.id, 'refund_policy': operation.refund_policy, 'delivery_policy': operation.delivery_policy diff --git a/rma_purchase/wizards/rma_make_picking.py b/rma_purchase/wizards/rma_make_picking.py index 38e40f95..be77fcbd 100644 --- a/rma_purchase/wizards/rma_make_picking.py +++ b/rma_purchase/wizards/rma_make_picking.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # © 2017 Eficent Business and IT Consulting Services S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) -from openerp import _, api, fields, models +from openerp import api, fields, models class RmaMakePicking(models.TransientModel):