From a4d5cfa7474418d76da09235c0871e03bf4cca07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 29 Jun 2015 13:16:11 +0200 Subject: [PATCH] [IMP][FIX] mail, various: migrate fields_view_get override to the new API (leftover of migration). However this implies some fixes in the various calls to models inheriting from mail.thread. Indeed giving positional instead of keyword argument creates issues in the wrapper between the old and new API. In account_analytic_plan, useless override of fields_view_get has been removed. --- addons/account_analytic_plans/account_analytic_plans.py | 8 +------- addons/anonymization/anonymization.py | 4 ++-- addons/board/board.py | 4 ++-- addons/crm/crm_lead.py | 2 +- addons/mail/models/mail_thread.py | 8 ++++---- addons/membership/membership.py | 2 +- addons/project/project.py | 2 +- addons/project/wizard/project_task_delegate.py | 2 +- openerp/addons/base/res/res_partner.py | 2 +- 9 files changed, 14 insertions(+), 20 deletions(-) diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index cb806f86d8d..9f5db2194ac 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -151,7 +151,7 @@ class account_analytic_plan_instance(osv.osv): if context is None: context = {} wiz_id = self.pool.get('ir.actions.act_window').search(cr, uid, [("name","=","analytic.plan.create.model.action")], context=context) - res = super(account_analytic_plan_instance,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu) + res = super(account_analytic_plan_instance,self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) journal_obj = self.pool.get('account.journal') analytic_plan_obj = self.pool.get('account.analytic.plan') if (res['type']=='form'): @@ -340,12 +340,6 @@ class account_move_line(osv.osv): analytic_line_obj.create(cr, uid, al_vals, context=context) return True - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - if context is None: - context = {} - result = super(account_move_line, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu) - return result - class account_invoice(osv.osv): _name = "account.invoice" diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index 07e4c5777eb..9b75e77ee8b 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -284,7 +284,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): return res - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, *args, **kwargs): + def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): state = self.pool.get('ir.model.fields.anonymization')._get_global_state(cr, uid, context=context) if context is None: @@ -292,7 +292,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): step = context.get('step', 'new_window') - res = super(ir_model_fields_anonymize_wizard, self).fields_view_get(cr, uid, view_id, view_type, context, *args, **kwargs) + res = super(ir_model_fields_anonymize_wizard, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) eview = etree.fromstring(res['arch']) placeholder = eview.xpath("group[@name='placeholder1']") diff --git a/addons/board/board.py b/addons/board/board.py index ba51f0b1352..b484e7546ad 100644 --- a/addons/board/board.py +++ b/addons/board/board.py @@ -46,8 +46,8 @@ class board_board(osv.osv): """ res = {} - res = super(board_board, self).fields_view_get(cr, user, view_id, view_type, - context, toolbar=toolbar, submenu=submenu) + res = super(board_board, self).fields_view_get(cr, user, view_id=view_id, view_type=view_type, + context=context, toolbar=toolbar, submenu=submenu) CustView = self.pool.get('ir.ui.view.custom') vids = CustView.search(cr, user, [('user_id', '=', user), ('ref_id', '=', view_id)], context=context) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index c6f20da1386..e71a2e21a24 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -115,7 +115,7 @@ class crm_lead(format_address, osv.osv): action = self.get_formview_action(cr, user, context['opportunity_id'], context=context) if action.get('views') and any(view_id for view_id in action['views'] if view_id[1] == view_type): view_id = next(view_id[0] for view_id in action['views'] if view_id[1] == view_type) - res = super(crm_lead, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) + res = super(crm_lead, self).fields_view_get(cr, user, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) if view_type == 'form': res['arch'] = self.fields_view_get_address(cr, user, res['arch'], context=context) return res diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index dab6714ca06..5b9755cafc8 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -330,14 +330,14 @@ class MailThread(models.AbstractModel): return help - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - res = super(MailThread, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) + @api.model + def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False): + res = super(MailThread, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) if view_type == 'form': doc = etree.XML(res['arch']) for node in doc.xpath("//field[@name='message_ids']"): options = json.loads(node.get('options', '{}')) - user = self.pool['res.users'].browse(cr, SUPERUSER_ID, uid, context=context) - options['display_log_button'] = user.has_group('base.group_user') + options['display_log_button'] = self.env.user.sudo().has_group('base.group_user') node.set('options', json.dumps(options)) res['arch'] = etree.tostring(doc) return res diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 57ba739c73b..9167dc84bfc 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -430,7 +430,7 @@ class Product(osv.osv): view_id = dict_model['membership_products_form'] else: view_id = dict_model['membership_products_tree'] - return super(Product,self).fields_view_get(cr, user, view_id, view_type, context, toolbar, submenu) + return super(Product,self).fields_view_get(cr, user, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) '''Product''' _inherit = 'product.template' diff --git a/addons/project/project.py b/addons/project/project.py index 17dd0c69d7a..42f3a051a06 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -671,7 +671,7 @@ class task(osv.osv): obj_tm = users_obj.browse(cr, SUPERUSER_ID, uid, context=context).company_id.project_time_mode_id tm = obj_tm and obj_tm.name or 'Hours' - res = super(task, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu=submenu) + res = super(task, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) # read uom as admin to avoid access rights issues, e.g. for portal/share users, # this should be safe (no context passed to avoid side-effects) diff --git a/addons/project/wizard/project_task_delegate.py b/addons/project/wizard/project_task_delegate.py index fbb63fef15a..8e4582d275a 100644 --- a/addons/project/wizard/project_task_delegate.py +++ b/addons/project/wizard/project_task_delegate.py @@ -73,7 +73,7 @@ class project_task_delegate(osv.osv_memory): } def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - res = super(project_task_delegate, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu=submenu) + res = super(project_task_delegate, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) users_pool = self.pool.get('res.users') obj_tm = users_pool.browse(cr, uid, uid, context=context).company_id.project_time_mode_id tm = obj_tm and obj_tm.name or 'Hours' diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0b7365f00c1..a2c522bc121 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -305,7 +305,7 @@ class res_partner(osv.Model, format_address): def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): if (not view_id) and (view_type=='form') and context and context.get('force_email', False): view_id = self.pool['ir.model.data'].get_object_reference(cr, user, 'base', 'view_partner_simple_form')[1] - res = super(res_partner,self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) + res = super(res_partner,self).fields_view_get(cr, user, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu) if view_type == 'form': res['arch'] = self.fields_view_get_address(cr, user, res['arch'], context=context) return res