Merge pull request #23 from bakeupboys/93-16.0-add_batch_product_regeneration

[IMP] nfu_sale_order_batch_packaging: add regeneration of batch products
This commit is contained in:
madmooose 2024-10-15 12:09:35 +02:00 committed by GitHub
commit 3e5651f4a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 37 additions and 7 deletions

View file

@ -36,6 +36,7 @@ Changelog
:0.0.1: Initial module.
:1.0.0: rename to nfu_sale_order_batch_packaging
:1.1.0: Live
:1.2.0: Add regeneration action for batch products
Bug Tracker
===========

View file

@ -4,7 +4,7 @@
"author": "BAKEUP",
"website": "https://www.bakeup.org",
"category": "Sale",
"version": "16.0.1.1.0",
"version": "16.0.1.2.0",
"depends": ["sale", "sale_order_batch"],
"data": [
"views/sale_order_views.xml",

View file

@ -1,2 +1,3 @@
from . import sale_order_batch
from . import sale_order_line
from . import sale_order_batch_product

View file

@ -0,0 +1,11 @@
from odoo import models
class SaleOrderBatch(models.Model):
_inherit = "sale.order.batch"
def action_recompute_products(self):
for batch in self:
batch.product_ids.unlink()
for line in batch.sale_order_line_ids:
line._update_batch_product()

View file

@ -1,3 +1,4 @@
:0.0.1: Initial module.
:1.0.0: rename to nfu_sale_order_batch_packaging
:1.1.0: Live
:1.2.0: Add regeneration action for batch products

View file

@ -397,6 +397,8 @@ and adds a packaging default to sale order batch.</p>
</tr>
<tr class="field"><th class="field-name">1.1.0:</th><td class="field-body">Live</td>
</tr>
<tr class="field"><th class="field-name">1.2.0:</th><td class="field-body">Add regeneration action for batch products</td>
</tr>
</tbody>
</table>
</div>

View file

@ -1,5 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_update_batch_products_binding" model="ir.actions.server">
<field name="name">Regenerate Products</field>
<field name="model_id" ref="model_sale_order_batch"/>
<field name="binding_model_id" ref="model_sale_order_batch"/>
<field name="state">code</field>
<field name="code">
for batch in records:
batch.action_recompute_products()
</field>
</record>
<record id="view_order_batch_form" model="ir.ui.view">
<field name="name">sale.order.batch.form.product.min_max_qty</field>
<field name="model">sale.order.batch</field>

View file

@ -36,6 +36,7 @@ Changelog
:0.0.1: Initial module.
:1.0.0: Add Multi Company ability
:1.0.1: rename product creation methode
Bug Tracker
===========

View file

@ -4,7 +4,7 @@
"author": "BAKEUP",
"website": "https://www.bakeup.org",
"category": "Sale",
"version": "16.0.1.0.0",
"version": "16.0.1.0.1",
"depends": ["sale", "product"],
"data": [
"data/ir_sequence_data.xml",

View file

@ -52,5 +52,5 @@ class SaleOrder(models.Model):
raise UserError(_(f"Sale Order not in State Draft or Sent: {', '.join(invalid_orders)}"))
res = super().write(vals)
if "batch_id" in vals:
self.order_line._update_batch_products()
self.order_line._update_batch_product()
return res

View file

@ -6,7 +6,7 @@ class SaleOrderLine(models.Model):
batch_id = fields.Many2one(related="order_id.batch_id")
def _update_batch_products(self):
def _update_batch_product(self):
for order_line in self:
batch_id = order_line.order_id.batch_id
if batch_id:
@ -19,5 +19,5 @@ class SaleOrderLine(models.Model):
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
res._update_batch_products()
res._update_batch_product()
return res

View file

@ -1,2 +1,3 @@
:0.0.1: Initial module.
:1.0.0: Add Multi Company ability
:1.0.1: rename product creation methode

View file

@ -396,6 +396,8 @@ anymore as log as they are part of a batch. Only Sale Orders in state Qutotation
</tr>
<tr class="field"><th class="field-name">1.0.0:</th><td class="field-body">Add Multi Company ability</td>
</tr>
<tr class="field"><th class="field-name">1.0.1:</th><td class="field-body">rename product creation methode</td>
</tr>
</tbody>
</table>
</div>