From e8cdcff7d0848c9ce3749c11eef311c5235903c5 Mon Sep 17 00:00:00 2001 From: houssine Date: Fri, 2 Feb 2018 19:19:59 +0100 Subject: [PATCH] [IMP] add a wizard to update readonly fields --- easy_my_coop/__openerp__.py | 1 + easy_my_coop/view/res_partner_view.xml | 4 +- easy_my_coop/wizard/__init__.py | 3 +- .../create_subscription_from_partner.py | 2 +- easy_my_coop/wizard/update_partner_info.py | 47 +++++++++++++++++++ easy_my_coop/wizard/update_partner_info.xml | 35 ++++++++++++++ 6 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 easy_my_coop/wizard/update_partner_info.py create mode 100644 easy_my_coop/wizard/update_partner_info.xml diff --git a/easy_my_coop/__openerp__.py b/easy_my_coop/__openerp__.py index 379d056..41f0c97 100644 --- a/easy_my_coop/__openerp__.py +++ b/easy_my_coop/__openerp__.py @@ -43,6 +43,7 @@ 'security/easy_my_coop_security.xml', 'security/ir.model.access.csv', 'wizard/create_subscription_from_partner.xml', + 'wizard/update_partner_info.xml', 'view/subscription_request_view.xml', 'view/email_template_view.xml', 'view/res_partner_view.xml', diff --git a/easy_my_coop/view/res_partner_view.xml b/easy_my_coop/view/res_partner_view.xml index a2a39d1..2c2a85e 100644 --- a/easy_my_coop/view/res_partner_view.xml +++ b/easy_my_coop/view/res_partner_view.xml @@ -9,7 +9,9 @@
diff --git a/easy_my_coop/wizard/__init__.py b/easy_my_coop/wizard/__init__.py index b1b0901..9f536af 100644 --- a/easy_my_coop/wizard/__init__.py +++ b/easy_my_coop/wizard/__init__.py @@ -1,2 +1,3 @@ # -*- coding: utf-8 -*- -import create_subscription_from_partner +from . import create_subscription_from_partner +from . import update_partner_info diff --git a/easy_my_coop/wizard/create_subscription_from_partner.py b/easy_my_coop/wizard/create_subscription_from_partner.py index a71a6ce..eb64606 100644 --- a/easy_my_coop/wizard/create_subscription_from_partner.py +++ b/easy_my_coop/wizard/create_subscription_from_partner.py @@ -1,4 +1,4 @@ -# Part of Odoo. See LICENSE file for full copyright and licensing details. +# -*- coding: utf-8 -*- import time diff --git a/easy_my_coop/wizard/update_partner_info.py b/easy_my_coop/wizard/update_partner_info.py new file mode 100644 index 0000000..1285e9e --- /dev/null +++ b/easy_my_coop/wizard/update_partner_info.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + +from openerp import api, fields, models, _ +from openerp.exceptions import UserError + +class PartnerUpdateInfo(models.TransientModel): + _name = "partner.update.info" + _description = "Update Partner Info" + + @api.model + def _get_partner(self): + active_id = self.env.context.get('active_id') + return self.env['res.partner'].browse(active_id) + + @api.model + def _get_register_number(self): + partner = self._get_partner() + if partner.is_company: + return partner.company_register_number + else: + return partner.national_register_number + + register_number = fields.Char(string="Register Number", required=True, default=_get_register_number) + cooperator = fields.Many2one('res.partner', string="Cooperator", default=_get_partner) + + def check_belgian_ident_id(self, register_number): + if self.env['subscription.request'].check_belgian_identification_id(register_number): + return True + else: + raise UserError(_("The national register number is not valid.")) + + @api.multi + def update(self): + + cooperator = self.cooperator + coop_vals = {} + + if self.is_company: + coop_vals['company_register_number'] = self.register_number + else: + if self.check_belgian_ident_id(self.register_number): + coop_vals['national_register_number'] = self.register_number + + if coop_vals: + cooperator.write(coop_vals) + + return True diff --git a/easy_my_coop/wizard/update_partner_info.xml b/easy_my_coop/wizard/update_partner_info.xml new file mode 100644 index 0000000..cbba9af --- /dev/null +++ b/easy_my_coop/wizard/update_partner_info.xml @@ -0,0 +1,35 @@ + + + + + Update Cooperator Info + partner.update.info + +
+

+ Update Cooperator Info. +

+ + + + +
+
+
+
+
+ + + Update Cooperator Info + ir.actions.act_window + partner.update.info + form + form + new + + + +
+