diff --git a/openerp/addons/base/base_update.xml b/openerp/addons/base/base_update.xml
index 7432018fd94..914e3a9a488 100644
--- a/openerp/addons/base/base_update.xml
+++ b/openerp/addons/base/base_update.xml
@@ -354,8 +354,9 @@
- always
+ on_trigger
1
+ skip
diff --git a/openerp/addons/base/ir/ir.xml b/openerp/addons/base/ir/ir.xml
index 8867dcd2351..f90c12f2e11 100644
--- a/openerp/addons/base/ir/ir.xml
+++ b/openerp/addons/base/ir/ir.xml
@@ -1918,7 +1918,7 @@
search
-
+
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 290eeb36509..9627db112ca 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -815,14 +815,14 @@ class ir_actions_todo(osv.osv):
'sequence': fields.integer('Sequence'),
'state': fields.selection(TODO_STATES, string='State', required=True),
'name':fields.char('Name', size=64),
- 'restart': fields.selection([('onskip','On Skip'),('always','Always'),('never','Never')],'Restart',required=True),
+ 'restart': fields.selection([('on_trigger','On Trigger'),('always','Always'),('never','Never')],'Restart',required=True),
'groups_id':fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
'note':fields.text('Text', translate=True),
}
_defaults={
'state': 'open',
'sequence': 10,
- 'restart': 'onskip',
+ 'restart': 'on_trigger',
}
_order="sequence,name,id"
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index 2e276433e63..aeb614dafaf 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -286,7 +286,17 @@ class module(osv.osv):
return demo
def button_install(self, cr, uid, ids, context=None):
- return self.state_update(cr, uid, ids, 'to install', ['uninstalled'], context)
+ self.state_update(cr, uid, ids, 'to install', ['uninstalled'], context)
+ return {
+ 'name': _('Install'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'base.module.upgrade',
+ 'target': 'new',
+ 'type': 'ir.actions.act_window',
+ 'nodestroy':True,
+ }
+
def button_install_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False})
@@ -306,7 +316,15 @@ class module(osv.osv):
if res:
raise orm.except_orm(_('Error'), _('Some installed modules depend on the module you plan to Uninstall :\n %s') % '\n'.join(map(lambda x: '\t%s: %s' % (x[0], x[1]), res)))
self.write(cr, uid, ids, {'state': 'to remove'})
- return True
+ return {
+ 'name': _('Uninstall'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'base.module.upgrade',
+ 'target': 'new',
+ 'type': 'ir.actions.act_window',
+ 'nodestroy':True,
+ }
def button_uninstall_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'installed'})
@@ -343,7 +361,16 @@ class module(osv.osv):
to_install.extend(ids2)
self.button_install(cr, uid, to_install, context=context)
- return True
+ return {
+ 'name': _('Upgrade'),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'base.module.upgrade',
+ 'target': 'new',
+ 'type': 'ir.actions.act_window',
+ 'nodestroy':True,
+ }
+# return True
def button_upgrade_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state': 'installed'})
diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml
index 16527641656..1683d2053b8 100644
--- a/openerp/addons/base/module/module_view.xml
+++ b/openerp/addons/base/module/module_view.xml
@@ -112,7 +112,7 @@
-
+
@@ -153,9 +153,9 @@
-
+
-
+
@@ -169,7 +169,7 @@
tree,form
- You can install new modules in order to activate new features, menu, reports or data in your OpenERP instance. To install some modules, click on the button "Schedule for Installation" from the form view, then click on "Apply Scheduled Upgrades" to migrate your system.
+ You can install new modules in order to activate new features, menu, reports or data in your OpenERP instance. To install some modules, click on the button "Install" from the form view and then click on "Start Upgrade".
diff --git a/openerp/addons/base/module/wizard/base_module_configuration.py b/openerp/addons/base/module/wizard/base_module_configuration.py
index 866b22905e0..e4da656d646 100644
--- a/openerp/addons/base/module/wizard/base_module_configuration.py
+++ b/openerp/addons/base/module/wizard/base_module_configuration.py
@@ -27,7 +27,7 @@ class base_module_configuration(osv.osv_memory):
_name = "base.module.configuration"
def start(self, cr, uid, ids, context=None):
- todo_ids = self.pool.get('ir.actions.todo').search(cr, uid, ['|', '|', ('restart','=','always'), ('state', '=', 'open'), '&', ('state', '=', 'skip'), ('restart', '=', 'onskip')])
+ todo_ids = self.pool.get('ir.actions.todo').search(cr, uid, ['|', '|', ('restart','=','always'), ('state', '=', 'open'), '&', ('state', '=', 'skip'), ('restart', '=', 'on_trigger')])
if not todo_ids:
# When there is no wizard todo it will display message
data_obj = self.pool.get('ir.model.data')
diff --git a/openerp/addons/base/module/wizard/base_module_configuration_view.xml b/openerp/addons/base/module/wizard/base_module_configuration_view.xml
index f8abf1e2732..be86145a156 100644
--- a/openerp/addons/base/module/wizard/base_module_configuration_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_configuration_view.xml
@@ -24,7 +24,7 @@
action = obj.start()
-
diff --git a/openerp/addons/base/module/wizard/base_module_upgrade_view.xml b/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
index b8bb282d6ed..08638ac7fd0 100644
--- a/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
+++ b/openerp/addons/base/module/wizard/base_module_upgrade_view.xml
@@ -36,7 +36,7 @@
id="menu_view_base_module_upgrade"
parent="menu_management"
sequence="3"/>
-
+
+ web_icon_hover="data/sales-hover.png"
+ groups="base.group_sale_salesman"/>
+
diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py
index 3f8c6f20b8d..e9d7867237b 100644
--- a/openerp/addons/base/res/res_config.py
+++ b/openerp/addons/base/res/res_config.py
@@ -120,7 +120,7 @@ class res_config_configurable(osv.osv_memory):
def start(self, cr, uid, ids, context=None):
ids2 = self.pool.get('ir.actions.todo').search(cr, uid, [], context=context)
for todo in self.pool.get('ir.actions.todo').browse(cr, uid, ids2, context=context):
- if (todo.restart=='always') or (todo.restart=='onskip' and (todo.state in ('skip','cancel'))):
+ if (todo.restart=='always'):
todo.write({'state':'open'})
return self.next(cr, uid, ids, context)
diff --git a/openerp/addons/base/security/base_security.xml b/openerp/addons/base/security/base_security.xml
index 0caf21e5196..114c5d2bd8b 100644
--- a/openerp/addons/base/security/base_security.xml
+++ b/openerp/addons/base/security/base_security.xml
@@ -29,12 +29,13 @@
Useability / No One
-
+
Sales / Manager
-
+
Sales / User
+