summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2015-06-26 12:22:00 +0200
committerAaron Bohy <aab@odoo.com>2015-06-26 13:48:37 +0200
commit9d121cd9ece8d61eb69c65b08d0d853c681fda38 (patch)
tree2444eef66b30f2305cfb1dc3d7bf09191a1f01c5 /addons/web/static/src/js
parenta15d36fe6e5a858db11a73a516ca964370ac6d85 (diff)
[FIX] web: One2ManyKanbanView: reload view on create
Before this rev., the One2ManyKanbanView wasn't reloaded after creation of a new record (on dialog close).
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/form_relational_widgets.js36
1 files changed, 33 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js
index 5dc1a76decf..3529ae8a90a 100644
--- a/addons/web/static/src/js/views/form_relational_widgets.js
+++ b/addons/web/static/src/js/views/form_relational_widgets.js
@@ -1234,9 +1234,13 @@ var One2ManyFormView = FormView.extend({
});
var FieldOne2Many = FieldX2Many.extend({
- x2many_views: {
- list: One2ManyListView,
- form: One2ManyFormView,
+ init: function() {
+ this._super.apply(this, arguments);
+ this.x2many_views = {
+ form: One2ManyFormView,
+ kanban: core.view_registry.get('one2many_kanban'),
+ list: One2ManyListView,
+ };
},
start: function() {
this.$el.addClass('oe_form_field_one2many');
@@ -1645,6 +1649,31 @@ odoo.define('web_kanban.Many2ManyKanbanView', function (require) {
var _t = core._t;
+ var One2ManyKanbanView = KanbanView.extend({
+ add_record: function() {
+ var self = this;
+ new common.FormViewDialog(this, {
+ res_model: self.x2m.field.relation,
+ res_id: null,
+ domain: self.x2m.build_domain(),
+ context: self.x2m.build_context(),
+ title: _t("Create: ") + self.x2m.string,
+ initial_view: "form",
+ alternative_form_view: self.x2m.field.views ? self.x2m.field.views.form : undefined,
+ disable_multiple_selection: false,
+ create_function: function(data, options) {
+ return self.x2m.data_create(data, options);
+ },
+ read_function: function(ids, fields, options) {
+ return self.x2m.data_read(ids, fields, options);
+ },
+ on_selected: function() {
+ self.x2m.reload_current_view();
+ }
+ }).open();
+ },
+ });
+
var Many2ManyKanbanView = KanbanView.extend({
add_record: function() {
var self = this;
@@ -1684,6 +1713,7 @@ odoo.define('web_kanban.Many2ManyKanbanView', function (require) {
},
});
+ core.view_registry.add('one2many_kanban', One2ManyKanbanView);
core.view_registry.add('many2many_kanban', Many2ManyKanbanView);
});