From f71dd62f2b5d75fddcb584aa4489d5bf571ff338 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 19 Sep 2012 09:48:22 +0200 Subject: [PATCH 1/3] [IMP] kanban: temp bzr revid: chm@openerp.com-20120919074822-ytdwjw1ubai4x4lf --- addons/web_kanban/static/src/js/kanban.js | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 970a4e81fca..1e88a1f734f 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -185,27 +185,30 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ arg={}; // select all widget self.$el.find(".oe_kanban_many2many_tags").each(function(){ - var model = $(this).attr("model"); - var data = $(this).attr("data"); - var list = data.split(","); - //select all id (per model) - if(!arg[model]) arg[model]=[]; - for(var t=0;t0){ + var block = self.$el.find(".oe_kanban_many2many_tags[model='" + model + "']"); var dataset = new instance.web.DataSetSearch(self, model, self.session.context); dataset.name_get(_.uniq( arg[model] )).then( function(result) { for(var t=0;t'+result[t][1]+''); } } ); + console.log("kanban 212 ",block); } } }, @@ -396,8 +399,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } else { this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle'); } - - this.transform_widget_many2many(); + self.transform_widget_many2many(); }, on_record_moved : function(record, old_group, old_index, new_group, new_index) { var self = this; @@ -416,6 +418,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.dataset.write(record.id, data, {}, function() { record.do_reload(); new_group.do_save_sequences(); + self.transform_widget_many2many(); }).fail(function(error, evt) { evt.preventDefault(); alert("An error has occured while moving the record to this group."); @@ -732,9 +735,6 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ transform_record: function(record) { var self = this, new_record = {}; - - console.log(this, record); - _.each(record, function(value, name) { var r = _.clone(self.view.fields_view.fields[name] || {}); if ((r.type === 'date' || r.type === 'datetime') && value) { From fd4f57e037ae7e38288f3625e1cccaae04b9edcd Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 19 Sep 2012 10:32:01 +0200 Subject: [PATCH 2/3] [IMP] note: tags in header for form view bzr revid: chm@openerp.com-20120919083201-q1vfazurar2kjcew --- addons/web/static/src/css/base.css | 7 ++++++- addons/web/static/src/css/base.sass | 8 +++++++- addons/web_kanban/static/src/js/kanban.js | 6 +++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 10ee9dea2de..a665105bc3a 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -531,6 +531,11 @@ .openerp .oe_tags.oe_inline { min-width: 250px; } +.openerp .oe_form header .oe_tags { + margin:5px 0 0 5px; + width:400px; + padding-bottom:0; +} .openerp .oe_tags .text-wrap { width: 100% !important; } @@ -1914,7 +1919,7 @@ } .openerp .oe_form_nosheet > header { margin: -16px -16px 0 -16px; - padding: 8px; + padding: 0; } .openerp .oe_form_sheetbg { padding: 8px 0; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 1aa4726725c..54e6fe18c7f 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -470,6 +470,12 @@ $sheet-max-width: 860px text-decoration: none margin-bottom: 1px // }}} + .oe_form + header + .oe_tags + margin:5px 0 0 5px + width:400px + padding-bottom:0 // Tooltips {{{ &.oe_tooltip font-size: 12px @@ -1520,7 +1526,7 @@ $sheet-max-width: 860px margin: 16px > header margin: -16px -16px 0 -16px - padding: 8px + padding: 0 .oe_form_sheetbg padding: 8px 0 .oe_form_sheet_width diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index a803ec3e6a8..009f949984b 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -130,7 +130,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ case 'field': if(this.fields_view.fields[ node.attrs['name'] ].type == 'many2many'){ node.tag = 'div'; - node.attrs['class'] = 'oe_kanban_many2many_tags'; + node.attrs['class'] = 'oe_form_field oe_tags'; node.attrs['model'] = this.fields_view.fields[node.attrs['name']].relation; node.attrs['t-att-data'] = 'record.' + node.attrs['name'] + '.raw_value'; }else { @@ -182,7 +182,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ var self=this, arg={}; // select all widget - self.$el.find(".oe_kanban_many2many_tags").each(function(){ + self.$el.find(".oe_form_field.oe_tags").each(function(){ var model = $(this).attr("model"); if(model.length){ var data = $(this).attr("data"); @@ -196,7 +196,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ // only one request by model for(var model in arg){ if(arg[model].length>0){ - var block = self.$el.find(".oe_kanban_many2many_tags[model='" + model + "']"); + var block = self.$el.find(".oe_form_field.oe_tags[model='" + model + "']"); var dataset = new instance.web.DataSetSearch(self, model, self.session.context); dataset.name_get(_.uniq( arg[model] )).then( function(result) { From 8f5f2c0c40b6de891164de5bf92d8198ce723859 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 19 Sep 2012 11:03:11 +0200 Subject: [PATCH 3/3] [IMP]kanban: many2many_tags reload bzr revid: chm@openerp.com-20120919090311-x4zj6x7ir7bukepx --- addons/web_kanban/static/src/js/kanban.js | 74 ++++++++++++----------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 009f949984b..8336fa9a0e3 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -176,40 +176,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } } }, - /* widget for list of tags/categories... - */ - transform_widget_many2many: function(){ - var self=this, - arg={}; - // select all widget - self.$el.find(".oe_form_field.oe_tags").each(function(){ - var model = $(this).attr("model"); - if(model.length){ - var data = $(this).attr("data"); - var list = data.split(","); - //select all id (per model) - if(!arg[model]) arg[model]=[]; - for(var t=0;t0){ - var block = self.$el.find(".oe_form_field.oe_tags[model='" + model + "']"); - var dataset = new instance.web.DataSetSearch(self, model, self.session.context); - dataset.name_get(_.uniq( arg[model] )).then( - function(result) { - for(var t=0;t'+result[t][1]+''); - } - } - ); - console.log("kanban 212 ",block); - } - } - }, do_add_record: function() { this.dataset.index = null; this.do_switch_view('form'); @@ -397,7 +363,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } else { this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle'); } - self.transform_widget_many2many(); + instance.web_kanban.KanbanView.postprocessing_widget_many2many_tags(self); }, on_record_moved : function(record, old_group, old_index, new_group, new_index) { var self = this; @@ -416,7 +382,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.dataset.write(record.id, data, {}, function() { record.do_reload(); new_group.do_save_sequences(); - self.transform_widget_many2many(); }).fail(function(error, evt) { evt.preventDefault(); alert("An error has occured while moving the record to this group."); @@ -483,6 +448,42 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } }); +/* +* widget for list of tags/categories +* make the rpc request for all ids/model and insert value inside .oe_tags fields +*/ +instance.web_kanban.KanbanView.postprocessing_widget_many2many_tags = function(self){ + var model_list_id={}; + + // select all widget for the kanban view or the widget inside the record + self.$el.find(".oe_form_field.oe_tags").each(function(){ + var model = $(this).attr("model"); + if(model.length){ + var data = $(this).attr("data"); + var list = data.split(","); + + //select all id (per model) + if(!model_list_id[model]) model_list_id[model]=[]; + for(var t=0;t0){ + var block = self.$el.find(".oe_form_field.oe_tags[model='" + model + "']"); + var dataset = new instance.web.DataSetSearch(self, model, self.session.context); + dataset.name_get(_.uniq( model_list_id[model] )).then( + function(result) { + for(var t=0;t'+result[t][1]+''); + } + } + ); + } + } +} + function get_class(name) { return new instance.web.Registry({'tmp' : name}).get_object("tmp"); } @@ -915,6 +916,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({ self.$el.data('widget', self); self.bind_events(); self.group.compute_cards_auto_height(); + instance.web_kanban.KanbanView.postprocessing_widget_many2many_tags(self); } else { self.destroy(); }