diff options
Diffstat (limited to 'indoteknik_custom/models')
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 9b5f0036..5142bc5f 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -3,10 +3,35 @@ from odoo import fields, models, api class StockPicking(models.Model): _inherit = 'stock.picking' - is_internal_use = fields.Boolean('Internal Use', help="flag which is internal use or not") - account_id = fields.Many2one('account.account', string="Account") + is_internal_use = fields.Boolean('Internal Use', help='flag which is internal use or not') + account_id = fields.Many2one('account.account', string='Account') + efaktur_id = fields.Many2one('vit.efaktur', string='Faktur Pajak') + is_efaktur_exported = fields.Boolean(string='Is eFaktur Exported') + date_efaktur_exported = fields.Datetime(string='eFaktur Exported Date') @api.onchange('picking_type_id') def _onchange_operation_type(self): self.is_internal_use = self.picking_type_id.is_internal_use return + + @api.model + def create(self, vals): + self._use_faktur(vals) + return super(StockPicking, self).create(vals) + + def write(self, vals): + self._use_faktur(vals) + return super(StockPicking, self).write(vals) + + def _use_faktur(self, vals): + if vals.get('efaktur_id', False): + self.env['vit.efaktur'].search( + [ + ('id', '=', vals['efaktur_id']) + ], + limit=1 + ).is_used = True + + if self.efaktur_id.id != vals['efaktur_id']: + self.efaktur_id.is_used = False + return True |
