diff --git a/rma_repair/__manifest__.py b/rma_repair/__manifest__.py
index 9a3af5c6..389c0f28 100644
--- a/rma_repair/__manifest__.py
+++ b/rma_repair/__manifest__.py
@@ -2,7 +2,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "RMA Repair",
- "version": "16.0.1.0.0",
+ "version": "17.0.1.0.0",
"license": "AGPL-3",
"category": "RMA",
"summary": "Links RMA with Repairs.",
@@ -16,7 +16,6 @@
"views/repair_view.xml",
"wizards/rma_order_line_make_repair_view.xml",
"views/rma_order_line_view.xml",
- "data/repair_sequence.xml",
],
"installable": True,
}
diff --git a/rma_repair/data/repair_sequence.xml b/rma_repair/data/repair_sequence.xml
deleted file mode 100644
index 73ba79df..00000000
--- a/rma_repair/data/repair_sequence.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- RO
-
-
-
diff --git a/rma_repair/models/repair.py b/rma_repair/models/repair.py
index f48b1d93..1d030017 100644
--- a/rma_repair/models/repair.py
+++ b/rma_repair/models/repair.py
@@ -13,6 +13,3 @@ class RepairOrder(models.Model):
under_warranty = fields.Boolean(
related="rma_line_id.under_warranty",
)
- payment_state = fields.Selection(
- related="invoice_id.payment_state", string="Payment Status"
- )
diff --git a/rma_repair/models/rma_operation.py b/rma_repair/models/rma_operation.py
index 6026e7b9..c72e2665 100644
--- a/rma_repair/models/rma_operation.py
+++ b/rma_repair/models/rma_operation.py
@@ -24,17 +24,6 @@ class RmaOperation(models.Model):
comodel_name="stock.location",
help="Indicate here the source location of the product to be repaired",
)
- repair_invoice_method = fields.Selection(
- selection=[
- ("none", "No Invoice"),
- ("b4repair", "Before Repair"),
- ("after_repair", "After Repair"),
- ],
- help="Selecting 'Before Repair' or 'After Repair' will allow you "
- "to generate invoice before or after the repair is done "
- "respectively. 'No invoice' means you don't want to generate "
- "invoice for this repair order.",
- )
repair_route_id = fields.Many2one(
comodel_name="stock.route",
string="Repair Route",
diff --git a/rma_repair/models/rma_order_line.py b/rma_repair/models/rma_order_line.py
index d9a313d9..c90ddcb2 100644
--- a/rma_repair/models/rma_order_line.py
+++ b/rma_repair/models/rma_order_line.py
@@ -48,7 +48,6 @@ class RmaOrderLine(models.Model):
inverse_name="rma_line_id",
string="Repair Orders",
readonly=True,
- states={"draft": [("readonly", False)]},
copy=False,
)
qty_to_repair = fields.Float(
@@ -95,36 +94,6 @@ class RmaOrderLine(models.Model):
selection_add=[("repair", "Based on Repair Quantities")],
ondelete={"repair": lambda recs: recs.write({"delivery_policy": "no"})},
)
- qty_to_pay = fields.Float(
- compute="_compute_qty_to_pay",
- digits="Product Unit of Measure",
- )
-
- @api.depends(
- "delivery_policy",
- "product_qty",
- "type",
- "repair_ids",
- "repair_ids.state",
- "repair_ids.invoice_method",
- "repair_type",
- "repair_ids.invoice_id",
- "repair_ids.invoice_id.payment_state",
- )
- def _compute_qty_to_pay(self):
- for rec in self:
- qty_to_pay = 0.0
- if rec.delivery_policy == "repair":
- for repair in rec.repair_ids.filtered(
- lambda r: r.invoice_method != "none"
- and r.invoice_id
- and r.invoice_id.state != "cancel"
- and r.invoice_id.payment_state in ["not_paid", "partial"]
- ):
- qty_to_pay += self.uom_id._compute_quantity(
- repair.product_qty, repair.product_uom
- )
- rec.qty_to_pay = qty_to_pay
def action_view_repair_order(self):
action = self.env.ref("repair.action_repair_order_tree")
@@ -168,7 +137,7 @@ class RmaOrderLine(models.Model):
@api.onchange("operation_id")
def _onchange_operation_id(self):
- result = super(RmaOrderLine, self)._onchange_operation_id()
+ result = super()._onchange_operation_id()
if self.operation_id:
self.repair_type = self.operation_id.repair_type or "no"
return result
@@ -184,13 +153,10 @@ class RmaOrderLine(models.Model):
"repair_ids",
"repair_type",
"repair_ids.state",
- "qty_to_pay",
- "repair_ids.invoice_id",
- "repair_ids.payment_state",
)
def _compute_qty_to_deliver(self):
- res = super(RmaOrderLine, self)._compute_qty_to_deliver()
- for rec in self.filtered(lambda l: l.delivery_policy == "repair"):
+ res = super()._compute_qty_to_deliver()
+ for rec in self.filtered(lambda line: line.delivery_policy == "repair"):
rec.qty_to_deliver = rec.qty_repaired - rec.qty_delivered
return res
diff --git a/rma_repair/models/stock_move.py b/rma_repair/models/stock_move.py
index e1c65cc3..85094922 100644
--- a/rma_repair/models/stock_move.py
+++ b/rma_repair/models/stock_move.py
@@ -13,7 +13,7 @@ class StockMove(models.Model):
)
def _is_in_out_rma_move(self, op, states, location_type):
- res = super(StockMove, self)._is_in_out_rma_move(op, states, location_type)
+ res = super()._is_in_out_rma_move(op, states, location_type)
if self.is_rma_repair_transfer:
return False
return res
diff --git a/rma_repair/tests/test_rma_repair.py b/rma_repair/tests/test_rma_repair.py
index 4f26edcf..f4f70324 100644
--- a/rma_repair/tests/test_rma_repair.py
+++ b/rma_repair/tests/test_rma_repair.py
@@ -8,7 +8,7 @@ from odoo.tests import common
class TestRmaRepair(common.SingleTransactionCase):
@classmethod
def setUpClass(cls):
- super(TestRmaRepair, cls).setUpClass()
+ super().setUpClass()
cls.rma_obj = cls.env["rma.order"]
cls.rma_line_obj = cls.env["rma.order.line"]
@@ -16,7 +16,6 @@ class TestRmaRepair(common.SingleTransactionCase):
cls.rma_add_invoice_wiz = cls.env["rma_add_account_move"]
cls.rma_make_repair_wiz = cls.env["rma.order.line.make.repair"]
cls.rma_make_picking = cls.env["rma_make_picking.wizard"]
- cls.repair_line_obj = cls.env["repair.line"]
cls.acc_obj = cls.env["account.account"]
cls.inv_obj = cls.env["account.move"]
cls.invl_obj = cls.env["account.move.line"]
@@ -262,7 +261,7 @@ class TestRmaRepair(common.SingleTransactionCase):
self.assertEqual(repair_transfer_move.location_id, self.stock_rma_location)
self.assertEqual(repair_transfer_move.product_qty, 15.0)
self.assertEqual(repair_transfer_move.product_id, rma.product_id)
- rma.repair_ids.action_repair_confirm()
+ rma.repair_ids.action_repair_start()
self.assertEqual(rma.repair_count, 1)
self.assertEqual(rma.qty_to_repair, 0.0)
self.assertEqual(rma.qty_repaired, 0.0)
@@ -298,7 +297,7 @@ class TestRmaRepair(common.SingleTransactionCase):
picking = self.env["stock.picking"].browse(res["res_id"])
picking.action_assign()
for mv in picking.move_ids:
- mv.quantity_done = mv.product_uom_qty
+ mv.quantity = mv.product_uom_qty
picking._action_done()
self.assertEqual(rma.repair_transfer_count, 0)
self.assertEqual(rma.qty_to_deliver, 0.0)
@@ -318,31 +317,11 @@ class TestRmaRepair(common.SingleTransactionCase):
self.assertEqual(repair_transfer_move.location_id, self.stock_rma_location)
self.assertEqual(repair_transfer_move.product_id, rma.product_id)
repair = rma.repair_ids
- line = self.repair_line_obj.create(
- {
- "name": "consume stuff to repair",
- "repair_id": repair.id,
- "type": "add",
- "product_id": self.material.id,
- "product_uom": self.material.uom_id.id,
- "product_uom_qty": 1.0,
- "location_id": self.stock_location.id,
- "location_dest_id": self.stock_location.id,
- "price_unit": 10.0,
- }
- )
- line.onchange_product_id()
- repair.invoice_method = "after_repair"
- repair.action_repair_confirm()
+ repair.action_validate()
repair.action_repair_start()
repair.action_repair_end()
- self.assertEqual(rma.qty_to_pay, 0.0)
- repair.action_repair_invoice_create()
self.assertEqual(rma.qty_repaired, 1.0)
self.assertEqual(rma.qty_to_deliver, 1.0)
- repair.invoice_id.action_post()
- self.assertEqual(repair.payment_state, "not_paid")
- self.assertEqual(rma.qty_to_pay, 1.0)
self.assertEqual(rma.qty_repaired, 1.0)
self.assertEqual(rma.delivery_policy, "repair")
self.assertEqual(rma.qty_delivered, 0.0)
diff --git a/rma_repair/views/repair_view.xml b/rma_repair/views/repair_view.xml
index 894f897f..15647280 100644
--- a/rma_repair/views/repair_view.xml
+++ b/rma_repair/views/repair_view.xml
@@ -6,7 +6,7 @@
repair.order
-
+
diff --git a/rma_repair/views/rma_operation_view.xml b/rma_repair/views/rma_operation_view.xml
index 7ee81bc3..b781d03a 100644
--- a/rma_repair/views/rma_operation_view.xml
+++ b/rma_repair/views/rma_operation_view.xml
@@ -20,7 +20,6 @@
-
diff --git a/rma_repair/views/rma_order_line_view.xml b/rma_repair/views/rma_order_line_view.xml
index a6a52716..bcf07d1f 100644
--- a/rma_repair/views/rma_order_line_view.xml
+++ b/rma_repair/views/rma_order_line_view.xml
@@ -13,7 +13,7 @@
class="oe_stat_button"
icon="fa-wrench"
groups="stock.group_stock_user"
- attrs="{'invisible': [('repair_count', '=', 0)]}"
+ invisible="repair_count == 0"
>
-
+
-
@@ -49,7 +48,7 @@
-
+
@@ -65,13 +64,13 @@
name="%(action_rma_order_line_make_repair)d"
string="Create Repair Order"
class="oe_highlight"
- attrs="{'invisible':['|', '|', ('type', '!=', 'customer'), '|', ('qty_to_repair', '=', 0), ('qty_to_repair', '<', 0), ('state', '!=', 'approved')]}"
+ invisible="type != 'customer' or qty_to_repair == 0 or qty_to_repair < 0 or state != 'approved'"
type="action"
/>
diff --git a/rma_repair/views/rma_order_view.xml b/rma_repair/views/rma_order_view.xml
index 60463e51..c2c77a54 100644
--- a/rma_repair/views/rma_order_view.xml
+++ b/rma_repair/views/rma_order_view.xml
@@ -13,7 +13,7 @@
class="oe_stat_button"
icon="fa-wrench"
groups="stock.group_stock_user"
- attrs="{'invisible':[('type', '!=', 'customer')]}"
+ invisible="type != 'customer'"
>
rma.order.line.make.repair
form
-