summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-06-26 09:45:46 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-06-26 09:45:46 +0700
commit787fe14fc0b14ed67f3d25a634c7a5a7e1a27204 (patch)
tree80ba35871c8f8fae7e88c087af218a5460cbf900
parente22cda13f913f3c2839009095b42ebee440f599d (diff)
invisible field due_id after action cancel
-rw-r--r--indoteknik_custom/models/account_move_due_extension.py22
-rwxr-xr-xindoteknik_custom/models/sale_order.py11
-rw-r--r--indoteknik_custom/views/account_move_views.xml2
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>