mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
@@ -35,9 +35,9 @@ class Rma(models.Model):
|
|||||||
def _compute_allowed_picking_ids(self):
|
def _compute_allowed_picking_ids(self):
|
||||||
domain = [("state", "=", "done"), ("picking_type_id.code", "=", "outgoing")]
|
domain = [("state", "=", "done"), ("picking_type_id.code", "=", "outgoing")]
|
||||||
for rec in self:
|
for rec in self:
|
||||||
# if rec.partner_id:
|
if rec.partner_id:
|
||||||
commercial_partner = rec.partner_id.commercial_partner_id
|
commercial_partner = rec.partner_id.commercial_partner_id
|
||||||
domain.append(("partner_id", "child_of", commercial_partner.id))
|
domain.append(("partner_id", "child_of", commercial_partner.id))
|
||||||
if rec.order_id:
|
if rec.order_id:
|
||||||
domain.append(("sale_id", "=", rec.order_id.id))
|
domain.append(("sale_id", "=", rec.order_id.id))
|
||||||
rec.allowed_picking_ids = self.env["stock.picking"].search(domain)
|
rec.allowed_picking_ids = self.env["stock.picking"].search(domain)
|
||||||
@@ -48,7 +48,7 @@ class Rma(models.Model):
|
|||||||
if rec.order_id:
|
if rec.order_id:
|
||||||
order_move = rec.order_id.order_line.mapped("move_ids")
|
order_move = rec.order_id.order_line.mapped("move_ids")
|
||||||
rec.allowed_move_ids = order_move.filtered(
|
rec.allowed_move_ids = order_move.filtered(
|
||||||
lambda r: r.picking_id == self.picking_id
|
lambda r: r.picking_id == self.picking_id and r.state == "done"
|
||||||
).ids
|
).ids
|
||||||
else:
|
else:
|
||||||
rec.allowed_move_ids = self.picking_id.move_lines.ids
|
rec.allowed_move_ids = self.picking_id.move_lines.ids
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ class SaleOrderLineRmaWizard(models.TransientModel):
|
|||||||
r.sale_line_id == record.sale_line_id
|
r.sale_line_id == record.sale_line_id
|
||||||
and r.sale_line_id.product_id == record.product_id
|
and r.sale_line_id.product_id == record.product_id
|
||||||
and r.sale_line_id.order_id == record.order_id
|
and r.sale_line_id.order_id == record.order_id
|
||||||
|
and r.state == "done"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@@ -169,7 +170,9 @@ class SaleOrderLineRmaWizard(models.TransientModel):
|
|||||||
line = record.order_id.order_line.filtered(
|
line = record.order_id.order_line.filtered(
|
||||||
lambda r: r.product_id == record.product_id
|
lambda r: r.product_id == record.product_id
|
||||||
)
|
)
|
||||||
record.allowed_picking_ids = line.mapped("move_ids.picking_id")
|
record.allowed_picking_ids = line.mapped("move_ids.picking_id").filtered(
|
||||||
|
lambda x: x.state == "done"
|
||||||
|
)
|
||||||
|
|
||||||
def _prepare_rma_values(self):
|
def _prepare_rma_values(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
|
|||||||
@@ -25,7 +25,11 @@
|
|||||||
options="{'no_create': True}"
|
options="{'no_create': True}"
|
||||||
/>
|
/>
|
||||||
<field name="allowed_picking_ids" invisible="1" />
|
<field name="allowed_picking_ids" invisible="1" />
|
||||||
<field name="picking_id" options="{'no_create': True}" />
|
<field
|
||||||
|
name="picking_id"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
required="1"
|
||||||
|
/>
|
||||||
<field name="operation_id" />
|
<field name="operation_id" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
Reference in New Issue
Block a user