Merge lp:~openerp-dev/openerp-web/trunk-kanban-column-vme-2 into lp:openerp-web

Proposed by Vidhin Mehta (OpenERP)
Status: Work in progress
Proposed branch: lp:~openerp-dev/openerp-web/trunk-kanban-column-vme-2
Merge into: lp:openerp-web
Diff against target: 178 lines (+78/-48)
2 files modified
addons/web/static/src/js/views.js (+1/-0)
addons/web_kanban/static/src/js/kanban.js (+77/-48)
To merge this branch: bzr merge lp:~openerp-dev/openerp-web/trunk-kanban-column-vme-2
Reviewer Review Type Date Requested Status
OpenERP R&D Web Team Pending
Review via email: mp+195052@code.launchpad.net
To post a comment you must log in.
3866. By Vidhin Mehta (OpenERP)

[REM]remove unwanted code.

3867. By Vidhin Mehta (OpenERP)

[MERGE]Trunk.

3868. By Vidhin Mehta (OpenERP)

[FIX]

3869. By Vidhin Mehta (OpenERP)

[Merge]Trunk.

3870. By Vidhin Mehta (OpenERP)

[IMP]Refactore code.

3871. By Vidhin Mehta (OpenERP)

[IMP]typo change

3872. By Vidhin Mehta (OpenERP)

[IMP]old code remerged.

3873. By Vidhin Mehta (OpenERP)

[IMP]something

3874. By Mahendra Barad(OpenERP)

[IMP]added the current model in context

3875. By Vidhin Mehta (OpenERP)

[IMP]

3876. By Mahendra Barad(OpenERP)

[REV]revert changes

Unmerged revisions

3876. By Mahendra Barad(OpenERP)

[REV]revert changes

3875. By Vidhin Mehta (OpenERP)

[IMP]

3874. By Mahendra Barad(OpenERP)

[IMP]added the current model in context

3873. By Vidhin Mehta (OpenERP)

[IMP]something

3872. By Vidhin Mehta (OpenERP)

[IMP]old code remerged.

3871. By Vidhin Mehta (OpenERP)

[IMP]typo change

3870. By Vidhin Mehta (OpenERP)

[IMP]Refactore code.

3869. By Vidhin Mehta (OpenERP)

[Merge]Trunk.

3868. By Vidhin Mehta (OpenERP)

[FIX]

3867. By Vidhin Mehta (OpenERP)

