From 0a1ce4c4daab076130d86f612f8add182b8fc85d Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 14 May 2012 17:51:44 +0200 Subject: [PATCH] [imp] added slow create bzr revid: nicolas.vanhoren@openerp.com-20120514155144-4lb9la1o0qv5k18o --- addons/web_kanban/static/src/js/kanban.js | 24 ++++++++++++++++--- .../web_kanban/static/src/xml/web_kanban.xml | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 891a68f4007..9940c305f11 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -680,15 +680,33 @@ instance.web_kanban.QuickCreate = instance.web.Widget.extend({ */ quick_add: function () { var self = this; - // FIXME: what if name_create fails? + self.$input.val(""); this._dataset.call( 'name_create', [self.$input.val(), new instance.web.CompoundContext( this._dataset.get_context(), this._context)]) - .then(function(record) { - self.$input.val(""); + .pipe(function(record) { self.trigger('added', record); + }, function() { + return self.slow_create(); }); }, + slow_create: function() { + var self = this; + var pop = new instance.web.form.SelectCreatePopup(this); + pop.select_element( + self.field.relation, + { + title: _t("Create: ") + (this.string || this.name), + initial_view: "form", + disable_multiple_selection: true + }, + undefined, + new instance.web.CompoundContext(self.build_context(), {"default_name": self.$input.val("")}) + ); + pop.on_select_elements.add(function(element_ids) { + self.trigger('added', element_ids); + }); + } }); }; diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index 7db4345ad32..29bb81087fe 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -69,7 +69,7 @@
- +