From 0cf0cf4f4c8f67f03514a14d957234ce8a6e3364 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 26 Mar 2013 14:01:27 +0100 Subject: [PATCH 01/13] [IMP] res_users,res_partner: login = email bzr revid: chm@openerp.com-20130326130127-974jagzvhon0biiy --- openerp/addons/base/res/res_partner.py | 14 ++++++++++++++ openerp/addons/base/res/res_partner_view.xml | 8 +++++--- openerp/addons/base/res/res_users.py | 4 ++++ openerp/addons/base/res/res_users_view.xml | 11 +---------- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index d6e554b598d..773f64f2366 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -193,6 +193,12 @@ class res_partner(osv.osv, format_address): result[obj.id] = obj.image != False return result + def _has_user_ids(self, cr, uid, ids, name, args, context=None): + result = {} + for obj in self.browse(cr, uid, ids, context=context): + result[obj.id] = bool(obj.user_ids) + return result + _order = "name" _columns = { 'name': fields.char('Name', size=128, required=True, select=True), @@ -263,6 +269,7 @@ class res_partner(osv.osv, format_address): 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), 'user_ids': fields.one2many('res.users', 'partner_id', 'Users'), + 'has_user_ids': fields.function(_has_user_ids, type='boolean', string='Is a user'), 'contact_address': fields.function(_address_display, type='char', string='Complete Address'), } @@ -359,10 +366,14 @@ class res_partner(osv.osv, format_address): # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def write(self, cr, uid, ids, vals, context=None): + if context is None: + context={} # Update parent and siblings or children records if isinstance(ids, (int, long)): ids = [ids] + user_ids = [] for partner in self.browse(cr, uid, ids, context=context): + user_ids += [user.id for user in partner.user_ids] update_ids = [] if partner.is_company: domain_children = [('parent_id', 'child_of', partner.id), ('use_parent_address', '=', True)] @@ -371,6 +382,9 @@ class res_partner(osv.osv, format_address): domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)] update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context) self.update_address(cr, uid, update_ids, vals, context) + if vals.get('email') and user_ids and not context.get('change_email_and_login'): + context.update({'change_email_and_login': True}) + self.pool.get('res.users').write(cr, uid, user_ids, {'login': vals.get('email')}, context=context) return super(res_partner,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index c920aba23ae..18187f96d5f 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -111,7 +111,8 @@ - + + @@ -175,7 +176,8 @@ - + + @@ -420,7 +422,7 @@ - + Customers diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 4c1d1317e07..27adab904dc 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -278,6 +278,10 @@ class res_users(osv.osv): def write(self, cr, uid, ids, values, context=None): if not hasattr(ids, '__iter__'): ids = [ids] + if values.get('email'): + values['login'] = values.get('email') + if values.get('login'): + values['email'] = values.get('login') if ids == [uid]: for key in values.keys(): if not (key in self.SELF_WRITEABLE_FIELDS or key.startswith('context_')): diff --git a/openerp/addons/base/res/res_users_view.xml b/openerp/addons/base/res/res_users_view.xml index daa25806349..0623269a2a9 100644 --- a/openerp/addons/base/res/res_users_view.xml +++ b/openerp/addons/base/res/res_users_view.xml @@ -135,7 +135,7 @@
From a423e08fee87aa4262d73287a93571c6594b4050 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 2 Apr 2013 10:20:52 +0200 Subject: [PATCH 05/13] [IMP] res_partner: remove has_user_ids bzr revid: chm@openerp.com-20130402082052-99wun0xuf6g4heh4 --- openerp/addons/base/res/res_partner.py | 7 ------- openerp/addons/base/res/res_partner_view.xml | 6 ++---- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 0d898c2d848..50a928df5e9 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -193,12 +193,6 @@ class res_partner(osv.osv, format_address): result[obj.id] = obj.image != False return result - def _has_user_ids(self, cr, uid, ids, name, args, context=None): - result = {} - for obj in self.browse(cr, uid, ids, context=context): - result[obj.id] = bool(obj.user_ids) - return result - _order = "name" _columns = { 'name': fields.char('Name', size=128, required=True, select=True), @@ -269,7 +263,6 @@ class res_partner(osv.osv, format_address): 'company_id': fields.many2one('res.company', 'Company', select=1), 'color': fields.integer('Color Index'), 'user_ids': fields.one2many('res.users', 'partner_id', 'Users'), - 'has_user_ids': fields.function(_has_user_ids, type='boolean', string='Is a user'), 'contact_address': fields.function(_address_display, type='char', string='Complete Address'), } diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 18187f96d5f..ffb7d76fb20 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -111,8 +111,7 @@ - - + @@ -176,8 +175,7 @@ - - + From aa048ed5e94edd6de360052ce42251ef70acd54e Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 2 Apr 2013 10:27:28 +0200 Subject: [PATCH 06/13] [IMP] res_partner: remove write change bzr revid: chm@openerp.com-20130402082728-rlrd8wy5dy4o87n9 --- openerp/addons/base/res/res_partner.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 50a928df5e9..794fa9b30e8 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -359,14 +359,10 @@ class res_partner(osv.osv, format_address): # _constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])] def write(self, cr, uid, ids, vals, context=None): - if context is None: - context={} # Update parent and siblings or children records if isinstance(ids, (int, long)): ids = [ids] - user_ids = [] for partner in self.browse(cr, uid, ids, context=context): - user_ids += [user.id for user in partner.user_ids] update_ids = [] if partner.is_company: domain_children = [('parent_id', 'child_of', partner.id), ('use_parent_address', '=', True)] From d9e503ad6fc1354636dff6d51f1f88b64512e48b Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 2 Apr 2013 10:42:55 +0200 Subject: [PATCH 07/13] [IMP] res_user: remove overwrite of create who change company_id value bzr revid: chm@openerp.com-20130402084255-gapusfwxuyu2cfs1 --- openerp/addons/base/res/res_users.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 6f31d0518b4..9d97cc563bf 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -254,12 +254,6 @@ class res_users(osv.osv): # User can read a few of his own fields SELF_READABLE_FIELDS = ['signature', 'company_id', 'login', 'email', 'name', 'image', 'image_medium', 'image_small', 'lang', 'tz', 'tz_offset', 'groups_id', 'partner_id', '__last_update'] - def create(self, cr, uid, values, context=None): - user = self.read(cr, SUPERUSER_ID, uid, ['company_id', 'company_ids'], context=context) - values['company_id'] = user['company_id'] and user['company_id'][0] or None - values['company_ids'] = user['company_ids'] - return super(res_users, self).create(cr, uid, values, context=context) - def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'): def override_password(o): if 'password' in o and ('id' not in o or o['id'] != uid): From a1f1782cc061c05d277ff6860ef92dc77b9b5feb Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 10 Apr 2013 15:01:45 +0200 Subject: [PATCH 08/13] [IMP] res_partner, res_users: small change in views bzr revid: chm@openerp.com-20130410130145-qhtvhx6lrl3gt3x5 --- openerp/addons/base/res/res_partner_view.xml | 2 ++ openerp/addons/base/res/res_users_view.xml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index ffb7d76fb20..41948a505bf 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -111,6 +111,7 @@ + @@ -175,6 +176,7 @@ + diff --git a/openerp/addons/base/res/res_users_view.xml b/openerp/addons/base/res/res_users_view.xml index d607c0e0249..7b68791477b 100644 --- a/openerp/addons/base/res/res_users_view.xml +++ b/openerp/addons/base/res/res_users_view.xml @@ -101,7 +101,7 @@ From 7a2179c99f6f65a24eed85eefa1b3ca9857b6a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 31 May 2013 11:25:28 +0200 Subject: [PATCH 13/13] [IMP] ir_mail_server: cleaned a message by adding some uppercases. bzr revid: tde@openerp.com-20130531092528-cuna42qie8volvou --- openerp/addons/base/ir/ir_mail_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_mail_server.py b/openerp/addons/base/ir/ir_mail_server.py index 10fc5f82187..0ca587f42ab 100644 --- a/openerp/addons/base/ir/ir_mail_server.py +++ b/openerp/addons/base/ir/ir_mail_server.py @@ -472,7 +472,7 @@ class ir_mail_server(osv.osv): e.__class__.__name__, tools.ustr(e)) _logger.exception(msg) - raise MailDeliveryException(_("Mail delivery failed"), msg) + raise MailDeliveryException(_("Mail Delivery Failed"), msg) return message_id def on_change_encryption(self, cr, uid, ids, smtp_encryption):