[MERGE]Trunk.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'addons/web/static/src/js/views.js'
--- addons/web/static/src/js/views.js 2013-11-25 16:05:06 +0000
+++ addons/web/static/src/js/views.js 2013-11-27 10:06:00 +0000
@@ -1415,6 +1415,7 @@
1415 } else {1415 } else {
1416 self.do_action({"type":"ir.actions.act_window_close"});1416 self.do_action({"type":"ir.actions.act_window_close"});
1417 return result_handler();1417 return result_handler();
1418
1418 }1419 }
1419 };1420 };
14201421
14211422
=== modified file 'addons/web_kanban/static/src/js/kanban.js'
--- addons/web_kanban/static/src/js/kanban.js 2013-10-30 18:09:41 +0000
+++ addons/web_kanban/static/src/js/kanban.js 2013-11-27 10:06:00 +0000
@@ -190,41 +190,39 @@
190 this.dataset.index = null;190 this.dataset.index = null;
191 this.do_switch_view('form');191 this.do_switch_view('form');
192 },192 },
193 get_action: function(){
194 var self = this;
195 var stage_management = this.fields_view.arch.attrs['stage_management'];
196 var action = {
197 name: _t("Add New Column"),
198 res_model: this.group_by_field.relation,
199 views: [[false, 'form']],
200 type: 'ir.actions.act_window',
201 target: "new",
202 context: self.dataset.get_context(),
203 flags: {
204 action_buttons: true,
205 }
206 };
207 var stage_option = this.fields_view.arch.attrs['stage_options'];
208 if(!stage_option)return action;
209 stage_option = instance.web.py_eval(stage_option);
210 var context = (this.dataset.get_context()).eval();
211 if (stage_option['group_by'] === this.group_by && stage_management && context[stage_option['default_context_key']]){
212 action.context = (new openerp.web.CompoundContext(context)).add({'default_action':'create'});
213 action.res_model = stage_management;
214 }
215 return action
216 },
193 do_add_group: function() {217 do_add_group: function() {
194 var self = this;218 var self = this;
195 self.do_action({219 self.do_action(this.get_action());
196 name: _t("Add column"),
197 res_model: self.group_by_field.relation,
198 views: [[false, 'form']],
199 type: 'ir.actions.act_window',
200 target: "new",
201 context: self.dataset.get_context(),
202 flags: {
203 action_buttons: true,
204 }
205 });
206 var am = instance.webclient.action_manager;220 var am = instance.webclient.action_manager;
207 var form = am.dialog_widget.views.form.controller;221 var form = am.dialog_widget.views.form.controller;
208 form.on("on_button_cancel", am.dialog, am.dialog.close);222 form.on("on_button_cancel", am.dialog, am.dialog.close);
209 form.on('record_created', self, function(r) {223 form.on('record_created', self, function(r) {
210 (new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r]).done(function(new_record) {224 am.dialog.close();
211 am.dialog.close();225 self.do_reload();
212 var domain = self.dataset.domain.slice(0);
213 domain.push([self.group_by, '=', new_record[0][0]]);
214 var dataset = new instance.web.DataSetSearch(self, self.dataset.model, self.dataset.get_context(), domain);
215 var datagroup = {
216 get: function(key) {
217 return this[key];
218 },
219 value: new_record[0],
220 length: 0,
221 aggregates: {},
222 };
223 var new_group = new instance.web_kanban.KanbanGroup(self, [], datagroup, dataset);
224 self.do_add_groups([new_group]).done(function() {
225 $(window).scrollTo(self.groups.slice(-1)[0].$el, { axis: 'x' });
226 });
227 });
228 });226 });
229 },227 },
230 do_search: function(domain, context, group_by) {228 do_search: function(domain, context, group_by) {
@@ -399,8 +397,8 @@
399 stop: function(event, ui) {397 stop: function(event, ui) {
400 var stop_index = ui.item.index();398 var stop_index = ui.item.index();
401 if (start_index !== stop_index) {399 if (start_index !== stop_index) {
402 var $start_column = $('.oe_kanban_groups_records .oe_kanban_column').eq(start_index);400 var $start_column = self.$('.oe_kanban_groups_records .oe_kanban_column').eq(start_index);
403 var $stop_column = $('.oe_kanban_groups_records .oe_kanban_column').eq(stop_index);401 var $stop_column = self.$('.oe_kanban_groups_records .oe_kanban_column').eq(stop_index);
404 var method = (start_index > stop_index) ? 'insertBefore' : 'insertAfter';402 var method = (start_index > stop_index) ? 'insertBefore' : 'insertAfter';
405 $start_column[method]($stop_column);403 $start_column[method]($stop_column);
406 var tmp_group = self.groups.splice(start_index, 1)[0];404 var tmp_group = self.groups.splice(start_index, 1)[0];
@@ -742,34 +740,65 @@
742 do_action_toggle_fold: function() {740 do_action_toggle_fold: function() {
743 this.do_toggle_fold();741 this.do_toggle_fold();
744 },742 },
743 get_action: function(){
744 var self = this;
745 var parent_widget = self.getParent();
746 var stage_management = parent_widget.fields_view.arch.attrs['stage_management'];
747 var action = {
748 name: _t("Edit Column"),
749 res_id: this.value,
750 res_model: this.view.group_by_field.relation,
751 views: [[false, 'form']],
752 type: 'ir.actions.act_window',
753 target: "new",
754 context: this.dataset.context,
755 flags: {
756 action_buttons: true,
757 }
758 }
759 var stage_option = parent_widget.fields_view.arch.attrs['stage_options'];
760 if(!stage_option)return action;
761 stage_option = instance.web.py_eval(stage_option);
762 var context = (this.dataset.get_context()).eval();
763 if (stage_option['group_by'] === this.view.group_by && stage_management && context[stage_option['default_context_key']]){
764 action.context = (new openerp.web.CompoundContext(context)).add({'current_model':this.dataset.model, active_id:this.value, 'default_action':'write'});
765 action.res_model = stage_management;
766 delete action['res_id'];
767 }
768 return action
769 },
745 do_action_edit: function() {770 do_action_edit: function() {
746 var self = this;771 var self = this;
747 self.do_action({772 self.do_action(this.get_action());
748 res_id: this.value,
749 name: _t("Edit column"),
750 res_model: self.view.group_by_field.relation,
751 views: [[false, 'form']],
752 type: 'ir.actions.act_window',
753 target: "new",
754 flags: {
755 action_buttons: true,
756 }
757 });
758 var am = instance.webclient.action_manager;773 var am = instance.webclient.action_manager;
759 var form = am.dialog_widget.views.form.controller;774 var form = am.dialog_widget.views.form.controller;
760 form.on("on_button_cancel", am.dialog, am.dialog.close);775 form.on("on_button_cancel", am.dialog, am.dialog.close);
761 form.on('record_saved', self, function() {776 form.on('record_saved record_created', self, function() {
762 am.dialog.close();777 am.dialog.close();
763 self.view.do_reload();778 self.view.do_reload();
764 });779 });
765 },780 },
766 do_action_delete: function() {781 do_action_delete: function() {
767 var self = this;782 var self = this;
768 if (confirm(_t("Are you sure to remove this column ?"))) {783 var func = function(){
769 (new instance.web.DataSet(self, self.view.group_by_field.relation)).unlink([self.value]).done(function(r) {784 if (confirm(_t("Are you sure to remove this column ?"))) {
770 self.view.do_reload();785 (new instance.web.DataSet(self, res_model, context)).unlink([self.value]).done(function(r) {
771 });786 self.view.do_reload();
772 }787 });
788 }
789 }
790 var res_model = self.view.group_by_field.relation;
791 var parent_widget = self.getParent();
792 var stage_management = parent_widget.fields_view.arch.attrs['stage_management'];
793 var stage_option = parent_widget.fields_view.arch.attrs['stage_options'];
794 if(!stage_option)return func();
795 stage_option = instance.web.py_eval(stage_option);
796 var context = (this.dataset.get_context()).eval();
797 if (stage_option['group_by'] === this.view.group_by && stage_management && context[stage_option['default_context_key']]){
798 res_model = stage_management;
799 context = (new openerp.web.CompoundContext(context)).add({'current_model': this.dataset.model});
800 }
801 return func();
773 },802 },
774 do_save_sequences: function() {803 do_save_sequences: function() {
775 var self = this;804 var self = this;