diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-23 10:39:40 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-23 10:39:40 +0700 |
| commit | 5c9214c1c846e61c5356e1b19341b070c2303198 (patch) | |
| tree | fe778c00b20f1e43323746bf2cf872bab86795f1 | |
| parent | 5fdade43dd264f834a52194b22a9d687c4dc6aab (diff) | |
partner company type and edit partner data
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 57 | ||||
| -rw-r--r-- | indoteknik_api/models/res_users.py | 7 | ||||
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 1 | ||||
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/res_partner_company_type.py | 7 | ||||
| -rwxr-xr-x | indoteknik_custom/security/ir.model.access.csv | 3 | ||||
| -rw-r--r-- | indoteknik_custom/views/res_partner.xml | 3 | ||||
| -rw-r--r-- | indoteknik_custom/views/res_partner_company_type.xml | 43 | ||||
| -rw-r--r-- | indoteknik_custom/views/user_company_request.xml | 2 |
10 files changed, 122 insertions, 3 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 09b3caa0..8c7dbd57 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -81,3 +81,60 @@ class Partner(controller.Controller): 'id': partner.id, }) + @http.route(prefix + 'partner/<id>', auth='public', methods=['PUT', 'OPTIONS'], csrf=False) + def write_partner_by_id(self, **kw): + if not self.authenticate(): + return self.response(code=401, description='Unauthorized') + + params = self.get_request_params(kw, { + 'id': ['required', 'number'], + 'name': [], + 'company_type_id': ['number'], + 'industry_id': ['number'], + 'tax_name': ['alias:nama_wajib_pajak'], + 'npwp': [], + }) + + if not params['valid']: + return self.response(code=400, description=params) + + partner = request.env[self._name].search([('id', '=', params['value']['id'])], limit=1) + if not partner: + return self.response(code=404, description='User not found') + + partner.write(params['value']) + + return self.response({ + 'id': partner.id + }) + + @http.route(prefix + 'partner/industry', auth='public', methods=['GET', 'OPTIONS']) + def get_partner_industry(self): + if not self.authenticate(): + return self.response(code=401, description='Unauthorized') + + partner_industry = request.env['res.partner.industry'].search([]) + data = [] + for industry in partner_industry: + data.append({ + 'id': industry.id, + 'name': industry.name + }) + + return self.response(data) + + @http.route(prefix + 'partner/company_type', auth='public', methods=['GET', 'OPTIONS']) + def get_partner_company_type(self): + if not self.authenticate(): + return self.response(code=401, description='Unauthorized') + + partner_company_type = request.env['res.partner.company_type'].search([]) + data = [] + for company_type in partner_company_type: + data.append({ + 'id': company_type.id, + 'name': company_type.name + }) + + return self.response(data) + diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index 99a3838d..5032f3af 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -7,6 +7,7 @@ class ResUsers(models.Model): def api_single_response(self, res_user, with_detail=''): data = { 'id': res_user.id, + 'parent_id': res_user.parent_id.id or False, 'partner_id': res_user.partner_id.id, 'name': res_user.name, 'email': res_user.login, @@ -32,7 +33,11 @@ class ResUsers(models.Model): 'city': None, 'district': None, 'sub_district': None, - 'zip': user.zip or '' + 'zip': user.zip or '', + 'company_type_id': user.company_type_id.id or None, + 'industry_id': user.industry_id.id or None, + 'tax_name': user.nama_wajib_pajak or '', + 'npwp': user.npwp or '', } if user.kota_id: diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index 5a3ffe0a..449fd09c 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -16,6 +16,7 @@ 'views/delivery_order.xml', 'views/product_pricelist.xml', 'views/res_groups.xml', + 'views/res_partner_company_type.xml', 'views/res_partner.xml', 'views/product_pricelist_item.xml', 'views/product_public_category.xml', diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index 4cb8bdda..ebbf2e09 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -19,6 +19,7 @@ from . import purchase_order_line from . import purchase_order from . import purchase_outstanding from . import purchase_pricelist +from . import res_partner_company_type from . import res_partner from . import res_users from . import sale_monitoring_detail diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 403245fb..1cdf7c72 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -5,3 +5,4 @@ class ResPartner(models.Model): _inherit = 'res.partner' reference_number = fields.Char(string="Reference Number") + company_type_id = fields.Many2one('res.partner.company_type', string='Company Type') diff --git a/indoteknik_custom/models/res_partner_company_type.py b/indoteknik_custom/models/res_partner_company_type.py new file mode 100644 index 00000000..2bd356a1 --- /dev/null +++ b/indoteknik_custom/models/res_partner_company_type.py @@ -0,0 +1,7 @@ +from odoo import models, fields + + +class ResPartnerCompanyType(models.Model): + _name = 'res.partner.company_type' + + name = fields.Char('Name')
\ No newline at end of file diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 26c1bd73..d5142381 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -34,4 +34,5 @@ access_midtrans_account,access.midtrans.account,model_midtrans_account,,1,1,1,1 access_ip_lookup,access.ip.lookup,model_ip_lookup,,1,1,1,1 access_ip_lookup_line,access.ip.lookup.line,model_ip_lookup_line,,1,1,1,1 access_wati_notification,access.wati.notification,model_wati_notification,,1,1,1,1 -access_user_company_request,access.user.company.request,model_user_company_request,,1,1,1,1
\ No newline at end of file +access_user_company_request,access.user.company.request,model_user_company_request,,1,1,1,1 +access_res_partner_company_type,access.res.partner.company_type,model_res_partner_company_type,,1,1,1,1
\ No newline at end of file diff --git a/indoteknik_custom/views/res_partner.xml b/indoteknik_custom/views/res_partner.xml index 673718c4..47f41ab2 100644 --- a/indoteknik_custom/views/res_partner.xml +++ b/indoteknik_custom/views/res_partner.xml @@ -9,6 +9,9 @@ <field name="vat" position="after"> <field name="reference_number"/> </field> + <field name="industry_id" position="after"> + <field name="company_type_id"/> + </field> </field> </record> </data> diff --git a/indoteknik_custom/views/res_partner_company_type.xml b/indoteknik_custom/views/res_partner_company_type.xml new file mode 100644 index 00000000..ed21c1c9 --- /dev/null +++ b/indoteknik_custom/views/res_partner_company_type.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<odoo> + <record id="res_partner_company_type_tree" model="ir.ui.view"> + <field name="name">res.partner.company_type.tree</field> + <field name="model">res.partner.company_type</field> + <field name="arch" type="xml"> + <tree> + <field name="name"/> + </tree> + </field> + </record> + + <record id="res_partner_company_type_form" model="ir.ui.view"> + <field name="name">res.partner.company_type.form</field> + <field name="model">res.partner.company_type</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <group> + <field name="name"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="action_res_partner_company_type" model="ir.actions.act_window"> + <field name="name">Company Type</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">res.partner.company_type</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem + id="menu_res_partner_company_type" + name="Company Type" + parent="contacts.res_partner_menu_config" + sequence="2" + action="action_res_partner_company_type" + /> +</odoo>
\ 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 a44a48e0..0b787683 100644 --- a/indoteknik_custom/views/user_company_request.xml +++ b/indoteknik_custom/views/user_company_request.xml @@ -43,7 +43,7 @@ id="menu_user_company_request" name="User Company Request" parent="contacts.menu_contacts" - sequence="5" + sequence="3" action="action_user_company_request" /> </odoo>
\ No newline at end of file |
