changeset f147d1316f01 in modules/stock_lot_sled:default
details:
https://hg.tryton.org/modules/stock_lot_sled?cmd=changeset;node=f147d1316f01
description:
Add wizard to add lots and sequence for lot number
issue9800
review326511002
diffstat:
__init__.py | 5 +++++
stock.py | 25 ++++++++++++++++++++++---
stock.xml | 6 ++++++
3 files changed, 33 insertions(+), 3 deletions(-)
diffs (93 lines):
diff -r 961ba91fb1a6 -r f147d1316f01 __init__.py
--- a/__init__.py Sat Dec 19 17:08:47 2020 +0100
+++ b/__init__.py Wed Feb 03 21:19:06 2021 +0100
@@ -5,6 +5,10 @@
from . import product
from . import stock
+from .stock import LotSledMixin
+
+__all__ = ['LotSledMixin', 'register']
+
def register():
Pool.register(
@@ -13,6 +17,7 @@
stock.Configuration,
stock.ConfigurationLotShelfLife,
stock.Lot,
+ stock.MoveAddLotsStartLot,
stock.Move,
stock.Period,
module='stock_lot_sled', type_='model')
diff -r 961ba91fb1a6 -r f147d1316f01 stock.py
--- a/stock.py Sat Dec 19 17:08:47 2020 +0100
+++ b/stock.py Wed Feb 03 21:19:06 2021 +0100
@@ -45,8 +45,7 @@
shelf_life_delay = shelf_life_delay
-class Lot(metaclass=PoolMeta):
- __name__ = 'stock.lot'
+class LotSledMixin:
shelf_life_expiration_date = fields.Date('Shelf Life Expiration Date',
states={
@@ -85,7 +84,7 @@
pool = Pool()
Date = pool.get('ir.date')
try:
- super(Lot, self).on_change_product()
+ super().on_change_product()
except AttributeError:
pass
if self.product:
@@ -99,6 +98,10 @@
self.expiration_date = (today
+ datetime.timedelta(days=self.product.expiration_time))
+
+class Lot(LotSledMixin, metaclass=PoolMeta):
+ __name__ = 'stock.lot'
+
@classmethod
def write(cls, *args):
super(Lot, cls).write(*args)
@@ -138,6 +141,22 @@
move=move.rec_name))
+class MoveAddLotsStartLot(LotSledMixin, metaclass=PoolMeta):
+ __name__ = 'stock.move.add.lots.start.lot'
+
+ @fields.depends('shelf_life_expiration_date', 'expiration_date')
+ def _set_lot_values(self, lot):
+ super()._set_lot_values(lot)
+ self.shelf_life_expiration_date = lot.shelf_life_expiration_date
+ self.expiration_date = lot.expiration_date
+
+ def _get_lot_values(self, move):
+ values = super()._get_lot_values(move)
+ values['shelf_life_expiration_date'] = self.shelf_life_expiration_date
+ values['expiration_date'] = self.expiration_date
+ return values
+
+
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
diff -r 961ba91fb1a6 -r f147d1316f01 stock.xml
--- a/stock.xml Sat Dec 19 17:08:47 2020 +0100
+++ b/stock.xml Wed Feb 03 21:19:06 2021 +0100
@@ -28,5 +28,11 @@
<field name="inherit" ref="stock_lot.lot_view_tree"/>
<field name="name">lot_tree</field>
</record>
+
+ <record model="ir.ui.view" id="move_add_lots_start_lot_view_list">
+ <field name="model">stock.move.add.lots.start.lot</field>
+ <field name="inherit"
ref="stock_lot.move_add_lots_start_lot_view_list"/>
+ <field name="name">lot_tree</field>
+ </record>
</data>
</tryton>