diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-24 15:44:15 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-24 15:44:15 +0700 |
| commit | 029e8fce907060de2a2514b5abc731f4cd9da96e (patch) | |
| tree | 9559eb4bc43178e3fadcce9ef68395c916b1fe9b | |
| parent | 63a562d83e9ca64fcd5464e8d63a2a387cc8611a (diff) | |
User company request approve and reject action
| -rw-r--r-- | indoteknik_custom/models/user_company_request.py | 16 | ||||
| -rw-r--r-- | indoteknik_custom/views/user_company_request.xml | 17 |
2 files changed, 30 insertions, 3 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 diff --git a/indoteknik_custom/views/user_company_request.xml b/indoteknik_custom/views/user_company_request.xml index 0b787683..2efc1e9b 100644 --- a/indoteknik_custom/views/user_company_request.xml +++ b/indoteknik_custom/views/user_company_request.xml @@ -4,11 +4,17 @@ <field name="name">user.company.request.tree</field> <field name="model">user.company.request</field> <field name="arch" type="xml"> - <tree create="0"> + <tree create="0" default_order="is_approve desc"> <field name="user_id"/> <field name="user_company_id"/> <field name="user_input"/> - <field name="is_approve"/> + <field + name="is_approve" + widget="badge" + decoration-success="is_approve == 'approved'" + decoration-danger="is_approve == 'rejected'" + /> + <field name="create_date"/> </tree> </field> </record> @@ -24,7 +30,12 @@ <field name="user_id" readonly="1"/> <field name="user_company_id" readonly="1"/> <field name="user_input" readonly="1"/> - <field name="is_approve"/> + <field + name="is_approve" + required="1" + decoration-success="is_approve == 'approved'" + decoration-danger="is_approve == 'rejected'" + /> </group> </group> </sheet> |
