diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-06-26 09:45:46 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-06-26 09:45:46 +0700 |
| commit | 787fe14fc0b14ed67f3d25a634c7a5a7e1a27204 (patch) | |
| tree | 80ba35871c8f8fae7e88c087af218a5460cbf900 | |
| parent | e22cda13f913f3c2839009095b42ebee440f599d (diff) | |
invisible field due_id after action cancel
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 22 | ||||
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/views/account_move_views.xml | 2 |
3 files changed, 14 insertions, 21 deletions
diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 1de34408..fbb8efe1 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -10,7 +10,7 @@ class DueExtension(models.Model): _rec_name = 'number' number = fields.Char(string='Document No', index=True, copy=False, readonly=True) - partner_id = fields.Many2one('res.partner', string="Customer") + partner_id = fields.Many2one('res.partner', string="Customer", readonly=True) order_id = fields.Many2one('sale.order', string="SO", readonly=True) due_line = fields.One2many('due.extension.line', 'due_id', string='Due Extension Lines', auto_join=True) old_due = fields.Date(string="Old Due") @@ -29,11 +29,6 @@ class DueExtension(models.Model): def approve_new_due(self): if self.env.user.is_accounting: - if not self.day_extension: - raise UserError('Day Extension is not set.') - if not self.due_line: - raise UserError('Tidak ada data di due line.') - self.is_approve = True if self.partner_id: @@ -56,19 +51,11 @@ class DueExtension(models.Model): ('id', '=', self.order_id.id) ]) - sales.action_confirm() + sales.state = 'sale' else: raise UserError('Hanya Finance Yang Bisa Approve') def generate_due_line(self): - if self.is_approve: - raise UserError('Sudah di approve, tidak bisa digenerate ulang') - if self.due_line: - raise UserError('Harus hapus semua line jika ingin generate ulang') - if self.partner_id.parent_id: - raise UserError('Harus pilih parent company') - - partners = [] partners += self.partner_id.child_ids partners.append(self.partner_id) @@ -99,13 +86,14 @@ class DueExtension(models.Model): }]) count += 1 _logger.info("Due Extension Line generated %s" % count) - + + class DueExtensionLine(models.Model): _name = 'due.extension.line' _description = 'Due Extension Line' _order = 'due_id, id' - due_id = fields.Many2one('due.extension', string='Dunning Ref', required=True, ondelete='cascade', index=True, copy=False) + due_id = fields.Many2one('due.extension', string='Due Ref', required=True, ondelete='cascade', index=True, copy=False) partner_id = fields.Many2one('res.partner', string='Customer') invoice_id = fields.Many2one('account.move', string='Invoice') date_invoice = fields.Date(string='Invoice Date') diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 6a040ff3..5bb93805 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -215,6 +215,12 @@ class SaleOrder(models.Model): def onchange_partner_shipping(self): self.real_shipping_id = self.partner_shipping_id + @api.onchange('partner_id') + def onchange_partner_contact(self): + self.npwp = self.partner_id.npwp + self.sppkp = self.partner_id.sppkp + self.customer_type = self.partner_id.customer_type + def _get_purchases(self): po_state = ['done', 'draft', 'purchase'] for order in self: @@ -290,8 +296,6 @@ class SaleOrder(models.Model): def sale_order_approve(self): # raise UserError("Bisa langsung Confirm") self.check_due() - parent_id = self.partner_id.parent_id.id - parent_id = parent_id if parent_id else self.partner_id.id for order in self: if order.warehouse_id.id != 8: #GD Bandengan @@ -355,6 +359,7 @@ class SaleOrder(models.Model): # raise UserError("PO harus di Cancel dahulu") self.approval_status = False + self.due_id = False return super(SaleOrder, self).action_cancel() def validate_partner_invoice_due(self): @@ -469,8 +474,8 @@ class SaleOrder(models.Model): elif order._notification_margin_manager(): return self._notification_has_margin_manager() else: - order._set_sppkp_npwp_contact() order.approval_status = 'approved' + order._set_sppkp_npwp_contact() order.calculate_line_no() res = super(SaleOrder, self).action_confirm() diff --git a/indoteknik_custom/views/account_move_views.xml b/indoteknik_custom/views/account_move_views.xml index 1ff7f3aa..1dcace46 100644 --- a/indoteknik_custom/views/account_move_views.xml +++ b/indoteknik_custom/views/account_move_views.xml @@ -47,7 +47,7 @@ <sheet> <group> <group> - <field name="partner_id" required="1" attrs="{'readonly': [('is_approve', '=', True)]}"/> + <field name="partner_id" readonly="1"/> <field name="day_extension" attrs="{'readonly': [('is_approve', '=', True)]}"/> </group> <group> |
