diff --git a/rma_purchase/__manifest__.py b/rma_purchase/__manifest__.py index d4b5b593..b355b907 100644 --- a/rma_purchase/__manifest__.py +++ b/rma_purchase/__manifest__.py @@ -3,12 +3,12 @@ { "name": "RMA Purchase", - "version": "12.0.1.0.0", + "version": "14.0.1.0.0", "category": "RMA", "summary": "RMA from PO", "license": "LGPL-3", "author": "Eficent, Odoo Community Association (OCA)", - "website": "https://github.com/OCA/account-budgeting", + "website": "https://github.com/OCA/https://github.com/ForgeFlow/stock-rma", "depends": ["rma_account", "purchase"], "data": [ "wizards/rma_order_line_make_purchase_order_view.xml", diff --git a/rma_purchase/models/purchase_order.py b/rma_purchase/models/purchase_order.py index 80be9c0c..37d9f784 100644 --- a/rma_purchase/models/purchase_order.py +++ b/rma_purchase/models/purchase_order.py @@ -8,7 +8,7 @@ class PurchaseOrder(models.Model): _inherit = "purchase.order" @api.model - def new(self, vals): + def new(self, vals, origin=None, ref=None): """Allows to propose a line based on the RMA information.""" res = super(PurchaseOrder, self).new(vals) rma_line_id = self.env.context.get("rma_line_id") diff --git a/rma_purchase/models/purchase_order_line.py b/rma_purchase/models/purchase_order_line.py index d49e2b47..70444eee 100644 --- a/rma_purchase/models/purchase_order_line.py +++ b/rma_purchase/models/purchase_order_line.py @@ -39,12 +39,11 @@ class PurchaseOrderLine(models.Model): name_get_uid=name_get_uid, ) - @api.multi def name_get(self): res = [] if self.env.context.get("rma"): for purchase in self: - invoices = self.env["account.invoice.line"].search( + invoices = self.env["account.move.line"].search( [("purchase_line_id", "=", purchase.id)] ) if purchase.order_id.name: @@ -57,8 +56,7 @@ class PurchaseOrderLine(models.Model): " ".join( str(x) for x in [ - inv.number - for inv in invoices.mapped("invoice_id") + inv.name for inv in invoices.mapped("move_id") ] ), purchase.product_id.name, diff --git a/rma_purchase/models/rma_operation.py b/rma_purchase/models/rma_operation.py index 2c9d6b3a..fd210876 100644 --- a/rma_purchase/models/rma_operation.py +++ b/rma_purchase/models/rma_operation.py @@ -18,7 +18,6 @@ class RmaOperation(models.Model): default="no", ) - @api.multi @api.constrains("purchase_policy") def _check_purchase_policy(self): if self.filtered(lambda r: r.purchase_policy != "no" and r.type != "supplier"): diff --git a/rma_purchase/models/rma_order.py b/rma_purchase/models/rma_order.py index 5e393367..65a72747 100644 --- a/rma_purchase/models/rma_order.py +++ b/rma_purchase/models/rma_order.py @@ -7,7 +7,6 @@ from odoo import api, fields, models class RmaOrder(models.Model): _inherit = "rma.order" - @api.multi def _compute_po_count(self): for rec in self: po_count = 0 @@ -20,7 +19,6 @@ class RmaOrder(models.Model): po_count = len(list(set(rma_line_po))) rec.po_count = po_count - @api.multi @api.depends("rma_line_ids") def _compute_origin_po_count(self): for rma in self: @@ -32,7 +30,6 @@ class RmaOrder(models.Model): 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] @@ -44,7 +41,6 @@ class RmaOrder(models.Model): 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] diff --git a/rma_purchase/models/rma_order_line.py b/rma_purchase/models/rma_order_line.py index 2ab4c118..c6ea0c0a 100644 --- a/rma_purchase/models/rma_order_line.py +++ b/rma_purchase/models/rma_order_line.py @@ -10,7 +10,6 @@ from odoo.addons import decimal_precision as dp class RmaOrderLine(models.Model): _inherit = "rma.order.line" - @api.multi def _compute_purchase_count(self): for rec in self: purchase_line_count = self.env["purchase.order.line"].search( @@ -18,7 +17,6 @@ class RmaOrderLine(models.Model): ) rec.purchase_count = len(purchase_line_count.mapped("order_id")) - @api.multi def _compute_purchase_order_lines(self): for rec in self: purchase_list = [] @@ -28,7 +26,6 @@ class RmaOrderLine(models.Model): purchase_list.append(line.id) rec.purchase_order_line_ids = [(6, 0, purchase_list)] - @api.multi def _compute_qty_purchase(self): for rec in self: rec.qty_purchased = rec._get_rma_purchased_qty() @@ -119,7 +116,6 @@ class RmaOrderLine(models.Model): self.purchase_policy = self.operation_id.purchase_policy or "no" return res - @api.multi def _prepare_rma_line_from_po_line(self, line): self.ensure_one() if not self.type: @@ -195,7 +191,6 @@ class RmaOrderLine(models.Model): self.update(data) self._remove_other_data_origin("purchase_order_line_id") - @api.multi @api.constrains("purchase_order_line_id", "partner_id") def _check_purchase_partner(self): for rec in self: @@ -210,14 +205,12 @@ class RmaOrderLine(models.Model): ) ) - @api.multi def _remove_other_data_origin(self, exception): res = super(RmaOrderLine, self)._remove_other_data_origin(exception) if not exception == "purchase_order_line_id": self.purchase_order_line_id = False return res - @api.multi def action_view_purchase_order(self): action = self.env.ref("purchase.purchase_rfq") result = action.read()[0] @@ -225,7 +218,6 @@ class RmaOrderLine(models.Model): result["domain"] = [("id", "in", orders.ids)] return result - @api.multi def _get_rma_purchased_qty(self): self.ensure_one() qty = 0.0 diff --git a/rma_purchase/security/ir.model.access.csv b/rma_purchase/security/ir.model.access.csv old mode 100755 new mode 100644 index e37a8852..c6779732 --- a/rma_purchase/security/ir.model.access.csv +++ b/rma_purchase/security/ir.model.access.csv @@ -1,3 +1,9 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_purchase_order_supplier_user,access_purchase_order,purchase.model_purchase_order,rma.group_rma_supplier_user,1,0,0,0 access_purchase_order_line_supplier_user,access_purchase_order_line,purchase.model_purchase_order_line,rma.group_rma_supplier_user,1,0,0,0 +access_rma_order_line_make_purchase_order_customer_user_item,rma.order.line.make.purchase.order.customer.user,model_rma_order_line_make_purchase_order,rma.group_rma_customer_user,1,1,1,1 +access_rma_order_line_make_purchase_order_supplier_user_item,rma.order.line.make.purchase.order.supplier.user,model_rma_order_line_make_purchase_order,rma.group_rma_supplier_user,1,1,1,1 +access_rma_order_line_make_purchase_order_item_customer_user_item,rma.order.line.make.purchase.order.item.customer.user,model_rma_order_line_make_purchase_order_item,rma.group_rma_customer_user,1,1,1,1 +access_rma_order_line_make_purchase_order_item_supplier_user_item,rma.order.line.make.purchase.order.item.supplier.user,model_rma_order_line_make_purchase_order_item,rma.group_rma_supplier_user,1,1,1,1 +access_rma_add_purchase_customer_user_item,rma.add.purchase.customer.user,model_rma_add_purchase,rma.group_rma_customer_user,1,1,1,1 +access_rma_add_purchase_supplier_user_item,rma.add.purchase.supplier.user,model_rma_add_purchase,rma.group_rma_supplier_user,1,1,1,1 diff --git a/rma_purchase/views/rma_order_line_view.xml b/rma_purchase/views/rma_order_line_view.xml index 1b07fcaa..55a900ba 100644 --- a/rma_purchase/views/rma_order_line_view.xml +++ b/rma_purchase/views/rma_order_line_view.xml @@ -4,7 +4,6 @@ Purchase Order purchase.order - form current form,tree diff --git a/rma_purchase/wizards/rma_add_purchase.py b/rma_purchase/wizards/rma_add_purchase.py index d09b458d..143ea44e 100644 --- a/rma_purchase/wizards/rma_add_purchase.py +++ b/rma_purchase/wizards/rma_add_purchase.py @@ -122,7 +122,6 @@ class RmaAddPurchase(models.TransientModel): existing_purchase_lines.append(rma_line.purchase_order_line_id) return existing_purchase_lines - @api.multi def add_lines(self): rma_line_obj = self.env["rma.order.line"] existing_purchase_lines = self._get_existing_purchase_lines() diff --git a/rma_purchase/wizards/rma_add_purchase.xml b/rma_purchase/wizards/rma_add_purchase.xml index e8644863..d32e81bd 100644 --- a/rma_purchase/wizards/rma_add_purchase.xml +++ b/rma_purchase/wizards/rma_add_purchase.xml @@ -6,11 +6,7 @@
- + @@ -62,8 +58,7 @@ Add Purchase Order ir.actions.act_window rma_add_purchase - rma.order - form + form new diff --git a/rma_purchase/wizards/rma_make_picking.py b/rma_purchase/wizards/rma_make_picking.py index a4b245ed..4c9d0a82 100644 --- a/rma_purchase/wizards/rma_make_picking.py +++ b/rma_purchase/wizards/rma_make_picking.py @@ -7,7 +7,6 @@ from odoo import api, fields, models class RmaMakePicking(models.TransientModel): _inherit = "rma_make_picking.wizard" - @api.returns("rma.order.line") def _prepare_item(self, line): res = super(RmaMakePicking, self)._prepare_item(line) res["purchase_order_line_id"] = line.purchase_order_line_id.id diff --git a/rma_purchase/wizards/rma_order_line_make_purchase_order.py b/rma_purchase/wizards/rma_order_line_make_purchase_order.py index 6ce06de0..273e2ec4 100644 --- a/rma_purchase/wizards/rma_order_line_make_purchase_order.py +++ b/rma_purchase/wizards/rma_order_line_make_purchase_order.py @@ -15,9 +15,7 @@ class RmaLineMakePurchaseOrder(models.TransientModel): partner_id = fields.Many2one( comodel_name="res.partner", - string="Supplier", required=False, - domain=[("supplier", "=", True)], readonly=1, ) item_ids = fields.One2many( @@ -101,7 +99,6 @@ class RmaLineMakePurchaseOrder(models.TransientModel): vals["price_unit"] = 0.0 return vals - @api.multi def create_purchase_order(self): res = [] purchase_obj = self.env["purchase.order"] @@ -145,3 +142,6 @@ class RmaLineMakePurchaseOrderItem(models.TransientModel): ) product_uom_id = fields.Many2one(comodel_name="uom.uom", string="UoM") free_of_charge = fields.Boolean(string="Free of Charge") + rma_line_id = fields.Many2one( + comodel_name="rma.order", string="RMA", ondelete="set null" + ) diff --git a/rma_purchase/wizards/rma_order_line_make_purchase_order_view.xml b/rma_purchase/wizards/rma_order_line_make_purchase_order_view.xml index d3c31b8a..73e9ce2a 100644 --- a/rma_purchase/wizards/rma_order_line_make_purchase_order_view.xml +++ b/rma_purchase/wizards/rma_order_line_make_purchase_order_view.xml @@ -55,7 +55,6 @@ Create RFQ ir.actions.act_window rma.order.line.make.purchase.order - form form new