@@ -1880,14 +1844,10 @@
search
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 1d91ab823db..8861a59c368 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -210,10 +210,6 @@ class act_window(osv.osv):
res[act.id] = str(field_get)
return res
- def _get_help_status(self, cr, uid, ids, name, arg, context=None):
- activate_tips = self.pool.get('res.users').browse(cr, uid, uid).menu_tips
- return dict([(id, activate_tips) for id in ids])
-
_columns = {
'name': fields.char('Action Name', size=64, translate=True),
'type': fields.char('Action Type', size=32, required=True),
@@ -251,8 +247,6 @@ class act_window(osv.osv):
'help': fields.text('Action description',
help='Optional help text for the users with a description of the target view, such as its usage and purpose.',
translate=True),
- 'display_menu_tip':fields.function(_get_help_status, type='boolean', string='Display Menu Tips',
- help='It gives the status if the tip has to be displayed or not when a user executes an action'),
'multi': fields.boolean('Action on Multiple Doc.', help="If set to true, the action will not be displayed on the right toolbar of a form view"),
}
diff --git a/openerp/addons/base/ir/ir_filters.xml b/openerp/addons/base/ir/ir_filters.xml
index 55ebd11de4a..fec6b0a604e 100644
--- a/openerp/addons/base/ir/ir_filters.xml
+++ b/openerp/addons/base/ir/ir_filters.xml
@@ -54,13 +54,12 @@
-
+
-
diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py
index beed30a2178..42b582f38b6 100644
--- a/openerp/addons/base/ir/ir_model.py
+++ b/openerp/addons/base/ir/ir_model.py
@@ -96,9 +96,9 @@ class ir_model(osv.osv):
'field_id': fields.one2many('ir.model.fields', 'model_id', 'Fields', required=True),
'state': fields.selection([('manual','Custom Object'),('base','Base Object')],'Type',readonly=True),
'access_ids': fields.one2many('ir.model.access', 'model_id', 'Access'),
- 'osv_memory': fields.function(_is_osv_memory, string='In-Memory Model', type='boolean',
+ 'osv_memory': fields.function(_is_osv_memory, string='Transient Model', type='boolean',
fnct_search=_search_osv_memory,
- help="Indicates whether this object model lives in memory only, i.e. is not persisted (osv.osv_memory)"),
+ help="This field specifies whether the model is transient or not (i.e. if records are automatically deleted from the database or not)"),
'modules': fields.function(_in_modules, type='char', size=128, string='In Modules', help='List of modules in which the object is defined or inherited'),
'view_ids': fields.function(_view_ids, type='one2many', obj='ir.ui.view', string='Views'),
}
@@ -225,7 +225,7 @@ class ir_model_fields(osv.osv):
'required': fields.boolean('Required'),
'readonly': fields.boolean('Readonly'),
'select_level': fields.selection([('0','Not Searchable'),('1','Always Searchable'),('2','Advanced Search (deprecated)')],'Searchable', required=True),
- 'translate': fields.boolean('Translate', help="Whether values for this field can be translated (enables the translation mechanism for that field)"),
+ 'translate': fields.boolean('Translatable', help="Whether values for this field can be translated (enables the translation mechanism for that field)"),
'size': fields.integer('Size'),
'state': fields.selection([('manual','Custom Field'),('base','Base Field')],'Type', required=True, readonly=True, select=1),
'on_delete': fields.selection([('cascade','Cascade'),('set null','Set NULL')], 'On Delete', help='On delete property for many2one fields'),
diff --git a/openerp/addons/base/ir/workflow/workflow_view.xml b/openerp/addons/base/ir/workflow/workflow_view.xml
index 89809d327ae..c20eeaed085 100644
--- a/openerp/addons/base/ir/workflow/workflow_view.xml
+++ b/openerp/addons/base/ir/workflow/workflow_view.xml
@@ -15,14 +15,12 @@
form
-
-
@@ -166,16 +164,13 @@
-
-
-
@@ -206,14 +201,18 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -240,7 +239,6 @@
-
@@ -299,10 +297,8 @@
-
-
-
+
@@ -364,10 +360,8 @@
-
-
-
+
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index dba1962ae26..49a65acebca 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -363,8 +363,9 @@ class module(osv.osv):
if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'):
return config
- # reload the client
- menu_ids = self.root_menus(cr,uid,ids,context)
+ # reload the client; open the first available root menu
+ menu_obj = self.pool.get('ir.ui.menu')
+ menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
return {
'type': 'ir.actions.client',
'tag': 'reload',
@@ -456,7 +457,7 @@ class module(osv.osv):
to_install.extend(ids2)
self.button_install(cr, uid, to_install, context=context)
- return dict(ACTION_DICT, name=_('Upgrade'))
+ return dict(ACTION_DICT, name=_('Apply Schedule Upgrade'))
def button_upgrade_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'installed'})
@@ -481,6 +482,7 @@ class module(osv.osv):
'application': terp.get('application', False),
'auto_install': terp.get('auto_install', False),
'icon': terp.get('icon', False),
+ 'summary': terp.get('summary', ''),
}
# update the list of available packages
@@ -649,29 +651,6 @@ class module(osv.osv):
_logger.critical('module %s: invalid quality certificate: %s', mod.name, mod.certificate)
raise osv.except_osv(_('Error'), _('Module %s: Invalid Quality Certificate') % (mod.name,))
- def root_menus(self, cr, uid, ids, context=None):
- """ Return root menu ids the menus created by the modules whose ids are
- provided.
-
- :param list[int] ids: modules to get menus from
- """
- values = self.read(cr, uid, ids, ['name'], context=context)
- module_names = [i['name'] for i in values]
-
- ids = self.pool.get('ir.model.data').search(cr, uid, [ ('model', '=', 'ir.ui.menu'), ('module', 'in', module_names) ], context=context)
- values = self.pool.get('ir.model.data').read(cr, uid, ids, ['res_id'], context=context)
- all_menu_ids = [i['res_id'] for i in values]
-
- root_menu_ids = []
- for menu in self.pool.get('ir.ui.menu').browse(cr, uid, all_menu_ids, context=context):
- while menu.parent_id:
- menu = menu.parent_id
- if not menu.id in root_menu_ids:
- root_menu_ids.append((menu.sequence,menu.id))
- root_menu_ids.sort()
- root_menu_ids = [i[1] for i in root_menu_ids]
- return root_menu_ids
-
class module_dependency(osv.osv):
_name = "ir.module.module.dependency"
_description = "Module dependency"
diff --git a/openerp/addons/base/module/module_data.xml b/openerp/addons/base/module/module_data.xml
index c9b6a72c4b5..cbe7a937eb6 100644
--- a/openerp/addons/base/module/module_data.xml
+++ b/openerp/addons/base/module/module_data.xml
@@ -132,6 +132,11 @@
+
+
+
+
+
diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml
index 5624c8ff58c..8e12b9c932a 100644
--- a/openerp/addons/base/module/module_view.xml
+++ b/openerp/addons/base/module/module_view.xml
@@ -41,21 +41,17 @@
search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -70,6 +66,7 @@
+