From b2c4dd6b8717aadc383e9727fefbf98af5643025 Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Tue, 7 Sep 2010 13:21:01 +0530 Subject: [PATCH 001/244] [MOD/IMP]res_user : Usability Improvement bzr revid: dbr@tinyerp.com-20100907075101-ki0rwisnslqjqd93 --- bin/addons/base/base_update.xml | 14 ++++++++------ bin/addons/base/res/res_user.py | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 7639418f825..02ea1c58e5c 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -114,16 +114,18 @@ - - + /> + + + + - - + + @@ -141,7 +143,7 @@ - + diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index d8645a83cc0..db76c333730 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -240,10 +240,10 @@ class users(osv.osv): " aren't configured, it won't be possible to email new " "users."), 'signature': fields.text('Signature', size=64), - 'address_id': fields.many2one('res.partner.address', 'Address'), + 'address_id': fields.many2one('res.partner.address', 'Company Address'), 'active': fields.boolean('Active'), 'action_id': fields.many2one('ir.actions.actions', 'Home Action'), - 'menu_id': fields.many2one('ir.actions.actions', 'Menu Action'), + 'menu_id': fields.many2one('ir.actions.actions', 'Menu Action',help="Always Display Tips"), 'groups_id': fields.many2many('res.groups', 'res_groups_users_rel', 'uid', 'gid', 'Groups'), 'roles_id': fields.many2many('res.roles', 'res_roles_users_rel', 'uid', 'rid', 'Roles'), From 34577af85f3d9b2a4f578e66cf47d86e5de7a3aa Mon Sep 17 00:00:00 2001 From: Julien Thewys Date: Tue, 7 Sep 2010 10:49:02 +0200 Subject: [PATCH 002/244] [FIX] Fixed gettext translation (in particular, fixed translation in RML reports). bzr revid: jth@openerp.com-20100907084902-0l323afsiju4y1i4 --- bin/tools/translate.py | 62 ++++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/bin/tools/translate.py b/bin/tools/translate.py index 18747a3c143..64f742924f3 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -29,6 +29,7 @@ import re import tarfile import tempfile from os.path import join +import logging from datetime import datetime from lxml import etree @@ -127,30 +128,55 @@ def translate(cr, name, source_type, lang, source=None): res = res_trans and res_trans[0] or False return res +logger = logging.getLogger('translate') + class GettextAlias(object): + + def _get_cr(self, frame): + is_new_cr = False + cr = frame.f_locals.get('cr') + if not cr: + s = frame.f_locals.get('self', {}) + cr = getattr(s, 'cr', False) + if not cr: + if frame.f_globals.get('pooler', False): + # TODO: we should probably get rid of the 'is_new_cr' case: no cr in locals -> no translation for you + dbs = frame.f_globals['pooler'].pool_dic.keys() + if len(dbs) == 1: + cr = pooler.get_db(dbs[0]).cursor() + is_new_cr = True + return cr, is_new_cr + + def _get_lang(self, frame): + lang = frame.f_locals.get('context', {}).get('lang', False) + if not lang: + args = frame.f_locals.get('args', False) + if args: + lang = args[-1].get('lang', False) + if not lang: + s = frame.f_locals.get('self', {}) + c = getattr(s, 'localcontext', {}) + lang = c.get('lang', False) + return lang + def __call__(self, source): + is_new_cr = False + res = source try: frame = inspect.stack()[1][0] + cr, is_new_cr = self._get_cr(frame) + lang = self._get_lang(frame) + if lang and cr: + cr.execute('SELECT value FROM ir_translation WHERE lang=%s AND type IN (%s, %s) AND src=%s', (lang, 'code','sql_constraint', source)) + res_trans = cr.fetchone() + res = res_trans and res_trans[0] or source except: - return source + logger.warn('translation went wrong for string %s', repr(source)) + finally: + if is_new_cr: + cr.close() + return res - cr = frame.f_locals.get('cr') - try: - lang = (frame.f_locals.get('context') or {}).get('lang', False) - if not (cr and lang): - args = frame.f_locals.get('args',False) - if args: - lang = args[-1].get('lang',False) - if frame.f_globals.get('pooler',False): - cr = pooler.get_db(frame.f_globals['pooler'].pool_dic.keys()[0]).cursor() - if not (lang and cr): - return source - except: - return source - - cr.execute('select value from ir_translation where lang=%s and type IN (%s,%s) and src=%s', (lang, 'code','sql_constraint', source)) - res_trans = cr.fetchone() - return res_trans and res_trans[0] or source _ = GettextAlias() From 1e5bd3dc4c5dfde324ed559b01ffdc89d2367c63 Mon Sep 17 00:00:00 2001 From: "Vir (Open ERP)" Date: Wed, 8 Sep 2010 11:35:34 +0530 Subject: [PATCH 003/244] [IMP] res_user view improved bzr revid: vir@tinyerp.com-20100908060534-pod7b4b10lxd193n --- bin/addons/base/base_update.xml | 2 +- bin/addons/base/res/res_user.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 02ea1c58e5c..8e12c123b42 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -143,7 +143,7 @@ - + diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index db76c333730..9203d76dacc 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -243,7 +243,7 @@ class users(osv.osv): 'address_id': fields.many2one('res.partner.address', 'Company Address'), 'active': fields.boolean('Active'), 'action_id': fields.many2one('ir.actions.actions', 'Home Action'), - 'menu_id': fields.many2one('ir.actions.actions', 'Menu Action',help="Always Display Tips"), + 'menu_id': fields.many2one('ir.actions.actions', 'Menu Action'), 'groups_id': fields.many2many('res.groups', 'res_groups_users_rel', 'uid', 'gid', 'Groups'), 'roles_id': fields.many2many('res.roles', 'res_roles_users_rel', 'uid', 'rid', 'Roles'), @@ -264,7 +264,7 @@ class users(osv.osv): selection=[('simple','Simplified'),('extended','Extended')], string='Interface', help="Choose between the simplified interface and the extended one"), 'user_email': fields.function(_email_get, method=True, fnct_inv=_email_set, string='Email', type="char", size=240), - 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to display tips on each menu action"), + 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to always display tips on each menu action"), } From f8590fbfd6d0492e871535198e908f6db7d155e2 Mon Sep 17 00:00:00 2001 From: "Vir (Open ERP)" Date: Sat, 11 Sep 2010 11:55:08 +0530 Subject: [PATCH 004/244] [IMP] Improved the viwe of User Preferences bzr revid: vir@tinyerp.com-20100911062508-9ze77rhm45veup5o --- bin/addons/base/base_update.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 8e12c123b42..50f923d1b20 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -82,16 +82,15 @@ context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"/>