diff options
| author | Gaurav Panchal <gan@openerp.com> | 2014-08-20 10:48:06 +0530 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2015-05-08 11:20:54 +0200 |
| commit | 3fe06da63409d8015f739b6f601e976862370d33 (patch) | |
| tree | 8fe0146e113e222293694c4532f0285b90a87a00 /addons/web/static | |
| parent | 42316d5aa58eb0528e44896cabb30ab4b3738e4a (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')
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 18 |
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); /** |
