diff --git a/addons/account/account.py b/addons/account/account.py index ea0b98e26bf..50b922d723b 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2874,10 +2874,12 @@ class wizard_multi_charts_accounts(osv.osv_memory): obj_ac_fp.create(cr, uid, vals_acc) ir_values = self.pool.get('ir.values') - ir_values.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id - , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]]) - ir_values.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id - , models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]]) + if obj_multi.sale_tax: + ir_values.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id, + models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]]) + if obj_multi.purchase_tax: + ir_values.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id, + models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]]) wizard_multi_charts_accounts() diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 3c65e79f11f..0f499c43ddd 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -25,6 +25,8 @@ from osv import fields, osv import tools from tools.translate import _ +import addons + class hr_employee_category(osv.osv): def name_get(self, cr, uid, ids, context=None): @@ -180,9 +182,8 @@ class hr_employee(osv.osv): return {'value': {'work_email' : work_email}} def _get_photo(self, cr, uid, context=None): - return open(os.path.join( - tools.config['addons_path'], 'hr/image', 'photo.png'), - 'rb') .read().encode('base64') + res_path = addons.get_module_resource("hr","image/photo.png") + return open(res_path,'rb').read().encode('base64') _defaults = { 'active': 1, diff --git a/addons/l10n_be/account_pcmn_belgium.xml b/addons/l10n_be/account_pcmn_belgium.xml index dc6c86fc9fa..3471a184d62 100644 --- a/addons/l10n_be/account_pcmn_belgium.xml +++ b/addons/l10n_be/account_pcmn_belgium.xml @@ -6718,6 +6718,7 @@ sale + 0 diff --git a/addons/project/project.py b/addons/project/project.py index 294c711eaac..6c9f66dd009 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -483,7 +483,10 @@ class task(osv.osv): def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): users_obj = self.pool.get('res.users') - obj_tm = users_obj.browse(cr, uid, uid, context).company_id.project_time_mode_id + + # 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) + obj_tm = users_obj.browse(cr, 1, uid).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) diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index 2d1fd252ecf..9349980933f 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -290,7 +290,7 @@ class share_create(osv.osv_memory): user_obj = self.pool.get('res.users') result_obj = self.pool.get('share.wizard.result.line') share_root_url = wizard_data.share_root_url - format_url = '%(login)' in share_root_url and '%(password)' in share_root_url + format_url = '%(login)s' in share_root_url and '%(password)s' in share_root_url existing_passwd_str = _('*usual password*') if wizard_data.user_type == 'new': for email in wizard_data.new_users.split('\n'): @@ -430,7 +430,7 @@ class share_create(osv.osv_memory): else: body += _("This additional data has been automatically added to your current access.\n") body += _("You may use your existing login and password to view it. As a reminder, your login is %s.\n") % result_line.login - + if not tools.email_send( user.user_email, email_to, diff --git a/addons/share/wizard/share_wizard_view.xml b/addons/share/wizard/share_wizard_view.xml index e6cade91c84..95fbc983c84 100644 --- a/addons/share/wizard/share_wizard_view.xml +++ b/addons/share/wizard/share_wizard_view.xml @@ -90,7 +90,7 @@ - 'action_id' (id of action) - 'domain' (string expression for full domain to apply as sent to server, with dynamic data like 'uid' replaced by actual value (i.e. after eval)!) - - 'share_root_url' : URL for direct access to share page (may include %(login) and %(password) placeholders) + - 'share_root_url' : URL for direct access to share page (may include %(login)s and %(password)s placeholders) --> Share Wizard @@ -106,7 +106,7 @@ - 'action_id' (id of action) - 'domain' (string expression for full domain to apply as sent to server, with dynamic data like 'uid' replaced by actual value (i.e. after eval)!) - - 'share_root_url' : URL for direct access to share page (may include %(login) and %(password) placeholders) + - 'share_root_url' : URL for direct access to share page (may include %(login)s and %(password)s placeholders) --> Share Wizard