-
+
@@ -1053,12 +1053,12 @@
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index ec5c8cce204..888397c90ac 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1233,31 +1233,22 @@ instance.web_kanban.AbstractField = instance.web.Widget.extend(instance.web_kanb
instance.web_kanban.Legend = instance.web_kanban.AbstractField.extend({
init: function(parent, field, $node) {
this._super.apply(this, arguments);
- this.parent = parent;
this.name = $node.attr('name')
+ this.parent = parent;
+ this.legend = new instance.web.Legend(this, parent.view.dataset, this.options);
+ },
+ reload_record: function(){
+ this.parent.do_reload();
},
renderElement: function() {
var self = this;
var legend_field = this.options.legend_field;
- var legend_field_value = this.parent.record[legend_field].raw_value
- var content = QWeb.render("Legend." + self.name, {
+ var legend_field_value = this.parent.record[legend_field].raw_value
+ self.legend.render_value(this.parent.id, {
'widget': self,
'legend_value': legend_field_value,
});
- this.$el.html(content);
- this.$el.click(self.execute_action.bind(self));
},
- execute_action: function(e){
- e.preventDefault();
- var li = $(e.target).closest( "li" );
- if (li.length){
- var parent = this.parent
- var value = li.data('value');
- return parent.view.dataset.call_button(this.options.action, [parent.id, value, parent.view.dataset.get_context()]).done(function(r) {
- parent.do_reload();
- });
- }
- }
});
From 805fef4f478082c3f4c733648c7c534c57dbadd5 Mon Sep 17 00:00:00 2001
From: "RGA(OpenERP)" <>
Date: Fri, 20 Dec 2013 19:38:24 +0530
Subject: [PATCH 08/37] [IMP] legend widget
bzr revid: rgaopenerp-20131220140824-2zr27ool75k60u1w
---
addons/web/static/src/js/view_form.js | 6 +++++-
addons/web/static/src/xml/base.xml | 4 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index a967a9c9d66..ede4d7a0c5d 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2343,7 +2343,10 @@ instance.web.Legend = instance.web.Widget.extend({
var self = this;
self.record_id = record_id;
var content = QWeb.render("Legend."+ self.parent.name, data);
- this.parent.$el.html(content);
+ if (data.view_mode === 'form')
+ this.parent.$el.html(content);
+ else
+ this.parent.$el = $(content);
if (!this.parent.get("effective_readonly")){
this.parent.$el.find('.oe_legend').click(self.do_action.bind(self));
}
@@ -2374,6 +2377,7 @@ instance.web.form.Legend = instance.web.form.FieldChar.extend({
self.legend.render_value(this.view.datarecord.id, {
'widget': self,
'legend_value': legend_value,
+ 'view_mode':'form'
});
},
});
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 5dc8d210a32..cd7005c7bfd 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1034,7 +1034,7 @@
-
+
From 54346578c86a10d14497f18e8b3aafc930eb6a2b Mon Sep 17 00:00:00 2001
From: "Mahendra Barad (OpenERP)"
Date: Thu, 26 Dec 2013 15:07:22 +0530
Subject: [PATCH 09/37] [IMP]improved title for tooltip
bzr revid: mba@tinyerp.com-20131226093722-mbv3s7jxjz5s1sjg
---
addons/web/static/src/xml/base.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index cd7005c7bfd..f3eba6dde09 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1036,7 +1036,7 @@
-
+
@@ -1053,12 +1053,12 @@
From d7e09b669c9118021020ff0e3da6ba041ec9c5c8 Mon Sep 17 00:00:00 2001
From: "Mahendra Barad (OpenERP)"
Date: Tue, 7 Jan 2014 18:28:32 +0530
Subject: [PATCH 10/37] [IMP]
bzr revid: mba@tinyerp.com-20140107125832-fzt8cceyj3et7hgy
---
addons/web/static/src/js/view_form.js | 41 +++++++++++++++++----
addons/web/static/src/xml/base.xml | 43 +++++++++++------------
addons/web_kanban/static/src/js/kanban.js | 7 ++--
3 files changed, 57 insertions(+), 34 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index ede4d7a0c5d..901a4bdcb72 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2338,11 +2338,42 @@ instance.web.Legend = instance.web.Widget.extend({
this.dataset = dataset;
this.options = options;
},
-
+ prepare_data: function() {
+ var self =this;
+ var def = $.Deferred();
+ if (this.parent.name == 'kanban_state'){
+ var datas = [{ 'name': 'normal', 'legend_name': ' Normal', 'legend': '' },
+ { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '' },
+ { 'name': 'done', 'legend_name': ' Done', 'legend': '' }]
+ return def.resolve(datas);
+ }
+ if (this.parent.name == 'priority'){
+ var data = [];
+ var selection = this.parent.field.selection || [];
+ for (var index in selection) {
+ value = {
+ 'name': selection[index][0],
+ 'legend_name': selection[index][1]
+ }
+ if (selection[index][0] == '0'){
+ value['legend']= '';
+ value['legend_name'] = 'Set the Priority';
+ }else{
+ value['legend']= '';
+ }
+ data.push(value)
+ }
+ return def.resolve(data);
+ }
+ },
render_value: function(record_id, data) {
var self = this;
+ var content;
self.record_id = record_id;
- var content = QWeb.render("Legend."+ self.parent.name, data);
+ this.prepare_data().then(function (res){
+ data['res'] = res;
+ content = QWeb.render("Legend."+ self.parent.name, data);
+ });
if (data.view_mode === 'form')
this.parent.$el.html(content);
else
@@ -2366,19 +2397,15 @@ instance.web.form.Legend = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
this.legend = new instance.web.Legend(this, this.view.dataset, py.eval(node.attrs.options));
},
-
reload_record: function(){
this.view.reload();
},
render_value: function() {
var self = this;
- var legend_field = this.options.legend_field;
- var legend_value = this.field_manager.fields[legend_field].get_value();
self.legend.render_value(this.view.datarecord.id, {
'widget': self,
- 'legend_value': legend_value,
'view_mode':'form'
- });
+ });
},
});
instance.web.form.FieldID = instance.web.form.FieldChar.extend({
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index f3eba6dde09..6fca2d3260e 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1032,35 +1032,34 @@
-
-
+
-
-
-
+
+
+
-
-
+
-
-
-
-
-
+
+
-
-
-
+
+
+
+
-
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 888397c90ac..8c9b3fab930 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1242,12 +1242,9 @@ instance.web_kanban.Legend = instance.web_kanban.AbstractField.extend({
},
renderElement: function() {
var self = this;
- var legend_field = this.options.legend_field;
- var legend_field_value = this.parent.record[legend_field].raw_value
- self.legend.render_value(this.parent.id, {
+ self.legend.render_value(self.parent.id, {
'widget': self,
- 'legend_value': legend_field_value,
- });
+ });
},
});
From fa1e5f648765a0699f08497a68259c1eeb713e7d Mon Sep 17 00:00:00 2001
From: "Mahendra Barad (OpenERP)"
Date: Wed, 8 Jan 2014 16:10:51 +0530
Subject: [PATCH 11/37] [IMP]improve widget legend
bzr revid: mba@tinyerp.com-20140108104051-5yhbtj4y1w87ygr2
---
addons/web/static/src/js/view_form.js | 54 ++++++++++++++-------------
addons/web/static/src/xml/base.xml | 10 ++---
2 files changed, 33 insertions(+), 31 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 901a4bdcb72..b2355a49872 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2338,42 +2338,44 @@ instance.web.Legend = instance.web.Widget.extend({
this.dataset = dataset;
this.options = options;
},
+ prepare_kanban_state_legend: function(){
+ return [{ 'name': 'normal', 'legend_name': ' Normal', 'legend': '' },
+ { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '' },
+ { 'name': 'done', 'legend_name': ' Done', 'legend': '' }]
+ },
+ prepare_priority_legend: function(){
+ var data = [];
+ var selection = this.parent.field.selection || [];
+ _.map(selection, function(res){
+ value = {
+ 'name': res[0],
+ 'legend_name': res[1]
+ }
+ if (res[0] == '0'){
+ value['legend']= '';
+ value['legend_name'] = 'Set the Priority';
+ }else{
+ value['legend']= '';
+ }
+ data.push(value)
+ });
+ return data;
+ },
prepare_data: function() {
var self =this;
- var def = $.Deferred();
if (this.parent.name == 'kanban_state'){
- var datas = [{ 'name': 'normal', 'legend_name': ' Normal', 'legend': '' },
- { 'name': 'blocked', 'legend_name': ' Blocked', 'legend': '' },
- { 'name': 'done', 'legend_name': ' Done', 'legend': '' }]
- return def.resolve(datas);
+ return self.prepare_kanban_state_legend();
}
if (this.parent.name == 'priority'){
- var data = [];
- var selection = this.parent.field.selection || [];
- for (var index in selection) {
- value = {
- 'name': selection[index][0],
- 'legend_name': selection[index][1]
- }
- if (selection[index][0] == '0'){
- value['legend']= '';
- value['legend_name'] = 'Set the Priority';
- }else{
- value['legend']= '';
- }
- data.push(value)
- }
- return def.resolve(data);
+ return self.prepare_priority_legend();
}
},
render_value: function(record_id, data) {
var self = this;
- var content;
self.record_id = record_id;
- this.prepare_data().then(function (res){
- data['res'] = res;
- content = QWeb.render("Legend."+ self.parent.name, data);
- });
+ var legend = this.prepare_data();
+ data['legends'] = legend;
+ var content = QWeb.render("Legend."+ self.parent.name, data);
if (data.view_mode === 'form')
this.parent.$el.html(content);
else
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 6fca2d3260e..4286f7cf689 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1034,13 +1034,13 @@
-
+
-
+
@@ -1011,7 +1011,7 @@
-
+
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 78d59163735..e8343034e62 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1288,7 +1288,7 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
self.record_id = self.parent.id;
var data = {'widget': self }
data['legends'] = self.prepare_priority();
- this.$el = $(QWeb.render("priority", data));
+ this.$el = $(QWeb.render("Priority", data));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -1312,7 +1312,7 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
},
});
-instance.web_kanban.Dropdown_Selection = instance.web_kanban.AbstractField.extend({
+instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend({
init: function(parent, field, $node) {
this._super.apply(this, arguments);
this.name = $node.attr('name')
@@ -1328,7 +1328,7 @@ instance.web_kanban.Dropdown_Selection = instance.web_kanban.AbstractField.exten
self.record_id = self.parent.id;
var data = {'widget': self }
data['states'] = self.prepare_dropdown_selection();
- this.$el = $(QWeb.render("dropdown_selection", data));
+ this.$el = $(QWeb.render("DropdownSelection", data));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -1347,7 +1347,7 @@ instance.web_kanban.Dropdown_Selection = instance.web_kanban.AbstractField.exten
instance.web_kanban.fields_registry = new instance.web.Registry({});
instance.web_kanban.fields_registry.add('priority','instance.web_kanban.Priority');
-instance.web_kanban.fields_registry.add('dropdown_selection','instance.web_kanban.Dropdown_Selection');
+instance.web_kanban.fields_registry.add('dropdown_selection','instance.web_kanban.DropdownSelection');
};
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
From 955f6c4cd7a73777646bd205ab2bc9799148dff0 Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Tue, 18 Mar 2014 14:50:12 +0530
Subject: [PATCH 21/37] [IMP]improve dropdown
bzr revid: mba@tinyerp.com-20140318092012-4ch33v0e4ej88t2z
---
addons/web/static/src/css/base.css | 1 +
addons/web/static/src/css/base.sass | 1 +
addons/web/static/src/js/view_form.js | 6 +++---
addons/web/static/src/xml/base.xml | 11 +++++++----
addons/web_kanban/static/src/js/kanban.js | 6 +++---
5 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 69ca592298c..7e615c56a5e 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -3435,6 +3435,7 @@ body.oe_single_form .oe_single_form_container {
background: white;
background: white !important;
min-width: 100%;
+ padding-right: 9px !important;
}
.dropdown-menu.state li a, .dropdown-menu.state li a:hover, .dropdown-menu.state li a:focus {
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 384bbcc3638..b034206c926 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2775,6 +2775,7 @@ body.oe_single_form
background: white
background: white !important
min-width: 100%
+ padding-right: 10px !important
.dropdown-menu.state li a, .dropdown-menu.state li a:hover, .dropdown-menu.state li a:focus
text-decoration: none
color: #333
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index eb92a86dbd1..c9344ae137e 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2337,9 +2337,9 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
},
prepare_dropdown_selection: function() {
- return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_class': 'btn-default' },
- { 'name': 'blocked', 'state_name': ' Blocked', 'state_class': 'btn-danger' },
- { 'name': 'done', 'state_name': ' Ready', 'state_class': 'btn-success' }]
+ return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': '' },
+ { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': '' },
+ { 'name': 'done', 'state_name': ' Ready', 'state_icon': '' }]
},
render_value: function() {
var self = this;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 6a0253d386b..505f3e5c02d 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1011,9 +1011,9 @@
-
-
-
+
+
+
Toggle Dropdown
@@ -1021,7 +1021,10 @@
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index e8343034e62..09920738e19 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1319,9 +1319,9 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
this.parent = parent;
},
prepare_dropdown_selection: function() {
- return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_class': 'btn-default' },
- { 'name': 'blocked', 'state_name': ' Blocked', 'state_class': 'btn-danger' },
- { 'name': 'done', 'state_name': ' Ready', 'state_class': 'btn-success' }]
+ return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': '' },
+ { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': '' },
+ { 'name': 'done', 'state_name': ' Ready', 'state_icon': '' }]
},
renderElement: function() {
var self = this;
From 0c621f477610d486a126d074d468942fe8deed53 Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Tue, 18 Mar 2014 18:59:48 +0530
Subject: [PATCH 22/37] [IMP]improve the dropdown selection widget
bzr revid: mba@tinyerp.com-20140318132948-85nnbkbwqri8gnld
---
addons/web/static/src/css/base.css | 57 ++++++++++++------
addons/web/static/src/css/base.sass | 70 +++++++++++++++++------
addons/web/static/src/js/view_form.js | 6 +-
addons/web/static/src/xml/base.xml | 8 +--
addons/web_kanban/static/src/js/kanban.js | 6 +-
5 files changed, 101 insertions(+), 46 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 7e615c56a5e..9bb218fceb2 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1,4 +1,4 @@
-@charset "utf-8";
+@charset "UTF-8";
@font-face {
font-family: "mnmliconsRegular";
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
@@ -3431,33 +3431,58 @@ body.oe_single_form .oe_single_form_container {
overflow: hidden !important;
}
}
-.dropdown-menu.state {
+.openerp .dropdown-menu.state {
background: white;
background: white !important;
min-width: 100%;
- padding-right: 9px !important;
+ padding-right: 10px !important;
}
-
-.dropdown-menu.state li a, .dropdown-menu.state li a:hover, .dropdown-menu.state li a:focus {
+.openerp .dropdown-menu.state li a, .openerp .dropdown-menu.state li a:hover, .openerp .dropdown-menu.state li a:focus {
text-decoration: none;
color: #333333;
padding-left: 5px;
padding-right: 0px;
+ font-size: 13px;
}
-
-.btn.btn-xs.btn-danger {
- color: white;
- text-decoration: none !important;
-}
-
-.btn.btn-xs.btn-default {
+.openerp .btn.btn-xs.btn-default {
color: #333333;
text-decoration: none !important;
+ float: none;
}
-
-.btn.btn-xs.btn-success {
- color: white;
- text-decoration: none !important;
+.openerp .btn-group:focus, .openerp .btn-group:hover {
+ padding: 1px 5px;
+ border: 1px solid #98999b;
+ display: inline;
+}
+.openerp .status {
+ display: inline-block;
+ position: relative;
+ height: 12px;
+ width: 12px;
+ -moz-border-radius: 6px;
+ -webkit-border-radius: 6px;
+ border-radius: 6px;
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
+ -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
+ background-position: center center;
+ background-image: radial-gradient(#dddddd 0%, #aaaaaa 40%, #999999 100%);
+ background-image: -moz-radial-gradient(#dddddd 0%, #aaaaaa 40%, #999999 100%);
+ background-image: -webkit-radial-gradient(circle, #dddddd 0%, #aaaaaa 40%, #999999 100%);
+}
+.openerp .status.error {
+ background: #cc3333;
+ background-position: center center;
+ background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%);
+ background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%);
+ background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%);
+}
+.openerp .status.ok {
+ background: #44dd44;
+ background-position: center center;
+ background-image: radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%);
+ background-image: -moz-radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%);
+ background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44cc44 40%, #33bb33 100%);
}
.ui-icon {
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index b034206c926..c95272cddb5 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2771,25 +2771,57 @@ body.oe_single_form
overflow: hidden !important
// }}}
-.dropdown-menu.state
- background: white
- background: white !important
- min-width: 100%
- padding-right: 10px !important
-.dropdown-menu.state li a, .dropdown-menu.state li a:hover, .dropdown-menu.state li a:focus
- text-decoration: none
- color: #333
- padding-left: 5px
- padding-right: 0px
-.btn.btn-xs.btn-danger
- color: #FFF
- text-decoration: none !important
-.btn.btn-xs.btn-default
- color: #333
- text-decoration: none !important
-.btn.btn-xs.btn-success
- color: #FFF
- text-decoration: none !important
+.openerp
+ .dropdown-menu.state
+ background: white
+ background: white !important
+ min-width: 100%
+ padding-right: 10px !important
+ .dropdown-menu.state li a, .dropdown-menu.state li a:hover, .dropdown-menu.state li a:focus
+ text-decoration: none
+ color: #333
+ padding-left: 5px
+ padding-right: 0px
+ font-size: 13px
+ .btn.btn-xs.btn-default
+ color: #333
+ text-decoration: none !important
+ float: none
+ .btn-group:focus, .btn-group:hover
+ padding: 1px 5px
+ border: 1px solid #98999B
+ display: inline
+
+ .status
+ display: inline-block
+ position: relative
+ height: 12px
+ width: 12px
+ -moz-border-radius: 6px
+ -webkit-border-radius: 6px
+ border-radius: 6px
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6)
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6)
+ -box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6)
+ background-position: center center
+ background-image: radial-gradient(#dddddd 0%, #aaaaaa 40%, #999999 100%)
+ background-image: -moz-radial-gradient(#dddddd 0%, #aaaaaa 40%, #999999 100%)
+ background-image: -webkit-radial-gradient(circle, #dddddd 0%, #aaaaaa 40%, #999999 100%)
+
+ .status.error
+ background: #cc3333
+ background-position: center center
+ background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%)
+ background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%)
+ background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%)
+
+ .status.ok
+ background: #44dd44
+ background-position: center center
+ background-image: radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%)
+ background-image: -moz-radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%)
+ background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44cc44 40%, #33bb33 100%)
+
// End hack }}}
// Hack for ui icon {{{
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index c9344ae137e..62367ad4fff 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2337,9 +2337,9 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
},
prepare_dropdown_selection: function() {
- return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': '' },
- { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': '' },
- { 'name': 'done', 'state_name': ' Ready', 'state_icon': '' }]
+ return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': 'status' },
+ { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': 'status error' },
+ { 'name': 'done', 'state_name': ' Ready', 'state_icon': 'status ok' }]
},
render_value: function() {
var self = this;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 505f3e5c02d..f7dd56f7f5f 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1011,9 +1011,8 @@
-
-
-
+
+
Toggle Dropdown
@@ -1022,8 +1021,7 @@
-
-
-
+
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 09920738e19..b78b5c9db60 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1319,9 +1319,9 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
this.parent = parent;
},
prepare_dropdown_selection: function() {
- return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': '' },
- { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': '' },
- { 'name': 'done', 'state_name': ' Ready', 'state_icon': '' }]
+ return [{ 'name': 'normal', 'state_name': ' In Progress', 'state_icon': 'status' },
+ { 'name': 'blocked', 'state_name': ' Blocked', 'state_icon': 'status error' },
+ { 'name': 'done', 'state_name': ' Ready', 'state_icon': 'status ok' }]
},
renderElement: function() {
var self = this;
From 002f663d2951e17d6cbc60a322a73f38c80d0e56 Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Thu, 20 Mar 2014 11:25:24 +0530
Subject: [PATCH 23/37] [IMP]imrpove the style of dropdodwnselection
bzr revid: mba@tinyerp.com-20140320055524-szvqd1d8i2sgpe2l
---
addons/web/static/src/css/base.css | 16 ++++++++--------
addons/web/static/src/css/base.sass | 16 +++++++---------
addons/web/static/src/js/view_form.js | 4 ++++
addons/web/static/src/xml/base.xml | 6 +++---
addons/web_kanban/static/src/js/kanban.js | 3 +++
5 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 9bb218fceb2..535a5be2b62 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -3444,15 +3444,15 @@ body.oe_single_form .oe_single_form_container {
padding-right: 0px;
font-size: 13px;
}
-.openerp .btn.btn-xs.btn-default {
- color: #333333;
- text-decoration: none !important;
- float: none;
+.openerp .btn-group.state {
+ padding-top: 3px;
}
-.openerp .btn-group:focus, .openerp .btn-group:hover {
- padding: 1px 5px;
- border: 1px solid #98999b;
- display: inline;
+.openerp .btn-group.state a {
+ color: #333333;
+}
+.openerp .btn-group.state a:hover {
+ text-decoration: none;
+ color: #333333;
}
.openerp .status {
display: inline-block;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index c95272cddb5..8873752d4d2 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2783,15 +2783,13 @@ body.oe_single_form
padding-left: 5px
padding-right: 0px
font-size: 13px
- .btn.btn-xs.btn-default
- color: #333
- text-decoration: none !important
- float: none
- .btn-group:focus, .btn-group:hover
- padding: 1px 5px
- border: 1px solid #98999B
- display: inline
-
+ .btn-group.state
+ padding-top: 3px
+ .btn-group.state a
+ color: #333333
+ .btn-group.state a:hover
+ text-decoration: none
+ color: #333333
.status
display: inline-block
position: relative
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 62367ad4fff..a7d8c09ea58 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2348,6 +2348,10 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
data['states'] = self.prepare_dropdown_selection();
this.$el.html(QWeb.render("DropdownSelection", data));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
+ this.$el.on('mouseenter mouseleave', function(e) {
+ self.$el.find('.caret').toggleClass('hidden', e.type == 'mouseleave');
+ });
+
},
do_action: function(e) {
var self = this;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index f7dd56f7f5f..08d66d92567 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1009,11 +1009,11 @@
-
+
-
-
+
+
Toggle Dropdown
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index b78b5c9db60..934de72c570 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1330,6 +1330,9 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
data['states'] = self.prepare_dropdown_selection();
this.$el = $(QWeb.render("DropdownSelection", data));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
+ this.$el.on('mouseenter mouseleave', function(e) {
+ self.$el.find('.caret').toggleClass('hidden', e.type == 'mouseleave');
+ });
},
do_action: function(e) {
var self = this;
From 007f39fd5bc7a615eb89a8bd4ffdec74b0815eab Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Thu, 20 Mar 2014 14:31:47 +0530
Subject: [PATCH 24/37] [IMP]improve the css for dropdown selection
bzr revid: mba@tinyerp.com-20140320090147-3znrq8fl5e64722d
---
addons/web/static/src/css/base.css | 3 +++
addons/web/static/src/css/base.sass | 2 ++
2 files changed, 5 insertions(+)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 535a5be2b62..3c7b2432b24 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -3454,6 +3454,9 @@ body.oe_single_form .oe_single_form_container {
text-decoration: none;
color: #333333;
}
+.openerp .btn-group.state .dropdown-toggle {
+ -webkit-box-shadow: None;
+}
.openerp .status {
display: inline-block;
position: relative;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 8873752d4d2..004188b5576 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2790,6 +2790,8 @@ body.oe_single_form
.btn-group.state a:hover
text-decoration: none
color: #333333
+ .btn-group.state .dropdown-toggle
+ -webkit-box-shadow: None
.status
display: inline-block
position: relative
From 002f33961e3e2930763fd1ccfae899b176f65677 Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Thu, 3 Apr 2014 18:50:33 +0530
Subject: [PATCH 25/37] [IMP]fix typo
bzr revid: mba@tinyerp.com-20140403132033-4b5yj6uy0mfokao5
---
addons/web/static/src/js/view_form.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index a2b7b34b6c8..f7527dac516 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -6066,7 +6066,7 @@ instance.web.form.widgets = new instance.web.Registry({
'many2many_checkboxes': 'instance.web.form.FieldMany2ManyCheckBoxes',
'x2many_counter': 'instance.web.form.X2ManyCounter',
'priority':'instance.web.form.Priority',
- 'dropdown_selection':'instance.web.form.DropdownSelection'
+ 'dropdown_selection':'instance.web.form.DropdownSelection',
'statinfo': 'instance.web.form.StatInfo',
});
From daf69ced12fa500fa772952a6448f708bd631ecd Mon Sep 17 00:00:00 2001
From: "Rashmin Lumbhani (OpenERP)"
Date: Fri, 11 Apr 2014 17:53:20 +0530
Subject: [PATCH 26/37] [IMP]add blocked reason dialog
bzr revid: rlu@tinyerp.com-20140411122320-o0zmebvaz0985mrx
---
addons/web/static/src/js/view_form.js | 59 ++++++++++++++++++++---
addons/web_kanban/static/src/js/kanban.js | 45 +++++++++++++++--
2 files changed, 94 insertions(+), 10 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 04e9687115f..5fbbd1e84ef 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2367,7 +2367,42 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
this.$el.on('mouseenter mouseleave', function(e) {
self.$el.find('.caret').toggleClass('hidden', e.type == 'mouseleave');
});
-
+ },
+ on_click_block_reason: function(event) {
+ var self = this;
+ var li = $(event.target).closest( "li" );
+ $('div.oe_edit_actions').remove();
+ self.$dialog = new instance.web.dialog($(''), {
+ modal: true,
+ width: 'auto',
+ height: 'auto',
+ title: _t('Reason for blocking'),
+ buttons: [
+ {
+ class: 'oe_highlight',
+ text: _t("Block"), click: function() {
+ if ($("#txtReason").val() == "") {
+ alert('Reason Required');
+ } else {
+ value[self.name] = String(li.data('value'));
+ var reason = $("#txtReason").val()
+ $(this).dialog("close");
+ if (self.record_id) {
+ self.view.dataset._model.call('write', [[self.record_id], value, self.view.dataset.get_context()])
+ return self.view.dataset._model.call('message_post', [[self.record_id], reason]).done(self.reload_record.bind(self));
+ } else {
+ return self.view.on_button_save().done(function(result) {
+ if (result) {
+ self.view.dataset._model.call('write', [[result], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
+ }
+ });
+ }
+ };
+ }
+ },
+ { text: _t("Cancel"), click: function() { $(this).dialog("close"); }}
+ ],
+ });
},
do_action: function(e) {
var self = this;
@@ -2375,12 +2410,22 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
if (li.length) {
var value = {};
value[self.name] = String(li.data('value'));
- if (self.record_id) {
- return self.view.dataset._model.call('write', [[self.record_id], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
- } else {
- return self.view.on_button_save().done(function(result) {
- if (result) {
- self.view.dataset._model.call('write', [[result], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
+ if (self.view.datarecord.stage_id) {
+ var stage_id = _.isArray(self.view.datarecord.stage_id) ? self.view.datarecord.stage_id[0] : self.view.datarecord.stage_id
+ new openerp.web.Model(self.view.fields.stage_id.field.relation).query([])
+ .filter([["id", "=", stage_id]]).first().then(function(res) {
+ if ((res.block_reason) && value[self.name] == 'blocked') {
+ self.on_click_block_reason(e);
+ } else {
+ if (self.record_id) {
+ return self.view.dataset._model.call('write', [[self.record_id], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
+ } else {
+ return self.view.on_button_save().done(function(result) {
+ if (result) {
+ self.view.dataset._model.call('write', [[result], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
+ }
+ });
+ }
}
});
}
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 934de72c570..919e5cb17bc 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1334,15 +1334,54 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
self.$el.find('.caret').toggleClass('hidden', e.type == 'mouseleave');
});
},
+
+ on_click_block_reason: function(event) {
+ var self = this;
+ var li = $(event.target).closest( "li" );
+ $('div.oe_edit_actions').remove();
+ self.$dialog = new instance.web.dialog($(''), {
+ modal: true,
+ width: 'auto',
+ height: 'auto',
+ title: _t('Reason for blocking'),
+ buttons: [
+ {
+ class: 'oe_highlight',
+ text: _t("Block"), click: function() {
+ if ($("#txtReason").val() == "") {
+ alert('Reason Required');
+ } else {
+ value[self.name] = String(li.data('value'));
+ var reason = $("#txtReason").val();
+ $(this).dialog("close");
+ self.parent.view.dataset._model.call('write', [[self.record_id], value, self.parent.view.dataset.get_context()]).done(self.reload_record.bind(self.parent));
+ return self.parent.view.dataset._model.call('message_post', [[self.record_id], reason]);
+ };
+ }},
+ { text: _t("Cancel"), click: function() { $(this).dialog("close"); }}
+ ],
+ });
+},
do_action: function(e) {
var self = this;
var li = $(e.target).closest( "li" );
if (li.length) {
var value = {};
value[self.name] = String(li.data('value'));
- return self.parent.view.dataset._model.call('write', [[self.record_id], value, self.parent.view.dataset.get_context()]).done(self.reload_record.bind(self.parent));
- }
- },
+ if (self.parent.group.value) {
+ var stage_id = self.parent.group.value
+ new openerp.web.Model(self.parent.record.stage_id.relation).query([])
+ .filter([["id", "=", stage_id]]).first().then(function(res) {
+ if ((res.block_reason) && value[self.name] == 'blocked') {
+ self.on_click_block_reason(e);
+ } else {
+ return self.parent.view.dataset._model.call('write', [[self.record_id], value, self.parent.view.dataset.get_context()]).done(self.reload_record.bind(self.parent));
+ }
+ });
+ }
+ }
+ },
+
reload_record: function() {
this.do_reload();
},
From c28afcf88e81576d05bfb4a9a7650522ca4c814e Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Fri, 11 Apr 2014 18:37:08 +0530
Subject: [PATCH 27/37] [IMP]fix typo
bzr revid: mba@tinyerp.com-20140411130708-2pymt9n3qovpcmlu
---
addons/web/static/src/js/view_form.js | 1 +
addons/web_kanban/static/src/js/kanban.js | 1 +
2 files changed, 2 insertions(+)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 5fbbd1e84ef..c1fa3284202 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2384,6 +2384,7 @@ instance.web.form.DropdownSelection = instance.web.form.FieldChar.extend({
if ($("#txtReason").val() == "") {
alert('Reason Required');
} else {
+ value = {}
value[self.name] = String(li.data('value'));
var reason = $("#txtReason").val()
$(this).dialog("close");
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 919e5cb17bc..e036a1b5fc3 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1351,6 +1351,7 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
if ($("#txtReason").val() == "") {
alert('Reason Required');
} else {
+ value = {}
value[self.name] = String(li.data('value'));
var reason = $("#txtReason").val();
$(this).dialog("close");
From 6b5e3eed2e8457e86ae74827eecce56029780f9d Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Tue, 15 Apr 2014 15:18:43 +0530
Subject: [PATCH 28/37] [IMP]improve css for oe_star_left
bzr revid: mba@tinyerp.com-20140415094843-73octusya5941hua
---
addons/web/static/src/css/base.css | 4 ++++
addons/web/static/src/css/base.sass | 3 +++
addons/web/static/src/xml/base.xml | 4 ++--
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 16ba4fe78ea..7fae47dc059 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -3375,6 +3375,10 @@ body.oe_single_form .oe_single_form_container {
background-image: -moz-radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%);
background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44cc44 40%, #33bb33 100%);
}
+.openerp .oe_star_left {
+ float: left;
+ margin-right: 8px;
+}
.ui-icon {
width: 18px;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 92f07743869..92fb4c0c289 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2748,6 +2748,9 @@ body.oe_single_form
background-image: -moz-radial-gradient(#55dd55 0%, #44cc44 40%, #33bb33 100%)
background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44cc44 40%, #33bb33 100%)
+ .oe_star_left
+ float: left
+ margin-right: 8px
// End hack }}}
// Hack for ui icon {{{
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index b69d9b6c249..95c2d4236ff 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1045,12 +1045,12 @@
From 5979488e357033070d41ad49e5b7cd6aaf75c83a Mon Sep 17 00:00:00 2001
From: Barad Mahendra
Date: Wed, 16 Apr 2014 15:20:23 +0530
Subject: [PATCH 29/37] [IMP]imporve dropdown_selection tamplate
bzr revid: mba@tinyerp.com-20140416095023-hh0dkh837r7team5
---
addons/web/static/src/xml/base.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 95c2d4236ff..c34cf65c648 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1024,10 +1024,10 @@
-
+
-
- Toggle Dropdown
+
+ Toggle Dropdown
-
-
-
-
+
diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css
index db43cc00586..ce77c543579 100644
--- a/addons/web_kanban/static/src/css/kanban.css
+++ b/addons/web_kanban/static/src/css/kanban.css
@@ -9,8 +9,6 @@
.openerp .oe_kanban_view .oe_view_nocontent {
position: relative;
max-width: none;
- z-index: 1;
- width: 100%;
height: 100%;
}
.openerp .oe_kanban_view .oe_view_nocontent .oe_view_nocontent_content {
@@ -165,9 +163,6 @@
.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_column_cards {
height: 100%;
}
-.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_column_cards {
- height: 100%;
-}
.openerp .oe_kanban_view .oe_kanban_aggregates {
padding: 0;
margin: 0px;
@@ -522,37 +517,6 @@
position: relative;
top: 2px;
}
-.openerp .oe_kanban_view .oe_kanban_status {
- position: relative;
- top: 4px;
- display: inline-block;
- height: 12px;
- width: 12px;
- -moz-border-radius: 6px;
- -webkit-border-radius: 6px;
- border-radius: 6px;
- background-position: center center;
- background-image: -webkit-radial-gradient(circle, #eeeeee 0%, #cccccc 40%, #bbbbbb 100%);
- background-image: -moz-radial-gradient(#eeeeee 0%, #cccccc 40%, #bbbbbb 100%);
- background-image: -ms-radial-gradient(#eeeeee 0%, #cccccc 40%, #bbbbbb 100%);
- background-image: radial-gradient(#eeeeee 0%, #cccccc 40%, #bbbbbb 100%);
-}
-.openerp .oe_kanban_view .oe_kanban_status_green {
- background: green;
- background-position: center center;
- background-image: -webkit-radial-gradient(circle, #55dd55 0%, #44aa44 40%, #339933 100%);
- background-image: -moz-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%);
- background-image: -ms-radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%);
- background-image: radial-gradient(#55dd55 0%, #44aa44 40%, #339933 100%);
-}
-.openerp .oe_kanban_view .oe_kanban_status_red {
- background: red;
- background-position: center center;
- background-image: -webkit-radial-gradient(circle, #ee7777 0%, #cc3333 40%, #bb0808 100%);
- background-image: -moz-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%);
- background-image: -ms-radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%);
- background-image: radial-gradient(#ee7777 0%, #cc3333 40%, #bb0808 100%);
-}
.openerp .oe_kanban_view .oe_kanban_text_red {
color: #a61300;
font-weight: bold;
diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass
index 77533c1182e..0b70b056f27 100644
--- a/addons/web_kanban/static/src/css/kanban.sass
+++ b/addons/web_kanban/static/src/css/kanban.sass
@@ -454,20 +454,6 @@
position: relative
top: 2px
- .oe_kanban_status
- position: relative
- top: 4px
- display: inline-block
- height: 12px
- width: 12px
- @include radius(6px)
- @include radial-gradient((#eee 0%, #ccc 40%, #bbb 100%))
- .oe_kanban_status_green
- background: green
- @include radial-gradient((#55dd55 0%, #44aa44 40%, #339933 100%))
- .oe_kanban_status_red
- background: red
- @include radial-gradient((#ee7777 0%, #cc3333 40%, #bb0808 100%))
.oe_kanban_text_red
color: #A61300
font-weight: bold
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index c0c16bc9a0f..3c122318ebd 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1318,33 +1318,25 @@ instance.web_kanban.DropdownSelection = instance.web_kanban.AbstractField.extend
this.parent = parent;
},
prepare_dropdown_selection: function() {
- var self = this;
var data = [];
- var selection = self.field.selection || [];
- _.map(selection, function(res) {
- var state_class;
- if (res[0] == 'normal')
- state_class = 'status'
- else if(res[0] == 'done')
- state_class = 'status ok'
- else
- state_class = 'status error'
- value = {
+ _.map(this.field.selection || [], function(res) {
+ var value = {
'name': res[0],
'tooltip': res[1],
'state_name': res[1],
- 'state_class': state_class
}
- data.push(value)
+ if (res[0] == 'normal') { value['state_class'] = 'oe_kanban_status'; }
+ else if (res[0] == 'done') { value['state_class'] = 'oe_kanban_status oe_kanban_status_green'; }
+ else { value['state_class'] = 'oe_kanban_status oe_kanban_status_red'; }
+ data.push(value);
});
return data;
},
renderElement: function() {
var self = this;
- self.record_id = self.parent.id;
- var data = {'widget': self }
- data['states'] = self.prepare_dropdown_selection();
- this.$el = $(QWeb.render("DropdownSelection", data));
+ this.record_id = self.parent.id;
+ this.states = self.prepare_dropdown_selection();;
+ this.$el = $(QWeb.render("DropdownSelection", {'widget': self}));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
From 750cc768c110092c3476b33ad7ef0a278cabf960 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Thu, 8 May 2014 16:05:45 +0200
Subject: [PATCH 34/37] [CLEAN] web: cleaned priority widget implementation:
cleaned xml / js code
bzr revid: tde@openerp.com-20140508140545-kkogxe1dhbh7ryrk
---
addons/web/static/src/js/view_form.js | 36 +++++++++--------------
addons/web/static/src/xml/base.xml | 17 ++++-------
addons/web_kanban/static/src/js/kanban.js | 36 +++++++++--------------
3 files changed, 34 insertions(+), 55 deletions(-)
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 54c8535dc1d..11dffacd161 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -2420,28 +2420,27 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({
this._super(field_manager, node);
},
prepare_priority: function() {
- var data = [];
+ var self = this;
var selection = this.field.selection || [];
- _.map(selection, function(res) {
- value = {
- 'name': res[0],
- 'legend_name': res[1]
+ var init_value = selection && selection[0][0] || 0;
+ var data = _.map(selection.slice(1), function(element, index) {
+ var value = {
+ 'value': element[0],
+ 'name': element[1],
+ 'click_value': element[0],
}
- if (res[0] == '0') {
- value['legend']= '7';
- } else {
- value['legend']= '7';
+ if (index == 0 && self.get('value') == element[0]) {
+ value['click_value'] = init_value;
}
- data.push(value)
+ return value;
});
return data;
},
render_value: function() {
var self = this;
- var data = {'widget': self }
- self.record_id = self.view.datarecord.id;
- data['legends'] = self.prepare_priority();
- this.$el.html(QWeb.render("Priority", data));
+ this.record_id = self.view.datarecord.id;
+ this.priorities = self.prepare_priority();
+ this.$el.html(QWeb.render("Priority", {'widget': this}));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -2449,14 +2448,7 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({
var li = $(e.target).closest( "li" );
if (li.length) {
var value = {};
- if (self.val == li.data('value') && self.check_star) {
- value[self.name] = String(li.data('value') - 1);
- self.check_star = false
- } else {
- value[self.name] = String(li.data('value'));
- self.check_star = true;
- }
- self.val = li.data('value')
+ value[self.name] = String(li.data('value'));
if (self.record_id) {
return self.view.dataset._model.call('write', [[self.record_id], value, self.view.dataset.get_context()]).done(self.reload_record.bind(self));
} else {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index b91f7ea2c99..ff56f6fd34c 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1034,7 +1034,6 @@
-
Toggle Dropdown
@@ -1045,7 +1044,6 @@
-
-
@@ -1055,15 +1053,12 @@
-
-
-
-
-
-
-
-
-
+
+ -
+
+ 7
+
+
diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js
index 3c122318ebd..ffb4d5c3d78 100644
--- a/addons/web_kanban/static/src/js/kanban.js
+++ b/addons/web_kanban/static/src/js/kanban.js
@@ -1266,28 +1266,27 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
this.parent = parent;
},
prepare_priority: function() {
- var data = [];
+ var self = this;
var selection = this.field.selection || [];
- _.map(selection, function(res) {
- value = {
- 'name': res[0],
- 'legend_name': res[1]
+ var init_value = selection && selection[0][0] || 0;
+ var data = _.map(selection.slice(1), function(element, index) {
+ var value = {
+ 'value': element[0],
+ 'name': element[1],
+ 'click_value': element[0],
}
- if (res[0] == '0') {
- value['legend'] = '7';
- } else {
- value['legend'] = '7';
+ if (index == 0 && self.get('value') == element[0]) {
+ value['click_value'] = init_value;
}
- data.push(value)
+ return value;
});
return data;
},
renderElement: function() {
var self = this;
- self.record_id = self.parent.id;
- var data = {'widget': self }
- data['legends'] = self.prepare_priority();
- this.$el = $(QWeb.render("Priority", data));
+ this.record_id = self.parent.id;
+ this.priorities = self.prepare_priority();
+ this.$el = $(QWeb.render("Priority", {'widget': this}));
this.$el.find('.oe_legend').click(self.do_action.bind(self));
},
do_action: function(e) {
@@ -1295,14 +1294,7 @@ instance.web_kanban.Priority = instance.web_kanban.AbstractField.extend({
var li = $(e.target).closest( "li" );
if (li.length) {
var value = {};
- if (self.parent.val == li.data('value') && self.parent.check_star) {
- value[self.name] = String(li.data('value') - 1);
- self.parent.check_star = false
- } else {
- value[self.name] = String(li.data('value'));
- self.parent.check_star = true;
- }
- self.parent.val = li.data('value')
+ value[self.name] = String(li.data('value'));
return self.parent.view.dataset._model.call('write', [[self.record_id], value, self.parent.view.dataset.get_context()]).done(self.reload_record.bind(self.parent));
}
},
From 15e28717b4c2961ea97c431d60fe637b805614d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Thu, 8 May 2014 17:25:16 +0200
Subject: [PATCH 35/37] [FIX] priority widget: css fixes
bzr revid: tde@openerp.com-20140508152516-1rv69jatyswj8e4r
---
addons/web/static/src/css/base.css | 2 +-
addons/web/static/src/css/base.sass | 2 +-
addons/web/static/src/xml/base.xml | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index da44e55991d..f02dc3c7fd7 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -426,7 +426,7 @@
text-shadow: 0 0 2px black;
vertical-align: top;
position: relative;
- top: -5px;
+ top: -8px;
}
.openerp .oe_webclient .oe_star_on:hover, .openerp .oe_webclient .oe_star_off:hover {
text-decoration: none;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 260b9e22484..c15c90abb7a 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -404,7 +404,7 @@ $sheet-padding: 16px
text-shadow: 0 0 2px black
vertical-align: top
position: relative
- top: -5px
+ top: -8px
.oe_star_on:hover, .oe_star_off:hover
text-decoration: none
.oe_star_on
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index ff56f6fd34c..1b72d0c849c 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -1052,9 +1052,9 @@