diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 65f41768461..8f76633abb3 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1613,6 +1613,33 @@ label.error {
background: white;
min-width: 90px;
}
+.openerp .oe_list_progressbar_outer {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ border: 1px solid #AAAAAA;
+ background: #EEEEEE;
+ border-radius: 3px;
+ font-size: 11px;
+}
+.openerp .oe_list_progressbar_inner {
+ position: absolute;
+ top: 0;
+ left: 0;
+ border: 1px solid #AAAAAA;
+ background: #AAAAAA;
+ height: 100%;
+ margin-top: -1px;
+ margin-bottom: -1px;
+}
+.openerp .oe_list_progressbar_text {
+ position: relative;
+ text-align: center;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
.openerp tbody.ui-widget-content {
margin-bottom: 10px;
border-spacing: 4px;
diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js
index b45dfb8ab40..36bffd04f7a 100644
--- a/addons/web/static/src/js/formats.js
+++ b/addons/web/static/src/js/formats.js
@@ -1,7 +1,7 @@
openerp.web.formats = function(openerp) {
var _t = openerp.web._t;
-
+var QWeb = openerp.web.qweb;
/**
* Intersperses ``separator`` in ``str`` at the positions indicated by
* ``indices``.
@@ -336,11 +336,8 @@ openerp.web.format_cell = function (row_data, column, options) {
href: download_url,
size: row_data[column.id].value
});
- case 'progressbar':
- return _.template(
- '', {
- value: _.str.sprintf("%.0f", row_data[column.id].value || 0)
- });
+ case 'progressbar':
+ return QWeb.render('ListView.ProgressBar', {value: _.str.sprintf("%.0f", row_data[column.id].value || 0)})
}
return _.escape(openerp.web.format_value(
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 141e23a93b9..fe7d2c70c70 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -730,7 +730,12 @@
-
+
+
+