summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-24 15:44:15 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-24 15:44:15 +0700
commit029e8fce907060de2a2514b5abc731f4cd9da96e (patch)
tree9559eb4bc43178e3fadcce9ef68395c916b1fe9b /indoteknik_custom/models
parent63a562d83e9ca64fcd5464e8d63a2a387cc8611a (diff)
User company request approve and reject action
Diffstat (limited to 'indoteknik_custom/models')
-rw-r--r--indoteknik_custom/models/user_company_request.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/indoteknik_custom/models/user_company_request.py b/indoteknik_custom/models/user_company_request.py
index c69b789c..2467261a 100644
--- a/indoteknik_custom/models/user_company_request.py
+++ b/indoteknik_custom/models/user_company_request.py
@@ -1,4 +1,5 @@
from odoo import models, fields
+from odoo.exceptions import UserError
class UserCompanyRequest(models.Model):
@@ -12,4 +13,19 @@ class UserCompanyRequest(models.Model):
('approved', 'Approve'),
('rejected', 'Reject'),
], string='Approval')
+
+ def write(self, vals):
+ is_approve = vals.get('is_approve')
+ if self.is_approve and is_approve:
+ raise UserError('Tidak dapat mengubah approval yang sudah diisi')
+
+ if not self.is_approve and is_approve:
+ if is_approve == 'approved':
+ self.user_id.parent_id = self.user_company_id.id
+ else:
+ new_company = self.env['res.partner'].create({
+ 'name': self.user_input
+ })
+ self.user_id.parent_id = new_company.id
+ return super(UserCompanyRequest, self).write(vals)
\ No newline at end of file