summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views
diff options
context:
space:
mode:
authorGaurav Panchal <gan@openerp.com>2014-08-20 10:48:06 +0530
committerRichard Mathot <rim@odoo.com>2015-05-08 11:20:54 +0200
commit3fe06da63409d8015f739b6f601e976862370d33 (patch)
tree8fe0146e113e222293694c4532f0285b90a87a00 /addons/web/static/src/js/views
parent42316d5aa58eb0528e44896cabb30ab4b3738e4a (diff)
[IMP] project,project_issue,sale: display the current contract state on some various objects like issues or tasks.
Implements a dynamic widget for selection fields to display this state with color codes.
Diffstat (limited to 'addons/web/static/src/js/views')
-rw-r--r--addons/web/static/src/js/views/form_widgets.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 685151d8de4..273b18958a1 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -934,6 +934,21 @@ var TimezoneMismatch = FieldSelection.extend({
}
});
+var LabelSelection = FieldSelection.extend({
+ init: function(field_manager, node) {
+ this._super(field_manager, node);
+ this.classes = this.options && this.options.classes || {};
+ },
+ render_value: function() {
+ this._super.apply(this, arguments);
+ if (this.get("effective_readonly")) {
+ var value = this.get('value'),
+ bt_class = this.classes[value] || 'default';
+ this.$el.html(_.str.sprintf("<span class='label label-%s'>%s<span>", bt_class, this.$el.html()));
+ }
+ },
+});
+
var FieldRadio = common.AbstractField.extend(common.ReinitializeFieldMixin, {
template: 'FieldRadio',
events: {
@@ -1626,7 +1641,8 @@ core.form_widget_registry
.add('priority', Priority)
.add('kanban_state_selection', KanbanSelection)
.add('statinfo', StatInfo)
- .add('timezone_mismatch', TimezoneMismatch);
+ .add('timezone_mismatch', TimezoneMismatch)
+ .add('label_selection', LabelSelection);
/**