summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/stock_picking.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-02-11 09:48:55 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-02-11 09:48:55 +0700
commitc99bf4c49859450ce4cb081c920edda2077b3b1a (patch)
tree05e6a26967a175f3670313668ddc5938eede261b /indoteknik_custom/models/stock_picking.py
parent8c87a6c35b2242ee1804e1955bbb216c8c86de4d (diff)
push
Diffstat (limited to 'indoteknik_custom/models/stock_picking.py')
-rw-r--r--indoteknik_custom/models/stock_picking.py34
1 files changed, 33 insertions, 1 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py
index ec761900..3f888b02 100644
--- a/indoteknik_custom/models/stock_picking.py
+++ b/indoteknik_custom/models/stock_picking.py
@@ -16,6 +16,8 @@ _logger = logging.getLogger(__name__)
class StockPicking(models.Model):
_inherit = 'stock.picking'
+ scan_koli_lines = fields.One2many('scan.koli', 'picking_id', string='Scan Koli', auto_join=True)
+ check_koli_lines = fields.One2many('check.koli', 'picking_id', string='Check Koli', auto_join=True)
check_product_lines = fields.One2many('check.product', 'picking_id', string='Check Product', auto_join=True)
barcode_product_lines = fields.One2many('barcode.product', 'picking_id', string='Barcode Product', auto_join=True)
is_internal_use = fields.Boolean('Internal Use', help='flag which is internal use or not')
@@ -122,6 +124,8 @@ class StockPicking(models.Model):
('cancel', 'Cancelled'),
], string='Status Reserve', readonly=True, tracking=True, help="The current state of the stock picking.")
notee = fields.Text(string="Note")
+ quantity_koli = fields.Float(string="Quantity Koli")
+ source_koli_id = fields.Many2one('stock.picking', string="Source Koli")
@api.model
def _compute_dokumen_tanda_terima(self):
@@ -166,6 +170,14 @@ class StockPicking(models.Model):
lalamove_image_url = fields.Char(string="Lalamove Image URL")
lalamove_image_html = fields.Html(string="Lalamove Image", compute="_compute_lalamove_image_html")
+ @api.onchange('quantity_koli')
+ def _onchange_quantity_koli(self):
+ self.check_koli_lines = [(5, 0, 0)]
+ self.check_koli_lines = [(0, 0, {
+ 'koli': f"{self.name}/{str(i+1).zfill(3)}",
+ 'picking_id': self.id,
+ }) for i in range(int(self.quantity_koli))]
+
def _compute_lalamove_image_html(self):
for record in self:
if record.lalamove_image_url:
@@ -1223,6 +1235,7 @@ class CheckKoli(models.Model):
_name = 'check.koli'
_description = 'Check Koli'
_order = 'picking_id, id'
+ _rec_name = 'koli'
picking_id = fields.Many2one(
'stock.picking',
@@ -1232,4 +1245,23 @@ class CheckKoli(models.Model):
index=True,
copy=False,
)
- product_id = fields.(string='Koli') \ No newline at end of file
+ koli = fields.Char(string='Koli')
+
+class ScanKoli(models.Model):
+ _name = 'scan.koli'
+ _description = 'Scan Koli'
+ _order = 'picking_id, id'
+
+ picking_id = fields.Many2one(
+ 'stock.picking',
+ string='Picking Reference',
+ required=True,
+ ondelete='cascade',
+ index=True,
+ copy=False,
+ )
+ koli_id = fields.Many2one('check.koli', string='Koli')
+
+ @api.constrains('koli_id')
+ def _constrains_koli_id(self):
+ self.picking_id.source_koli_id = self.koli_id.picking_id.id \ No newline at end of file