diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2024-08-14 13:31:36 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2024-08-14 13:31:36 +0700 |
| commit | ed089761d43b20ecc4190ca9d88a0bdb769d81f2 (patch) | |
| tree | 6f5ed6967a4aa20e5773561f7a6b129d91b23311 /indoteknik_custom/models/stock_picking.py | |
| parent | 513d2b473f4fbf7245c35289e2a3215c5da556a6 (diff) | |
| parent | c091a99de4e3c3bb4f85a8b0c91d75735ebefbd4 (diff) | |
Merge branch 'production' into feature/calculate_selling_price
# Conflicts:
# indoteknik_custom/views/website_user_cart.xml
Diffstat (limited to 'indoteknik_custom/models/stock_picking.py')
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index c151a543..5029a770 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -26,7 +26,10 @@ class StockPicking(models.Model): # Delivery Order driver_departure_date = fields.Datetime( string='Driver Departure Date', - readonly=True, + copy=False + ) + arrival_time = fields.Datetime( + string='Jam Kedatangan', copy=False ) driver_arrival_date = fields.Datetime( @@ -91,6 +94,21 @@ class StockPicking(models.Model): date_availability = fields.Datetime(string="Date Availability", copy=False, tracking=True) sale_order = fields.Char(string='Matches SO', copy=False) printed_sj = fields.Boolean('Printed Surat Jalan', help='flag which is internal use or not') + invoice_status = fields.Selection([ + ('upselling', 'Upselling Opportunity'), + ('invoiced', 'Fully Invoiced'), + ('to invoice', 'To Invoice'), + ('no', 'Nothing to Invoice') + ], string='Invoice Status', related="sale_id.invoice_status") + + @api.constrains('driver_departure_date') + def constrains_driver_departure_date(self): + self.date_doc_kirim = self.driver_departure_date + + @api.constrains('arrival_time') + def constrains_arrival_time(self): + if self.arrival_time > datetime.datetime.utcnow(): + raise UserError('Jam kedatangan harus kurang dari Effective Date') def reset_status_printed(self): for rec in self: @@ -341,6 +359,9 @@ class StockPicking(models.Model): if not self.picking_code: self.picking_code = self.env['ir.sequence'].next_by_code('stock.picking.code') or '0' + if not self.arrival_time and 'BU/IN/' in self.name: + raise UserError('Jam Kedatangan harus diisi') + if self.picking_type_id.code == 'incoming' and self.group_id.id == False and self.is_internal_use == False: raise UserError(_('Tidak bisa Validate jika tidak dari Document SO / PO')) @@ -372,6 +393,7 @@ class StockPicking(models.Model): res = super(StockPicking, self).button_validate() self.calculate_line_no() + self.date_done = datetime.datetime.utcnow() return res @api.model |
