diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index 26da68633f4..10e4607ef41 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -81,6 +81,8 @@
+
+
@@ -119,7 +121,9 @@
-
+
+
+
diff --git a/bin/addons/base/i18n/de.po b/bin/addons/base/i18n/de.po
index 775438ef1c9..89a660d7220 100644
--- a/bin/addons/base/i18n/de.po
+++ b/bin/addons/base/i18n/de.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 04:52+0000\n"
-"Last-Translator: Ferdinand @ ChriCar \n"
+"PO-Revision-Date: 2010-08-25 05:51+0000\n"
+"Last-Translator: Ferdinand-chricar \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/hr.po b/bin/addons/base/i18n/hr.po
index c7b57254a67..f32a1b908cd 100644
--- a/bin/addons/base/i18n/hr.po
+++ b/bin/addons/base/i18n/hr.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:46+0000\n"
+"PO-Revision-Date: 2010-08-25 06:11+0000\n"
"Last-Translator: Goran Kliska \n"
"Language-Team: openerp-translators\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Language: hr\n"
diff --git a/bin/addons/base/i18n/it.po b/bin/addons/base/i18n/it.po
index 3a5c77df161..0b57bd68c36 100644
--- a/bin/addons/base/i18n/it.po
+++ b/bin/addons/base/i18n/it.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:43+0000\n"
+"PO-Revision-Date: 2010-08-25 06:04+0000\n"
"Last-Translator: OpenERP Administrators \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/ja.po b/bin/addons/base/i18n/ja.po
index c4eb2f68dec..66cc4583318 100644
--- a/bin/addons/base/i18n/ja.po
+++ b/bin/addons/base/i18n/ja.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:38+0000\n"
+"PO-Revision-Date: 2010-08-25 05:58+0000\n"
"Last-Translator: Harry (Open ERP) \n"
"Language-Team: Japanese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/pt_BR.po b/bin/addons/base/i18n/pt_BR.po
index 428bae6c3c7..54612102c57 100644
--- a/bin/addons/base/i18n/pt_BR.po
+++ b/bin/addons/base/i18n/pt_BR.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:48+0000\n"
+"PO-Revision-Date: 2010-08-25 06:15+0000\n"
"Last-Translator: OpenERP Administrators \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:52+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/sv.po b/bin/addons/base/i18n/sv.po
index 714da197d2a..0f98966d0f6 100644
--- a/bin/addons/base/i18n/sv.po
+++ b/bin/addons/base/i18n/sv.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:34+0000\n"
+"PO-Revision-Date: 2010-08-25 05:46+0000\n"
"Last-Translator: Anders Wallenquist \n"
"Language-Team: <>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/uk.po b/bin/addons/base/i18n/uk.po
index 1aa0b90de61..02b4d1a1f22 100644
--- a/bin/addons/base/i18n/uk.po
+++ b/bin/addons/base/i18n/uk.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:41+0000\n"
+"PO-Revision-Date: 2010-08-25 06:01+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:51+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/zh_CN.po b/bin/addons/base/i18n/zh_CN.po
index 5de537f9c40..7d41ee2e2ee 100644
--- a/bin/addons/base/i18n/zh_CN.po
+++ b/bin/addons/base/i18n/zh_CN.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
-"PO-Revision-Date: 2010-08-24 05:44+0000\n"
+"PO-Revision-Date: 2010-08-25 06:08+0000\n"
"Last-Translator: Eleanor Chen \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-08-25 03:52+0000\n"
+"X-Launchpad-Export-Date: 2010-08-26 03:53+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py
index b888906b5d7..3094b7935dc 100644
--- a/bin/addons/base/ir/ir_actions.py
+++ b/bin/addons/base/ir/ir_actions.py
@@ -210,12 +210,14 @@ class act_window(osv.osv):
return res
def _get_help_status(self, cr, uid, ids, name, arg, context={}):
- cr.execute(""" SELECT action.id,
- CASE WHEN r.uid IS NULL THEN True ELSE False END
- AS help_status FROM ir_act_window action
- LEFT JOIN ir_act_window_user_rel r ON
- (action.id = r.act_id AND (r.uid IS NULL or r.uid= %s)) WHERE action.id = ANY(%s)""",(uid,ids,))
- return dict(cr.fetchall())
+ activate_tips = self.pool.get('res.users').browse(cr, uid, uid).menu_tips
+ if activate_tips:
+ cr.execute(""" SELECT action.id,
+ CASE WHEN r.uid IS NULL THEN True ELSE False END
+ AS help_status FROM ir_act_window action
+ LEFT JOIN ir_act_window_user_rel r ON
+ (action.id = r.act_id AND (r.uid IS NULL or r.uid= %s)) WHERE action.id = ANY(%s)""",(uid,ids,))
+ return dict(cr.fetchall())
_columns = {
'name': fields.char('Action Name', size=64, translate=True),
diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py
index 99e75fd7ec3..22962a03a5a 100644
--- a/bin/addons/base/res/res_user.py
+++ b/bin/addons/base/res/res_user.py
@@ -260,6 +260,8 @@ 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"),
+
}
def read(self,cr, uid, ids, fields=None, context=None, load='_classic_read'):
@@ -349,6 +351,7 @@ class users(osv.osv):
'company_ids': _get_companies,
'groups_id': _get_group,
'address_id': False,
+ 'menu_tips':True
}
@tools.cache()
@@ -356,7 +359,7 @@ class users(osv.osv):
return self._get_company(cr, uid, context=context, uid2=uid2)
# User can write to a few of her own fields (but not her groups for example)
- SELF_WRITEABLE_FIELDS = ['view', 'password', 'signature', 'action_id', 'company_id', 'user_email']
+ SELF_WRITEABLE_FIELDS = ['menu_tips','view', 'password', 'signature', 'action_id', 'company_id', 'user_email']
def write(self, cr, uid, ids, values, context=None):
if not hasattr(ids, '__iter__'):
diff --git a/bin/addons/base/rng/view.rng b/bin/addons/base/rng/view.rng
index 8bfbf3d0135..b5950576413 100644
--- a/bin/addons/base/rng/view.rng
+++ b/bin/addons/base/rng/view.rng
@@ -153,11 +153,9 @@
-
-
diff --git a/bin/osv/expression.py b/bin/osv/expression.py
index f251f0bc444..3aa77f693b0 100644
--- a/bin/osv/expression.py
+++ b/bin/osv/expression.py
@@ -71,7 +71,7 @@ class expression(object):
raise ValueError('Bad domain expression: %r' % (exp,))
self.__exp = exp
self.__field_tables = {} # used to store the table to use for the sql generation. key = index of the leaf
- self.__all_tables = set()
+ self.__all_tables = []
self.__joins = []
self.__main_table = None # 'root' table. set by parse()
self.__DUMMY_LEAF = (1, '=', 1) # a dummy leaf that must not be parsed or sql generated
@@ -106,7 +106,7 @@ class expression(object):
return [(left, 'in', rg(ids, table, parent or table._parent_name))]
self.__main_table = table
- self.__all_tables.add(table)
+ self.__all_tables.append(table)
i = -1
while i + 1 1:
- result_line['id'] = int(str(result_line['id']).split('-')[0])
new_data = {}
for field_name, field_column in fields_to_fetch:
if field_column._type in ('many2one', 'one2one'):
@@ -1923,12 +1921,12 @@ class orm_memory(orm_template):
self.vaccum(cr, user)
self.next_id += 1
id_new = self.next_id
- default = []
- for f in self._columns.keys():
- if not f in vals:
- default.append(f)
- if len(default):
- vals.update(self.default_get(cr, user, default, context))
+
+ # override defaults with the provided values, never allow the other way around
+ defaults = self.default_get(cr, user, [], context)
+ defaults.update(vals)
+ vals = defaults
+
vals2 = {}
upd_todo = []
for field in vals:
@@ -3396,7 +3394,9 @@ class orm(orm_template):
if default_values[dv] and isinstance(default_values[dv][0], (int, long)):
default_values[dv] = [(6, 0, default_values[dv])]
- vals.update(default_values)
+ # override defaults with the provided values, never allow the other way around
+ default_values.update(vals)
+ vals = default_values
tocreate = {}
for v in self._inherits:
@@ -3827,7 +3827,7 @@ class orm(orm_template):
# Allowing inherits'ed field for server side sorting
inherited_tables, inherit_join = self._inherits_join_calc(o, tables, where_clause)
if inherited_tables:
- inherited_sort_table = inherited_tables[0]
+ inherited_sort_table = inherited_tables[-1]
order_by = inherited_sort_table + '.' + order
limit_str = limit and ' limit %d' % limit or ''