From 03bfac79842a2c662c3cc0c2a9e16508390fbc65 Mon Sep 17 00:00:00 2001 From: "ced@b2ck.com" Date: Thu, 13 Dec 2007 01:16:12 +0100 Subject: [PATCH] Add xml for module res and fix some typo --- trytond/ir/model.py | 2 +- trytond/ir/rule.py | 2 +- trytond/ir/ui/menu.xml | 14 ++++++++++++++ trytond/osv/fields.py | 10 +++++++--- trytond/osv/orm.py | 4 +++- trytond/osv/osv.py | 2 +- trytond/res/__terp__.py | 4 ++++ trytond/res/lang.xml | 9 +++++++++ trytond/res/user.py | 4 ++-- trytond/res/user.xml | 17 +++++++++++++++++ 10 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 trytond/res/lang.xml create mode 100644 trytond/res/user.xml diff --git a/trytond/ir/model.py b/trytond/ir/model.py index 3497f983f7..3f5bb9a2b2 100644 --- a/trytond/ir/model.py +++ b/trytond/ir/model.py @@ -79,7 +79,7 @@ class ModelAccess(OSV): 'ON (a.model_id=m.id) ' 'JOIN res_groups_users_rel gu ' 'ON (gu.gid = a.group_id) ' - 'WHERE m.model = %s AND gu.user = %s', (model_name, user,)) + 'WHERE m.model = %s AND gu.uid = %s', (model_name, user,)) row = cursor.fetchall() if row[0][0] == None: cursor.execute('SELECT ' \ diff --git a/trytond/ir/rule.py b/trytond/ir/rule.py index aaed840519..c58453d651 100644 --- a/trytond/ir/rule.py +++ b/trytond/ir/rule.py @@ -127,7 +127,7 @@ class Rule(OSV): "FROM group_rule_group_rel g_rel " \ "JOIN res_groups_users_rel u_rel " \ "ON (g_rel.group_id = u_rel.gid) " \ - "WHERE u_rel.user = %d) " + "WHERE u_rel.uid = %d) " "OR g.global)", (model_name, user, user)) ids = [x[0] for x in cursor.fetchall()] if not ids: diff --git a/trytond/ir/ui/menu.xml b/trytond/ir/ui/menu.xml index 2b9f23f93b..d22d3aba81 100644 --- a/trytond/ir/ui/menu.xml +++ b/trytond/ir/ui/menu.xml @@ -12,6 +12,20 @@ child_id + + Menu + ir.ui.menu + tree + menu + + + + + tree + + + ir.ui.menu.tree ir.ui.menu diff --git a/trytond/osv/fields.py b/trytond/osv/fields.py index 268f3810ba..6baeb1447b 100644 --- a/trytond/osv/fields.py +++ b/trytond/osv/fields.py @@ -245,13 +245,17 @@ class Many2One(_column): for i in ids: res.setdefault(i, '') obj = obj.pool.get(self._obj) - names = obj.name_get(cursor, user, res.values(), context=context) + obj_names = {} + for obj_id, name in obj.name_get(cursor, user, res.values(), + context=context): + obj_names[obj_id] = name for i in res.keys(): - if res[i] and res[i] in names: - res[i] = (res[i], names[res[i]]) + if res[i] and res[i] in obj_names: + res[i] = (res[i], obj_names[res[i]]) else: res[i] = False + print "many2one:", res return res def set(self, cursor, obj_src, obj_id, field, values, user=None, diff --git a/trytond/osv/orm.py b/trytond/osv/orm.py index 6689240a6c..2faf423933 100644 --- a/trytond/osv/orm.py +++ b/trytond/osv/orm.py @@ -960,6 +960,7 @@ class ORM(object): i[key] = False if isinstance(ids, (int, long)): return result[0] + print result return result def _read_flat(self, cursor, user, ids, fields_names, context=None, @@ -1003,13 +1004,14 @@ class ORM(object): ' ORDER BY ' + self._order) res = cursor.dictfetchall() + print "res:", res else: res = [{'id':x} for x in ids] for field in fields_pre: if self._columns[field].translate: ids = [x['id'] for x in res] - res_trans = self.pool.get('ir.translation').get_ids(cursor, + res_trans = self.pool.get('ir.translation')._get_ids(cursor, self._name + ',' + field, 'model', context.get('lang', 'en_US'), ids) for i in res: diff --git a/trytond/osv/osv.py b/trytond/osv/osv.py index 58bcddf4f2..01d83c2b5c 100644 --- a/trytond/osv/osv.py +++ b/trytond/osv/osv.py @@ -30,7 +30,7 @@ class OSVService(Service): self.module_obj_list = {} self.created = [] self._sql_error = {} - Service.__init__(self, 'obj_proxy') + Service.__init__(self, 'object_proxy') Service.join_group(self, 'web-services') Service.export_method(self, self.object_name_list) Service.export_method(self, self.exec_workflow) diff --git a/trytond/res/__terp__.py b/trytond/res/__terp__.py index 59ba355cb7..820847e9e1 100644 --- a/trytond/res/__terp__.py +++ b/trytond/res/__terp__.py @@ -2,4 +2,8 @@ 'name': 'Res', 'active': True, 'depends': ['ir'], + 'update_xml': [ + 'user.xml', + 'lang.xml', + ] } diff --git a/trytond/res/lang.xml b/trytond/res/lang.xml new file mode 100644 index 0000000000..77aff885cf --- /dev/null +++ b/trytond/res/lang.xml @@ -0,0 +1,9 @@ + + + + + en_US + English + + + diff --git a/trytond/res/user.py b/trytond/res/user.py index 7d48ce7f98..98488b48b4 100644 --- a/trytond/res/user.py +++ b/trytond/res/user.py @@ -73,9 +73,9 @@ class Users(OSV): 'action_id': fields.Many2One('ir.actions.actions', 'Home Action'), 'menu_id': fields.Many2One('ir.actions.actions', 'Menu Action'), 'groups_id': fields.Many2Many('res.groups', 'res_groups_users_rel', - 'user', 'gid', 'Groups'), + 'uid', 'gid', 'Groups'), 'roles_id': fields.Many2Many('res.roles', 'res_roles_users_rel', - 'user', 'rid', 'Roles'), + 'uid', 'rid', 'Roles'), #'company_id': fields.Many2One('res.company', 'Company'), 'rule_groups': fields.Many2Many('ir.rule.group', 'user_rule_group_rel', 'user_id', 'rule_group_id', 'Rules', diff --git a/trytond/res/user.xml b/trytond/res/user.xml new file mode 100644 index 0000000000..24f2a0d5fc --- /dev/null +++ b/trytond/res/user.xml @@ -0,0 +1,17 @@ + + + + + admin + + + admin + admin + Administrator + Administrator + + + + + +