diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index e6bdd16f758..cac68d65048 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -227,8 +227,11 @@
-
-
+
+
+
+
@@ -257,8 +260,11 @@
-
-
+
+
+
+
diff --git a/bin/addons/base/res/res_config.py b/bin/addons/base/res/res_config.py
index 45abb8eef7e..3760173fcdb 100644
--- a/bin/addons/base/res/res_config.py
+++ b/bin/addons/base/res/res_config.py
@@ -19,13 +19,32 @@
#
##############################################################################
-from osv import osv
+from osv import osv, fields
import netsvc
class res_config_configurable(osv.osv_memory):
_name = 'res.config'
logger = netsvc.Logger()
+ def _progress(self, cr, uid, context=None):
+ total = self.pool.get('ir.actions.todo')\
+ .search_count(cr, uid, [], context)
+ open = self.pool.get('ir.actions.todo')\
+ .search_count(cr, uid,[('type','=','configure'),
+ ('active','=',True),
+ ('state','<>','open')],
+ context)
+ if total:
+ return round(open*100./total)
+ return 100.
+
+ _columns = dict(
+ progress=fields.float('Configuration Progress', readonly=True),
+ )
+ _defaults = dict(
+ progress=_progress
+ )
+
def _next_action(self, cr, uid):
todos = self.pool.get('ir.actions.todo')
self.logger.notifyChannel('actions', netsvc.LOG_INFO,