[IMP] jQuery deferred API changes refactoring. Changed 'then's in 'done'/'fail' and 'pipe's in 'then'
bzr revid: fme@openerp.com-20121030140630-gf20ye8fou1ebxft
This commit is contained in:
parent
eb1c4d0f93
commit
ca6c49becf
|
@ -294,7 +294,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||||
start: function() {
|
start: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
$('.oe_secondary_menus_container,.oe_user_menu_placeholder').empty();
|
$('.oe_secondary_menus_container,.oe_user_menu_placeholder').empty();
|
||||||
var fetch_db = this.rpc("/web/database/get_list", {}).pipe(
|
var fetch_db = this.rpc("/web/database/get_list", {}).then(
|
||||||
function(result) {
|
function(result) {
|
||||||
self.db_list = result.db_list;
|
self.db_list = result.db_list;
|
||||||
},
|
},
|
||||||
|
@ -302,10 +302,10 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
self.db_list = null;
|
self.db_list = null;
|
||||||
});
|
});
|
||||||
var fetch_langs = this.rpc("/web/session/get_lang_list", {}).then(function(result) {
|
var fetch_langs = this.rpc("/web/session/get_lang_list", {}).done(function(result) {
|
||||||
self.lang_list = result.lang_list;
|
self.lang_list = result.lang_list;
|
||||||
});
|
});
|
||||||
return $.when(fetch_db, fetch_langs).then(self.do_render);
|
return $.when(fetch_db, fetch_langs).done(self.do_render);
|
||||||
},
|
},
|
||||||
do_render: function() {
|
do_render: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -394,7 +394,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||||
do_create: function(form) {
|
do_create: function(form) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var fields = $(form).serializeArray();
|
var fields = $(form).serializeArray();
|
||||||
self.rpc("/web/database/create", {'fields': fields}).then(function(result) {
|
self.rpc("/web/database/create", {'fields': fields}).done(function(result) {
|
||||||
var form_obj = self.to_object(fields);
|
var form_obj = self.to_object(fields);
|
||||||
var client_action = {
|
var client_action = {
|
||||||
type: 'ir.actions.client',
|
type: 'ir.actions.client',
|
||||||
|
@ -420,7 +420,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||||
if (!db || !confirm("Do you really want to delete the database: " + db + " ?")) {
|
if (!db || !confirm("Do you really want to delete the database: " + db + " ?")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
self.rpc("/web/database/drop", {'fields': fields}).then(function(result) {
|
self.rpc("/web/database/drop", {'fields': fields}).done(function(result) {
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
self.display_error(result);
|
self.display_error(result);
|
||||||
return;
|
return;
|
||||||
|
@ -483,7 +483,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
self.rpc("/web/database/change_password", {
|
self.rpc("/web/database/change_password", {
|
||||||
'fields': $(form).serializeArray()
|
'fields': $(form).serializeArray()
|
||||||
}).then(function(result) {
|
}).done(function(result) {
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
self.display_error(result);
|
self.display_error(result);
|
||||||
return;
|
return;
|
||||||
|
@ -581,7 +581,7 @@ instance.web.Login = instance.web.Widget.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
self.hide_error();
|
self.hide_error();
|
||||||
self.$(".oe_login_pane").fadeOut("slow");
|
self.$(".oe_login_pane").fadeOut("slow");
|
||||||
return this.session.session_authenticate(db, login, password).pipe(function() {
|
return this.session.session_authenticate(db, login, password).then(function() {
|
||||||
if (self.has_local_storage) {
|
if (self.has_local_storage) {
|
||||||
if(self.remember_credentials) {
|
if(self.remember_credentials) {
|
||||||
localStorage.setItem('last_db_login_success', db);
|
localStorage.setItem('last_db_login_success', db);
|
||||||
|
@ -663,7 +663,7 @@ instance.web.ChangePassword = instance.web.Widget.extend({
|
||||||
submitHandler: function (form) {
|
submitHandler: function (form) {
|
||||||
self.rpc("/web/session/change_password",{
|
self.rpc("/web/session/change_password",{
|
||||||
'fields': $(form).serializeArray()
|
'fields': $(form).serializeArray()
|
||||||
}).then(function(result) {
|
}).done(function(result) {
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
self.display_error(result);
|
self.display_error(result);
|
||||||
return;
|
return;
|
||||||
|
@ -702,7 +702,7 @@ instance.web.Menu = instance.web.Widget.extend({
|
||||||
},
|
},
|
||||||
do_reload: function() {
|
do_reload: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.rpc("/web/menu/load", {}).then(function(r) {
|
return this.rpc("/web/menu/load", {}).done(function(r) {
|
||||||
self.menu_loaded(r);
|
self.menu_loaded(r);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -872,7 +872,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
||||||
if (!self.session.uid)
|
if (!self.session.uid)
|
||||||
return;
|
return;
|
||||||
var func = new instance.web.Model("res.users").get_func("read");
|
var func = new instance.web.Model("res.users").get_func("read");
|
||||||
return func(self.session.uid, ["name", "company_id"]).pipe(function(res) {
|
return func(self.session.uid, ["name", "company_id"]).then(function(res) {
|
||||||
var topbar_name = res.name;
|
var topbar_name = res.name;
|
||||||
if(instance.session.debug)
|
if(instance.session.debug)
|
||||||
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
|
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
|
||||||
|
@ -883,7 +883,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
||||||
$avatar.attr('src', avatar_src);
|
$avatar.attr('src', avatar_src);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
this.update_promise = this.update_promise.pipe(fct, fct);
|
this.update_promise = this.update_promise.then(fct, fct);
|
||||||
},
|
},
|
||||||
on_menu_logout: function() {
|
on_menu_logout: function() {
|
||||||
this.trigger('user_logout');
|
this.trigger('user_logout');
|
||||||
|
@ -899,7 +899,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
||||||
},
|
},
|
||||||
on_menu_about: function() {
|
on_menu_about: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.rpc("/web/webclient/version_info", {}).then(function(res) {
|
self.rpc("/web/webclient/version_info", {}).done(function(res) {
|
||||||
var $help = $(QWeb.render("UserMenu.about", {version_info: res}));
|
var $help = $(QWeb.render("UserMenu.about", {version_info: res}));
|
||||||
$help.find('a.oe_activate_debug_mode').click(function (e) {
|
$help.find('a.oe_activate_debug_mode').click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@ -919,7 +919,7 @@ instance.web.Client = instance.web.Widget.extend({
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return instance.session.session_bind(this.origin).pipe(function() {
|
return instance.session.session_bind(this.origin).then(function() {
|
||||||
var $e = $(QWeb.render(self._template, {}));
|
var $e = $(QWeb.render(self._template, {}));
|
||||||
self.replaceElement($e);
|
self.replaceElement($e);
|
||||||
self.bind_events();
|
self.bind_events();
|
||||||
|
@ -986,7 +986,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return $.when(this._super()).pipe(function() {
|
return $.when(this._super()).then(function() {
|
||||||
self.$el.on('click', '.oe_logo', function() {
|
self.$el.on('click', '.oe_logo', function() {
|
||||||
self.action_manager.do_action('home');
|
self.action_manager.do_action('home');
|
||||||
});
|
});
|
||||||
|
@ -1055,8 +1055,8 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
},
|
},
|
||||||
do_reload: function() {
|
do_reload: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.session.session_reload().pipe(function () {
|
return this.session.session_reload().then(function () {
|
||||||
instance.session.load_modules(true).pipe(
|
instance.session.load_modules(true).then(
|
||||||
self.menu.proxy('do_reload')); });
|
self.menu.proxy('do_reload')); });
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -1071,7 +1071,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
on_logout: function() {
|
on_logout: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
if (!this.has_uncommitted_changes()) {
|
if (!this.has_uncommitted_changes()) {
|
||||||
this.session.session_logout().then(function () {
|
this.session.session_logout().done(function () {
|
||||||
$(window).unbind('hashchange', self.on_hashchange);
|
$(window).unbind('hashchange', self.on_hashchange);
|
||||||
self.do_push_state({});
|
self.do_push_state({});
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
|
@ -1084,7 +1084,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
|
|
||||||
var state = $.bbq.getState(true);
|
var state = $.bbq.getState(true);
|
||||||
if (_.isEmpty(state) || state.action == "login") {
|
if (_.isEmpty(state) || state.action == "login") {
|
||||||
self.menu.has_been_loaded.then(function() {
|
self.menu.has_been_loaded.done(function() {
|
||||||
var first_menu_id = self.menu.$el.find("a:first").data("menu");
|
var first_menu_id = self.menu.$el.find("a:first").data("menu");
|
||||||
if(first_menu_id) {
|
if(first_menu_id) {
|
||||||
self.menu.menu_click(first_menu_id);
|
self.menu.menu_click(first_menu_id);
|
||||||
|
@ -1099,8 +1099,8 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
var state = event.getState(true);
|
var state = event.getState(true);
|
||||||
if (!_.isEqual(this._current_state, state)) {
|
if (!_.isEqual(this._current_state, state)) {
|
||||||
if(state.action_id === undefined && state.menu_id) {
|
if(state.action_id === undefined && state.menu_id) {
|
||||||
self.menu.has_been_loaded.then(function() {
|
self.menu.has_been_loaded.done(function() {
|
||||||
self.menu.do_reload().then(function() {
|
self.menu.do_reload().done(function() {
|
||||||
self.menu.menu_click(state.menu_id)
|
self.menu.menu_click(state.menu_id)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1121,7 +1121,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
||||||
on_menu_action: function(options) {
|
on_menu_action: function(options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.rpc("/web/action/load", { action_id: options.action_id })
|
return this.rpc("/web/action/load", { action_id: options.action_id })
|
||||||
.pipe(function (result) {
|
.then(function (result) {
|
||||||
var action = result;
|
var action = result;
|
||||||
if (options.needaction) {
|
if (options.needaction) {
|
||||||
action.context.search_default_message_unread = true;
|
action.context.search_default_message_unread = true;
|
||||||
|
@ -1167,9 +1167,9 @@ instance.web.EmbeddedClient = instance.web.Client.extend({
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return $.when(this._super()).pipe(function() {
|
return $.when(this._super()).then(function() {
|
||||||
return instance.session.session_authenticate(self.dbname, self.login, self.key, true).pipe(function() {
|
return instance.session.session_authenticate(self.dbname, self.login, self.key, true).then(function() {
|
||||||
return self.rpc("/web/action/load", { action_id: self.action_id }).then(function(result) {
|
return self.rpc("/web/action/load", { action_id: self.action_id }).done(function(result) {
|
||||||
var action = result;
|
var action = result;
|
||||||
action.flags = _.extend({
|
action.flags = _.extend({
|
||||||
//views_switcher : false,
|
//views_switcher : false,
|
||||||
|
|
|
@ -811,10 +811,10 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
|
||||||
rpc: function(url, data, success, error) {
|
rpc: function(url, data, success, error) {
|
||||||
var def = $.Deferred().done(success).fail(error);
|
var def = $.Deferred().done(success).fail(error);
|
||||||
var self = this;
|
var self = this;
|
||||||
instance.session.rpc(url, data).then(function() {
|
instance.session.rpc(url, data).done(function() {
|
||||||
if (!self.isDestroyed())
|
if (!self.isDestroyed())
|
||||||
def.resolve.apply(def, arguments);
|
def.resolve.apply(def, arguments);
|
||||||
}, function() {
|
}).fail(function() {
|
||||||
if (!self.isDestroyed())
|
if (!self.isDestroyed())
|
||||||
def.reject.apply(def, arguments);
|
def.reject.apply(def, arguments);
|
||||||
});
|
});
|
||||||
|
@ -1287,7 +1287,7 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
|
||||||
};
|
};
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
this.trigger('request', url, payload);
|
this.trigger('request', url, payload);
|
||||||
var request = this.rpc_function(url, payload).then(
|
var request = this.rpc_function(url, payload).done(
|
||||||
function (response, textStatus, jqXHR) {
|
function (response, textStatus, jqXHR) {
|
||||||
self.trigger('response', response);
|
self.trigger('response', response);
|
||||||
if (!response.error) {
|
if (!response.error) {
|
||||||
|
@ -1300,7 +1300,8 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
|
||||||
} else {
|
} else {
|
||||||
deferred.reject(response.error, $.Event());
|
deferred.reject(response.error, $.Event());
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
).fail(
|
||||||
function(jqXHR, textStatus, errorThrown) {
|
function(jqXHR, textStatus, errorThrown) {
|
||||||
self.trigger('response_failed', jqXHR);
|
self.trigger('response_failed', jqXHR);
|
||||||
var error = {
|
var error = {
|
||||||
|
@ -1387,10 +1388,11 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
|
||||||
$iframe.unbind('load').bind('load', function() {
|
$iframe.unbind('load').bind('load', function() {
|
||||||
$.ajax(ajax).always(function() {
|
$.ajax(ajax).always(function() {
|
||||||
cleanUp();
|
cleanUp();
|
||||||
}).then(
|
}).done(function() {
|
||||||
function() { deferred.resolve.apply(deferred, arguments); },
|
deferred.resolve.apply(deferred, arguments);
|
||||||
function() { deferred.reject.apply(deferred, arguments); }
|
}).fail(function() {
|
||||||
);
|
deferred.reject.apply(deferred, arguments);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
// now that the iframe can receive data, we fill and submit the form
|
// now that the iframe can receive data, we fill and submit the form
|
||||||
$form.submit();
|
$form.submit();
|
||||||
|
|
|
@ -51,15 +51,15 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
var self = this;
|
var self = this;
|
||||||
// TODO: session store in cookie should be optional
|
// TODO: session store in cookie should be optional
|
||||||
this.session_id = this.get_cookie('session_id');
|
this.session_id = this.get_cookie('session_id');
|
||||||
return this.session_reload().pipe(function(result) {
|
return this.session_reload().then(function(result) {
|
||||||
var modules = instance._modules.join(',');
|
var modules = instance._modules.join(',');
|
||||||
var deferred = self.rpc('/web/webclient/qweblist', {mods: modules}).pipe(self.do_load_qweb);
|
var deferred = self.rpc('/web/webclient/qweblist', {mods: modules}).then(self.do_load_qweb);
|
||||||
if(self.session_is_valid()) {
|
if(self.session_is_valid()) {
|
||||||
return deferred.pipe(function() { return self.load_modules(); });
|
return deferred.then(function() { return self.load_modules(); });
|
||||||
}
|
}
|
||||||
return $.when(
|
return $.when(
|
||||||
deferred,
|
deferred,
|
||||||
self.rpc('/web/webclient/bootstrap_translations', {mods: instance._modules}).pipe(function(trans) {
|
self.rpc('/web/webclient/bootstrap_translations', {mods: instance._modules}).then(function(trans) {
|
||||||
instance.web._t.database.set_bundle(trans);
|
instance.web._t.database.set_bundle(trans);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -73,7 +73,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
*/
|
*/
|
||||||
session_reload: function () {
|
session_reload: function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.rpc("/web/session/get_session_info", {}).then(function(result) {
|
return this.rpc("/web/session/get_session_info", {}).done(function(result) {
|
||||||
// If immediately follows a login (triggered by trying to restore
|
// If immediately follows a login (triggered by trying to restore
|
||||||
// an invalid session or no session at all), refresh session data
|
// an invalid session or no session at all), refresh session data
|
||||||
// (should not change, but just in case...)
|
// (should not change, but just in case...)
|
||||||
|
@ -96,7 +96,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
var self = this;
|
var self = this;
|
||||||
var base_location = document.location.protocol + '//' + document.location.host;
|
var base_location = document.location.protocol + '//' + document.location.host;
|
||||||
var params = { db: db, login: login, password: password, base_location: base_location };
|
var params = { db: db, login: login, password: password, base_location: base_location };
|
||||||
return this.rpc("/web/session/authenticate", params).pipe(function(result) {
|
return this.rpc("/web/session/authenticate", params).then(function(result) {
|
||||||
if (!result.uid) {
|
if (!result.uid) {
|
||||||
return $.Deferred().reject();
|
return $.Deferred().reject();
|
||||||
}
|
}
|
||||||
|
@ -154,30 +154,30 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
*/
|
*/
|
||||||
load_modules: function() {
|
load_modules: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.rpc('/web/session/modules', {}).pipe(function(result) {
|
return this.rpc('/web/session/modules', {}).then(function(result) {
|
||||||
var lang = self.user_context.lang,
|
var lang = self.user_context.lang,
|
||||||
all_modules = _.uniq(self.module_list.concat(result));
|
all_modules = _.uniq(self.module_list.concat(result));
|
||||||
var params = { mods: all_modules, lang: lang};
|
var params = { mods: all_modules, lang: lang};
|
||||||
var to_load = _.difference(result, self.module_list).join(',');
|
var to_load = _.difference(result, self.module_list).join(',');
|
||||||
self.module_list = all_modules;
|
self.module_list = all_modules;
|
||||||
|
|
||||||
var loaded = self.rpc('/web/webclient/translations', params).then(function(trans) {
|
var loaded = self.rpc('/web/webclient/translations', params).done(function(trans) {
|
||||||
instance.web._t.database.set_bundle(trans);
|
instance.web._t.database.set_bundle(trans);
|
||||||
});
|
});
|
||||||
var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
|
var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
|
||||||
if(to_load.length) {
|
if(to_load.length) {
|
||||||
loaded = $.when(
|
loaded = $.when(
|
||||||
loaded,
|
loaded,
|
||||||
self.rpc('/web/webclient/csslist', {mods: to_load}).then(self.do_load_css),
|
self.rpc('/web/webclient/csslist', {mods: to_load}).done(self.do_load_css),
|
||||||
self.rpc('/web/webclient/qweblist', {mods: to_load}).pipe(self.do_load_qweb),
|
self.rpc('/web/webclient/qweblist', {mods: to_load}).then(self.do_load_qweb),
|
||||||
self.rpc('/web/webclient/jslist', {mods: to_load}).then(function(files) {
|
self.rpc('/web/webclient/jslist', {mods: to_load}).done(function(files) {
|
||||||
file_list = file_list.concat(files);
|
file_list = file_list.concat(files);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return loaded.pipe(function () {
|
return loaded.then(function () {
|
||||||
return self.do_load_js(file_list);
|
return self.do_load_js(file_list);
|
||||||
}).then(function() {
|
}).done(function() {
|
||||||
self.on_modules_loaded();
|
self.on_modules_loaded();
|
||||||
self.trigger('module_loaded');
|
self.trigger('module_loaded');
|
||||||
if (!Date.CultureInfo.pmDesignator) {
|
if (!Date.CultureInfo.pmDesignator) {
|
||||||
|
@ -212,7 +212,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done )
|
if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done )
|
||||||
return;
|
return;
|
||||||
tag.onload_done = true;
|
tag.onload_done = true;
|
||||||
self.do_load_js(files).then(function () {
|
self.do_load_js(files).done(function () {
|
||||||
d.resolve();
|
d.resolve();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -227,7 +227,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
||||||
var self = this;
|
var self = this;
|
||||||
_.each(files, function(file) {
|
_.each(files, function(file) {
|
||||||
self.qweb_mutex.exec(function() {
|
self.qweb_mutex.exec(function() {
|
||||||
return self.rpc('/web/proxy/load', {path: file}).pipe(function(xml) {
|
return self.rpc('/web/proxy/load', {path: file}).then(function(xml) {
|
||||||
if (!xml) { return; }
|
if (!xml) { return; }
|
||||||
instance.web.qweb.add_template(_.str.trim(xml));
|
instance.web.qweb.add_template(_.str.trim(xml));
|
||||||
});
|
});
|
||||||
|
@ -462,7 +462,7 @@ $.Mutex = (function() {
|
||||||
Mutex.prototype.exec = function(action) {
|
Mutex.prototype.exec = function(action) {
|
||||||
var current = this.def;
|
var current = this.def;
|
||||||
var next = this.def = $.Deferred();
|
var next = this.def = $.Deferred();
|
||||||
return current.pipe(function() {
|
return current.then(function() {
|
||||||
return $.when(action()).always(function() {
|
return $.when(action()).always(function() {
|
||||||
next.resolve();
|
next.resolve();
|
||||||
});
|
});
|
||||||
|
@ -474,7 +474,7 @@ $.Mutex = (function() {
|
||||||
$.async_when = function() {
|
$.async_when = function() {
|
||||||
var async = false;
|
var async = false;
|
||||||
var def = $.Deferred();
|
var def = $.Deferred();
|
||||||
$.when.apply($, arguments).then(function() {
|
$.when.apply($, arguments).done(function() {
|
||||||
var args = arguments;
|
var args = arguments;
|
||||||
var action = function() {
|
var action = function() {
|
||||||
def.resolve.apply(def, args);
|
def.resolve.apply(def, args);
|
||||||
|
@ -483,7 +483,7 @@ $.async_when = function() {
|
||||||
action();
|
action();
|
||||||
else
|
else
|
||||||
setTimeout(action, 0);
|
setTimeout(action, 0);
|
||||||
}, function() {
|
}).fail(function() {
|
||||||
var args = arguments;
|
var args = arguments;
|
||||||
var action = function() {
|
var action = function() {
|
||||||
def.reject.apply(def, args);
|
def.reject.apply(def, args);
|
||||||
|
|
|
@ -66,7 +66,7 @@ instance.web.Query = instance.web.Class.extend({
|
||||||
offset: this._offset,
|
offset: this._offset,
|
||||||
limit: this._limit,
|
limit: this._limit,
|
||||||
sort: instance.web.serialize_sort(this._order_by)
|
sort: instance.web.serialize_sort(this._order_by)
|
||||||
}).pipe(function (results) {
|
}).then(function (results) {
|
||||||
self._count = results.length;
|
self._count = results.length;
|
||||||
return results.records;
|
return results.records;
|
||||||
}, null);
|
}, null);
|
||||||
|
@ -78,7 +78,7 @@ instance.web.Query = instance.web.Class.extend({
|
||||||
*/
|
*/
|
||||||
first: function () {
|
first: function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.clone({limit: 1})._execute().pipe(function (records) {
|
return this.clone({limit: 1})._execute().then(function (records) {
|
||||||
delete self._count;
|
delete self._count;
|
||||||
if (records.length) { return records[0]; }
|
if (records.length) { return records[0]; }
|
||||||
return null;
|
return null;
|
||||||
|
@ -132,7 +132,7 @@ instance.web.Query = instance.web.Class.extend({
|
||||||
offset: this._offset,
|
offset: this._offset,
|
||||||
limit: this._limit,
|
limit: this._limit,
|
||||||
orderby: instance.web.serialize_sort(this._order_by) || false
|
orderby: instance.web.serialize_sort(this._order_by) || false
|
||||||
}).pipe(function (results) {
|
}).then(function (results) {
|
||||||
return _(results).map(function (result) {
|
return _(results).map(function (result) {
|
||||||
// FIX: querygroup initialization
|
// FIX: querygroup initialization
|
||||||
result.__context = result.__context || {};
|
result.__context = result.__context || {};
|
||||||
|
@ -443,7 +443,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
|
||||||
return this._model.query(fields)
|
return this._model.query(fields)
|
||||||
.limit(options.limit || false)
|
.limit(options.limit || false)
|
||||||
.offset(options.offset || 0)
|
.offset(options.offset || 0)
|
||||||
.all().then(function (records) {
|
.all().done(function (records) {
|
||||||
self.ids = _(records).pluck('id');
|
self.ids = _(records).pluck('id');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -456,7 +456,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
|
||||||
*/
|
*/
|
||||||
read_index: function (fields, options) {
|
read_index: function (fields, options) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
return this.read_ids([this.ids[this.index]], fields, options).pipe(function (records) {
|
return this.read_ids([this.ids[this.index]], fields, options).then(function (records) {
|
||||||
if (_.isEmpty(records)) { return $.Deferred().reject().promise(); }
|
if (_.isEmpty(records)) { return $.Deferred().reject().promise(); }
|
||||||
return records[0];
|
return records[0];
|
||||||
});
|
});
|
||||||
|
@ -493,7 +493,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
|
||||||
*/
|
*/
|
||||||
write: function (id, data, options) {
|
write: function (id, data, options) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
return this._model.call('write', [[id], data], {context: this._model.context(options.context)}).then(this.trigger('dataset_changed', id, data, options));
|
return this._model.call('write', [[id], data], {context: this._model.context(options.context)}).done(this.trigger('dataset_changed', id, data, options));
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Deletes an existing record from the database
|
* Deletes an existing record from the database
|
||||||
|
@ -501,7 +501,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
|
||||||
* @param {Number|String} ids identifier of the record to delete
|
* @param {Number|String} ids identifier of the record to delete
|
||||||
*/
|
*/
|
||||||
unlink: function(ids) {
|
unlink: function(ids) {
|
||||||
return this._model.call('unlink', [ids], {context: this._model.context()}).then(this.trigger('dataset_changed', ids));
|
return this._model.call('unlink', [ids], {context: this._model.context()}).done(this.trigger('dataset_changed', ids));
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Calls an arbitrary RPC method
|
* Calls an arbitrary RPC method
|
||||||
|
@ -607,7 +607,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
|
||||||
model: this.model,
|
model: this.model,
|
||||||
ids: ids,
|
ids: ids,
|
||||||
context: this._model.context(options.context),
|
context: this._model.context(options.context),
|
||||||
}).pipe(function (results) {
|
}).then(function (results) {
|
||||||
return results;
|
return results;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -682,9 +682,9 @@ instance.web.DataSetSearch = instance.web.DataSet.extend({
|
||||||
.limit(options.limit || false);
|
.limit(options.limit || false);
|
||||||
q = q.order_by.apply(q, this._sort);
|
q = q.order_by.apply(q, this._sort);
|
||||||
|
|
||||||
return q.all().then(function (records) {
|
return q.all().done(function (records) {
|
||||||
// FIXME: not sure about that one, *could* have discarded count
|
// FIXME: not sure about that one, *could* have discarded count
|
||||||
q.count().then(function (count) { self._length = count; });
|
q.count().done(function (count) { self._length = count; });
|
||||||
self.ids = _(records).pluck('id');
|
self.ids = _(records).pluck('id');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -693,7 +693,7 @@ instance.web.DataSetSearch = instance.web.DataSet.extend({
|
||||||
},
|
},
|
||||||
unlink: function(ids, callback, error_callback) {
|
unlink: function(ids, callback, error_callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this._super(ids).then(function(result) {
|
return this._super(ids).done(function(result) {
|
||||||
self.ids = _(self.ids).difference(ids);
|
self.ids = _(self.ids).difference(ids);
|
||||||
if (self._length) {
|
if (self._length) {
|
||||||
self._length -= 1;
|
self._length -= 1;
|
||||||
|
@ -722,7 +722,7 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
||||||
this.last_default_get = {};
|
this.last_default_get = {};
|
||||||
},
|
},
|
||||||
default_get: function(fields, options) {
|
default_get: function(fields, options) {
|
||||||
return this._super(fields, options).then(this.on_default_get);
|
return this._super(fields, options).done(this.on_default_get);
|
||||||
},
|
},
|
||||||
on_default_get: function(res) {
|
on_default_get: function(res) {
|
||||||
this.last_default_get = res;
|
this.last_default_get = res;
|
||||||
|
@ -774,7 +774,7 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
||||||
this.cache = _.reject(this.cache, function(x) { return _.include(ids, x.id);});
|
this.cache = _.reject(this.cache, function(x) { return _.include(ids, x.id);});
|
||||||
this.set_ids(_.without.apply(_, [this.ids].concat(ids)));
|
this.set_ids(_.without.apply(_, [this.ids].concat(ids)));
|
||||||
this.trigger("dataset_changed", ids, callback, error_callback);
|
this.trigger("dataset_changed", ids, callback, error_callback);
|
||||||
return $.async_when({result: true}).then(callback);
|
return $.async_when({result: true}).done(callback);
|
||||||
},
|
},
|
||||||
reset_ids: function(ids) {
|
reset_ids: function(ids) {
|
||||||
this.set_ids(ids);
|
this.set_ids(ids);
|
||||||
|
@ -836,7 +836,7 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
||||||
completion.resolve(records);
|
completion.resolve(records);
|
||||||
};
|
};
|
||||||
if(to_get.length > 0) {
|
if(to_get.length > 0) {
|
||||||
var rpc_promise = this._super(to_get, fields, options).then(function(records) {
|
var rpc_promise = this._super(to_get, fields, options).done(function(records) {
|
||||||
_.each(records, function(record, index) {
|
_.each(records, function(record, index) {
|
||||||
var id = to_get[index];
|
var id = to_get[index];
|
||||||
var cached = _.detect(self.cache, function(x) {return x.id === id;});
|
var cached = _.detect(self.cache, function(x) {return x.id === id;});
|
||||||
|
@ -991,14 +991,14 @@ instance.web.DropMisordered = instance.web.Class.extend({
|
||||||
var res = $.Deferred();
|
var res = $.Deferred();
|
||||||
|
|
||||||
var self = this, seq = this.lsn++;
|
var self = this, seq = this.lsn++;
|
||||||
deferred.then(function () {
|
deferred.done(function () {
|
||||||
if (seq > self.rsn) {
|
if (seq > self.rsn) {
|
||||||
self.rsn = seq;
|
self.rsn = seq;
|
||||||
res.resolve.apply(res, arguments);
|
res.resolve.apply(res, arguments);
|
||||||
} else if (self.failMisordered) {
|
} else if (self.failMisordered) {
|
||||||
res.reject();
|
res.reject();
|
||||||
}
|
}
|
||||||
}, function () {
|
}).fail(function () {
|
||||||
res.reject.apply(res, arguments);
|
res.reject.apply(res, arguments);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
|
||||||
self.rpc("/web/export/get_fields", {
|
self.rpc("/web/export/get_fields", {
|
||||||
model: self.dataset.model,
|
model: self.dataset.model,
|
||||||
import_compat: Boolean(import_comp)
|
import_compat: Boolean(import_comp)
|
||||||
}).then(function (records) {
|
}).done(function (records) {
|
||||||
got_fields.resolve();
|
got_fields.resolve();
|
||||||
self.on_show_data(records);
|
self.on_show_data(records);
|
||||||
});
|
});
|
||||||
|
@ -59,7 +59,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
|
||||||
|
|
||||||
return $.when(
|
return $.when(
|
||||||
got_fields,
|
got_fields,
|
||||||
this.rpc('/web/export/formats', {}).then(this.do_setup_export_formats),
|
this.rpc('/web/export/formats', {}).done(this.do_setup_export_formats),
|
||||||
this.show_exports_list());
|
this.show_exports_list());
|
||||||
},
|
},
|
||||||
do_setup_export_formats: function (formats) {
|
do_setup_export_formats: function (formats) {
|
||||||
|
@ -84,7 +84,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
|
||||||
}
|
}
|
||||||
return this.exports.read_slice(['name'], {
|
return this.exports.read_slice(['name'], {
|
||||||
domain: [['resource', '=', this.dataset.model]]
|
domain: [['resource', '=', this.dataset.model]]
|
||||||
}).then(function (export_list) {
|
}).done(function (export_list) {
|
||||||
if (!export_list.length) {
|
if (!export_list.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
|
||||||
self.$el.find('#fields_list option').remove();
|
self.$el.find('#fields_list option').remove();
|
||||||
var export_id = self.$el.find('#saved_export_list option:selected').val();
|
var export_id = self.$el.find('#saved_export_list option:selected').val();
|
||||||
if (export_id) {
|
if (export_id) {
|
||||||
self.rpc('/web/export/namelist', {'model': self.dataset.model, export_id: parseInt(export_id)}).then(self.do_load_export_field);
|
self.rpc('/web/export/namelist', {'model': self.dataset.model, export_id: parseInt(export_id)}).done(self.do_load_export_field);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
self.$el.find('#delete_export_list').click(function() {
|
self.$el.find('#delete_export_list').click(function() {
|
||||||
|
@ -183,7 +183,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
|
||||||
import_compat: Boolean(import_comp),
|
import_compat: Boolean(import_comp),
|
||||||
parent_field_type : record['field_type'],
|
parent_field_type : record['field_type'],
|
||||||
exclude: exclude_fields
|
exclude: exclude_fields
|
||||||
}).then(function(results) {
|
}).done(function(results) {
|
||||||
record.loaded = true;
|
record.loaded = true;
|
||||||
self.on_show_data(results, record.id);
|
self.on_show_data(results, record.id);
|
||||||
});
|
});
|
||||||
|
|
|
@ -244,7 +244,7 @@ my.FacetView = instance.web.Widget.extend({
|
||||||
});
|
});
|
||||||
var $e = self.$el.find('> span:last-child');
|
var $e = self.$el.find('> span:last-child');
|
||||||
var q = $.when(this._super());
|
var q = $.when(this._super());
|
||||||
return q.pipe(function () {
|
return q.then(function () {
|
||||||
var values = self.model.values.map(function (value) {
|
var values = self.model.values.map(function (value) {
|
||||||
return new my.FacetValueView(self, value).appendTo($e);
|
return new my.FacetValueView(self, value).appendTo($e);
|
||||||
});
|
});
|
||||||
|
@ -324,7 +324,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
||||||
context: this.dataset.get_context() });
|
context: this.dataset.get_context() });
|
||||||
|
|
||||||
$.when(load_view)
|
$.when(load_view)
|
||||||
.pipe(function(r) {
|
.then(function(r) {
|
||||||
self.search_view_loaded(r)
|
self.search_view_loaded(r)
|
||||||
}).fail(function () {
|
}).fail(function () {
|
||||||
self.ready.reject.apply(null, arguments);
|
self.ready.reject.apply(null, arguments);
|
||||||
|
@ -492,7 +492,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
||||||
complete_global_search: function (req, resp) {
|
complete_global_search: function (req, resp) {
|
||||||
$.when.apply(null, _(this.inputs).chain()
|
$.when.apply(null, _(this.inputs).chain()
|
||||||
.invoke('complete', req.term)
|
.invoke('complete', req.term)
|
||||||
.value()).then(function () {
|
.value()).done(function () {
|
||||||
resp(_(_(arguments).compact()).flatten(true));
|
resp(_(_(arguments).compact()).flatten(true));
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -560,7 +560,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
||||||
childView.on('blurred', self, self.proxy('childBlurred'));
|
childView.on('blurred', self, self.proxy('childBlurred'));
|
||||||
});
|
});
|
||||||
|
|
||||||
$.when.apply(null, started).then(function () {
|
$.when.apply(null, started).done(function () {
|
||||||
var input_to_focus;
|
var input_to_focus;
|
||||||
// options.at: facet inserted at given index, focus next input
|
// options.at: facet inserted at given index, focus next input
|
||||||
// otherwise just focus last input
|
// otherwise just focus last input
|
||||||
|
@ -668,12 +668,12 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
||||||
|
|
||||||
// load defaults
|
// load defaults
|
||||||
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
|
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
|
||||||
'facet_for_defaults', this.defaults)).then(function () {
|
'facet_for_defaults', this.defaults)).done(function () {
|
||||||
self.query.reset(_(arguments).compact(), {preventSearch: true});
|
self.query.reset(_(arguments).compact(), {preventSearch: true});
|
||||||
});
|
});
|
||||||
|
|
||||||
return $.when(drawer_started, defaults_fetched)
|
return $.when(drawer_started, defaults_fetched)
|
||||||
.then(function () {
|
.done(function () {
|
||||||
self.trigger("search_view_loaded", data);
|
self.trigger("search_view_loaded", data);
|
||||||
self.ready.resolve();
|
self.ready.resolve();
|
||||||
});
|
});
|
||||||
|
@ -1439,7 +1439,7 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({
|
||||||
name: needle,
|
name: needle,
|
||||||
limit: 8,
|
limit: 8,
|
||||||
context: {}
|
context: {}
|
||||||
}).pipe(function (results) {
|
}).then(function (results) {
|
||||||
if (_.isEmpty(results)) { return null; }
|
if (_.isEmpty(results)) { return null; }
|
||||||
return [{label: self.attrs.string}].concat(
|
return [{label: self.attrs.string}].concat(
|
||||||
_(results).map(function (result) {
|
_(results).map(function (result) {
|
||||||
|
@ -1462,7 +1462,7 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({
|
||||||
// to handle this as if it were a single value.
|
// to handle this as if it were a single value.
|
||||||
value = value[0];
|
value = value[0];
|
||||||
}
|
}
|
||||||
return this.model.call('name_get', [value]).pipe(function (names) {
|
return this.model.call('name_get', [value]).then(function (names) {
|
||||||
if (_(names).isEmpty()) { return null; }
|
if (_(names).isEmpty()) { return null; }
|
||||||
return facet_from(self, names[0]);
|
return facet_from(self, names[0]);
|
||||||
})
|
})
|
||||||
|
@ -1509,7 +1509,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
||||||
// FIXME: local eval of domain and context to get rid of special endpoint
|
// FIXME: local eval of domain and context to get rid of special endpoint
|
||||||
return this.rpc('/web/searchview/get_filters', {
|
return this.rpc('/web/searchview/get_filters', {
|
||||||
model: this.view.model
|
model: this.view.model
|
||||||
}).pipe(this.proxy('set_filters'));
|
}).then(this.proxy('set_filters'));
|
||||||
},
|
},
|
||||||
clear_selection: function () {
|
clear_selection: function () {
|
||||||
this.$el.find('li.oe_selected').removeClass('oe_selected');
|
this.$el.find('li.oe_selected').removeClass('oe_selected');
|
||||||
|
@ -1532,7 +1532,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
||||||
$('<a class="oe_searchview_custom_delete">x</a>')
|
$('<a class="oe_searchview_custom_delete">x</a>')
|
||||||
.click(function (e) {
|
.click(function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
self.model.call('unlink', [id]).then(function () {
|
self.model.call('unlink', [id]).done(function () {
|
||||||
$filter.remove();
|
$filter.remove();
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
@ -1567,7 +1567,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
||||||
domains: search.domains,
|
domains: search.domains,
|
||||||
contexts: search.contexts,
|
contexts: search.contexts,
|
||||||
group_by_seq: search.groupbys || []
|
group_by_seq: search.groupbys || []
|
||||||
}).then(function (results) {
|
}).done(function (results) {
|
||||||
if (!_.isEmpty(results.group_by)) {
|
if (!_.isEmpty(results.group_by)) {
|
||||||
results.context.group_by = results.group_by;
|
results.context.group_by = results.group_by;
|
||||||
}
|
}
|
||||||
|
@ -1579,7 +1579,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
|
||||||
domain: results.domain
|
domain: results.domain
|
||||||
};
|
};
|
||||||
// FIXME: current context?
|
// FIXME: current context?
|
||||||
return self.model.call('create_or_replace', [filter]).then(function (id) {
|
return self.model.call('create_or_replace', [filter]).done(function (id) {
|
||||||
filter.id = id;
|
filter.id = id;
|
||||||
self.append_filter(filter);
|
self.append_filter(filter);
|
||||||
self.$el
|
self.$el
|
||||||
|
@ -1656,11 +1656,11 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
|
||||||
});
|
});
|
||||||
return $.when(
|
return $.when(
|
||||||
this._super(),
|
this._super(),
|
||||||
this.rpc("/web/searchview/fields_get", {model: this.view.model}).then(function(data) {
|
this.rpc("/web/searchview/fields_get", {model: this.view.model}).done(function(data) {
|
||||||
self.fields = _.extend({
|
self.fields = _.extend({
|
||||||
id: { string: 'ID', type: 'id' }
|
id: { string: 'ID', type: 'id' }
|
||||||
}, data.fields);
|
}, data.fields);
|
||||||
})).then(function () {
|
})).done(function () {
|
||||||
self.append_proposition();
|
self.append_proposition();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -32,20 +32,20 @@ openerp.test_support = {
|
||||||
window.openerp.web[tested_core](oe);
|
window.openerp.web[tested_core](oe);
|
||||||
var done = openerp.test_support.setup_session(oe.session);
|
var done = openerp.test_support.setup_session(oe.session);
|
||||||
if (nonliterals) {
|
if (nonliterals) {
|
||||||
done = done.pipe(function () {
|
done = done.then(function () {
|
||||||
return oe.session.rpc('/tests/add_nonliterals', {
|
return oe.session.rpc('/tests/add_nonliterals', {
|
||||||
domains: nonliterals.domains || [],
|
domains: nonliterals.domains || [],
|
||||||
contexts: nonliterals.contexts || []
|
contexts: nonliterals.contexts || []
|
||||||
}).then(function (r) {
|
}).done(function (r) {
|
||||||
oe.domains = r.domains;
|
oe.domains = r.domains;
|
||||||
oe.contexts = r.contexts;
|
oe.contexts = r.contexts;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
done.always(QUnit.start)
|
done.always(QUnit.start)
|
||||||
.then(function () {
|
.done(function () {
|
||||||
conf.openerp = oe;
|
conf.openerp = oe;
|
||||||
}, function (e) {
|
}).fail(function (e) {
|
||||||
QUnit.test(title, function () {
|
QUnit.test(title, function () {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
QUnit.ok(false, 'Could not obtain a session:' + e.debug);
|
QUnit.ok(false, 'Could not obtain a session:' + e.debug);
|
||||||
|
|
|
@ -120,7 +120,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
this.__blur_timeout = null;
|
this.__blur_timeout = null;
|
||||||
this.rendering_engine = new instance.web.form.FormRenderingEngine(this);
|
this.rendering_engine = new instance.web.form.FormRenderingEngine(this);
|
||||||
self.set({actual_mode: self.options.initial_mode});
|
self.set({actual_mode: self.options.initial_mode});
|
||||||
this.has_been_loaded.then(function() {
|
this.has_been_loaded.done(function() {
|
||||||
self.on("change:actual_mode", self, self.check_actual_mode);
|
self.on("change:actual_mode", self, self.check_actual_mode);
|
||||||
self.check_actual_mode();
|
self.check_actual_mode();
|
||||||
self.on("change:actual_mode", self, self.init_pager);
|
self.on("change:actual_mode", self, self.init_pager);
|
||||||
|
@ -274,7 +274,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
|
|
||||||
var shown = this.has_been_loaded;
|
var shown = this.has_been_loaded;
|
||||||
if (options.reload !== false) {
|
if (options.reload !== false) {
|
||||||
shown = shown.pipe(function() {
|
shown = shown.then(function() {
|
||||||
if (self.dataset.index === null) {
|
if (self.dataset.index === null) {
|
||||||
// null index means we should start a new record
|
// null index means we should start a new record
|
||||||
return self.on_button_new();
|
return self.on_button_new();
|
||||||
|
@ -283,12 +283,12 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
fields.push('display_name');
|
fields.push('display_name');
|
||||||
return self.dataset.read_index(fields, {
|
return self.dataset.read_index(fields, {
|
||||||
context: { 'bin_size': true, 'future_display_name' : true }
|
context: { 'bin_size': true, 'future_display_name' : true }
|
||||||
}).pipe(function(r) {
|
}).then(function(r) {
|
||||||
self.trigger('load_record', r);
|
self.trigger('load_record', r);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return shown.pipe(function() {
|
return shown.then(function() {
|
||||||
self._actualize_mode(options.mode || self.options.initial_mode);
|
self._actualize_mode(options.mode || self.options.initial_mode);
|
||||||
self.$el.css({
|
self.$el.css({
|
||||||
opacity: '1',
|
opacity: '1',
|
||||||
|
@ -326,7 +326,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
field._inhibit_on_change_flag = false;
|
field._inhibit_on_change_flag = false;
|
||||||
set_values.push(result);
|
set_values.push(result);
|
||||||
});
|
});
|
||||||
return $.when.apply(null, set_values).pipe(function() {
|
return $.when.apply(null, set_values).then(function() {
|
||||||
if (!record.id) {
|
if (!record.id) {
|
||||||
// New record: Second pass in order to trigger the onchanges
|
// New record: Second pass in order to trigger the onchanges
|
||||||
// respecting the fields order defined in the view
|
// respecting the fields order defined in the view
|
||||||
|
@ -364,7 +364,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
var self = this;
|
var self = this;
|
||||||
var keys = _.keys(this.fields_view.fields);
|
var keys = _.keys(this.fields_view.fields);
|
||||||
if (keys.length) {
|
if (keys.length) {
|
||||||
return this.dataset.default_get(keys).pipe(function(r) {
|
return this.dataset.default_get(keys).then(function(r) {
|
||||||
self.trigger('load_record', r);
|
self.trigger('load_record', r);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -510,7 +510,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
method: change_spec.method,
|
method: change_spec.method,
|
||||||
args: [(self.datarecord.id == null ? [] : [self.datarecord.id])].concat(change_spec.args),
|
args: [(self.datarecord.id == null ? [] : [self.datarecord.id])].concat(change_spec.args),
|
||||||
context_id: change_spec.context_index == undefined ? null : change_spec.context_index + 1
|
context_id: change_spec.context_index == undefined ? null : change_spec.context_index + 1
|
||||||
}).then(function(r) {
|
}).done(function(r) {
|
||||||
_.extend(response, r);
|
_.extend(response, r);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -518,7 +518,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// fail if onchange failed
|
// fail if onchange failed
|
||||||
if (can_process_onchange.isRejected()) {
|
if (can_process_onchange.state() === 'rejected') {
|
||||||
return can_process_onchange;
|
return can_process_onchange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -541,7 +541,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
model: 'ir.values',
|
model: 'ir.values',
|
||||||
method: 'get_defaults',
|
method: 'get_defaults',
|
||||||
args: [self.model, condition]
|
args: [self.model, condition]
|
||||||
}).then(function (results) {
|
}).done(function (results) {
|
||||||
if (!results.length) { return; }
|
if (!results.length) { return; }
|
||||||
if (!response.value) {
|
if (!response.value) {
|
||||||
response.value = {};
|
response.value = {};
|
||||||
|
@ -554,7 +554,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (can_process_onchange.isRejected()) {
|
if (can_process_onchange.state() === 'rejected') {
|
||||||
return can_process_onchange;
|
return can_process_onchange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -693,7 +693,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
},
|
},
|
||||||
on_button_save: function() {
|
on_button_save: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.save().then(function(result) {
|
return this.save().done(function(result) {
|
||||||
self.trigger("save", result);
|
self.trigger("save", result);
|
||||||
self.to_view_mode();
|
self.to_view_mode();
|
||||||
});
|
});
|
||||||
|
@ -713,7 +713,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
on_button_new: function() {
|
on_button_new: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.to_edit_mode();
|
this.to_edit_mode();
|
||||||
return $.when(this.has_been_loaded).pipe(function() {
|
return $.when(this.has_been_loaded).then(function() {
|
||||||
if (self.can_be_discarded()) {
|
if (self.can_be_discarded()) {
|
||||||
return self.load_defaults();
|
return self.load_defaults();
|
||||||
}
|
}
|
||||||
|
@ -728,29 +728,24 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
},
|
},
|
||||||
on_button_duplicate: function() {
|
on_button_duplicate: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var def = $.Deferred();
|
return this.has_been_loaded.then(function() {
|
||||||
$.when(this.has_been_loaded).then(function() {
|
return self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
|
||||||
self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
|
self.record_created(new_id);
|
||||||
return self.record_created(new_id);
|
self.to_edit_mode();
|
||||||
}).then(function() {
|
|
||||||
return self.to_edit_mode();
|
|
||||||
}).then(function() {
|
|
||||||
def.resolve();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return def.promise();
|
|
||||||
},
|
},
|
||||||
on_button_delete: function() {
|
on_button_delete: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var def = $.Deferred();
|
var def = $.Deferred();
|
||||||
$.when(this.has_been_loaded).then(function() {
|
this.has_been_loaded.done(function() {
|
||||||
if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
|
if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
|
||||||
self.dataset.unlink([self.datarecord.id]).then(function() {
|
self.dataset.unlink([self.datarecord.id]).done(function() {
|
||||||
self.execute_pager_action('next');
|
self.execute_pager_action('next');
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
$.async_when().then(function () {
|
$.async_when().done(function () {
|
||||||
def.reject();
|
def.reject();
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -777,7 +772,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
*/
|
*/
|
||||||
save: function(prepend_on_create) {
|
save: function(prepend_on_create) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.mutating_mutex.exec(function() { return self.is_initialized.pipe(function() {
|
return this.mutating_mutex.exec(function() { return self.is_initialized.then(function() {
|
||||||
try {
|
try {
|
||||||
var form_invalid = false,
|
var form_invalid = false,
|
||||||
values = {},
|
values = {},
|
||||||
|
@ -807,7 +802,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
var save_deferral;
|
var save_deferral;
|
||||||
if (!self.datarecord.id) {
|
if (!self.datarecord.id) {
|
||||||
// Creation save
|
// Creation save
|
||||||
save_deferral = self.dataset.create(values).pipe(function(r) {
|
save_deferral = self.dataset.create(values).then(function(r) {
|
||||||
return self.record_created(r, prepend_on_create);
|
return self.record_created(r, prepend_on_create);
|
||||||
}, null);
|
}, null);
|
||||||
} else if (_.isEmpty(values) && ! self.force_dirty) {
|
} else if (_.isEmpty(values) && ! self.force_dirty) {
|
||||||
|
@ -816,7 +811,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
} else {
|
} else {
|
||||||
self.force_dirty = false;
|
self.force_dirty = false;
|
||||||
// Write save
|
// Write save
|
||||||
save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
|
save_deferral = self.dataset.write(self.datarecord.id, values, {}).then(function(r) {
|
||||||
return self.record_saved(r);
|
return self.record_saved(r);
|
||||||
}, null);
|
}, null);
|
||||||
}
|
}
|
||||||
|
@ -851,7 +846,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
this.trigger('record_saved', r);
|
this.trigger('record_saved', r);
|
||||||
return $.Deferred().reject();
|
return $.Deferred().reject();
|
||||||
} else {
|
} else {
|
||||||
return $.when(this.reload()).pipe(function () {
|
return $.when(this.reload()).then(function () {
|
||||||
self.trigger('record_saved', r);
|
self.trigger('record_saved', r);
|
||||||
return r;
|
return r;
|
||||||
});
|
});
|
||||||
|
@ -890,7 +885,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
this.sidebar.do_attachement_update(this.dataset, this.datarecord.id);
|
this.sidebar.do_attachement_update(this.dataset, this.datarecord.id);
|
||||||
}
|
}
|
||||||
//openerp.log("The record has been created with id #" + this.datarecord.id);
|
//openerp.log("The record has been created with id #" + this.datarecord.id);
|
||||||
return $.when(this.reload()).pipe(function () {
|
return $.when(this.reload()).then(function () {
|
||||||
self.trigger('record_created', r);
|
self.trigger('record_created', r);
|
||||||
return _.extend(r, {created: true});
|
return _.extend(r, {created: true});
|
||||||
});
|
});
|
||||||
|
@ -917,7 +912,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
'bin_size': true,
|
'bin_size': true,
|
||||||
'future_display_name': true
|
'future_display_name': true
|
||||||
}
|
}
|
||||||
}).pipe(function(r) {
|
}).then(function(r) {
|
||||||
self.trigger('load_record', r);
|
self.trigger('load_record', r);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -947,7 +942,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
},
|
},
|
||||||
recursive_save: function() {
|
recursive_save: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return $.when(this.save()).pipe(function(res) {
|
return $.when(this.save()).then(function(res) {
|
||||||
if (self.dataset.parent_view)
|
if (self.dataset.parent_view)
|
||||||
return self.dataset.parent_view.recursive_save();
|
return self.dataset.parent_view.recursive_save();
|
||||||
});
|
});
|
||||||
|
@ -957,7 +952,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
var pre = $.when();
|
var pre = $.when();
|
||||||
if (self.dataset.parent_view)
|
if (self.dataset.parent_view)
|
||||||
pre = self.dataset.parent_view.recursive_reload();
|
pre = self.dataset.parent_view.recursive_reload();
|
||||||
return pre.pipe(function() {
|
return pre.then(function() {
|
||||||
return self.reload();
|
return self.reload();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -978,7 +973,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
sidebar_context: function () {
|
sidebar_context: function () {
|
||||||
return this.save().pipe(_.bind(function() {return this.get_fields_values();}, this));
|
return this.save().then(_.bind(function() {return this.get_fields_values();}, this));
|
||||||
},
|
},
|
||||||
open_defaults_dialog: function () {
|
open_defaults_dialog: function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -1054,7 +1049,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||||
all_users,
|
all_users,
|
||||||
true,
|
true,
|
||||||
condition || false
|
condition || false
|
||||||
]).then(function () { d.close(); });
|
]).done(function () { d.close(); });
|
||||||
}}
|
}}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
@ -1883,7 +1878,7 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{text: _t("Ok"), click: function() {
|
{text: _t("Ok"), click: function() {
|
||||||
self.on_confirmed().then(function() {
|
self.on_confirmed().done(function() {
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
$(this).dialog("close");
|
$(this).dialog("close");
|
||||||
|
@ -1898,7 +1893,7 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
|
||||||
};
|
};
|
||||||
if (!this.node.attrs.special) {
|
if (!this.node.attrs.special) {
|
||||||
this.view.force_dirty = true;
|
this.view.force_dirty = true;
|
||||||
return this.view.recursive_save().pipe(exec_action);
|
return this.view.recursive_save().then(exec_action);
|
||||||
} else {
|
} else {
|
||||||
return exec_action();
|
return exec_action();
|
||||||
}
|
}
|
||||||
|
@ -2117,7 +2112,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
|
||||||
on_translate: function() {
|
on_translate: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var trans = new instance.web.DataSet(this, 'ir.translation');
|
var trans = new instance.web.DataSet(this, 'ir.translation');
|
||||||
return trans.call_button('translate_fields', [this.view.dataset.model, this.view.datarecord.id, this.name, this.view.dataset.get_context()]).then(function(r) {
|
return trans.call_button('translate_fields', [this.view.dataset.model, this.view.datarecord.id, this.name, this.view.dataset.get_context()]).done(function(r) {
|
||||||
self.do_action(r);
|
self.do_action(r);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -2732,7 +2727,7 @@ instance.web.form.CompletionFieldMixin = {
|
||||||
|
|
||||||
return this.orderer.add(dataset.name_search(
|
return this.orderer.add(dataset.name_search(
|
||||||
search_val, new instance.web.CompoundDomain(self.build_domain(), [["id", "not in", blacklist]]),
|
search_val, new instance.web.CompoundDomain(self.build_domain(), [["id", "not in", blacklist]]),
|
||||||
'ilike', this.limit + 1, self.build_context())).pipe(function(data) {
|
'ilike', this.limit + 1, self.build_context())).then(function(data) {
|
||||||
self.last_search = data;
|
self.last_search = data;
|
||||||
// possible selections for the m2o
|
// possible selections for the m2o
|
||||||
var values = _.map(data, function(x) {
|
var values = _.map(data, function(x) {
|
||||||
|
@ -2751,7 +2746,7 @@ instance.web.form.CompletionFieldMixin = {
|
||||||
values.push({
|
values.push({
|
||||||
label: _t("Search More..."),
|
label: _t("Search More..."),
|
||||||
action: function() {
|
action: function() {
|
||||||
dataset.name_search(search_val, self.build_domain(), 'ilike', false).then(function(data) {
|
dataset.name_search(search_val, self.build_domain(), 'ilike', false).done(function(data) {
|
||||||
self._search_create_popup("search", data);
|
self._search_create_popup("search", data);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -2792,7 +2787,7 @@ instance.web.form.CompletionFieldMixin = {
|
||||||
};
|
};
|
||||||
if (self.options.quick_create === undefined || self.options.quick_create) {
|
if (self.options.quick_create === undefined || self.options.quick_create) {
|
||||||
new instance.web.DataSet(this, this.field.relation, self.build_context())
|
new instance.web.DataSet(this, this.field.relation, self.build_context())
|
||||||
.name_create(name).then(function(data) {
|
.name_create(name).done(function(data) {
|
||||||
self.add_id(data[0]);
|
self.add_id(data[0]);
|
||||||
}).fail(function(error, event) {
|
}).fail(function(error, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
@ -2989,14 +2984,14 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
||||||
self.ed_def.reject();
|
self.ed_def.reject();
|
||||||
self.uned_def.reject();
|
self.uned_def.reject();
|
||||||
self.ed_def = $.Deferred();
|
self.ed_def = $.Deferred();
|
||||||
self.ed_def.then(function() {
|
self.ed_def.done(function() {
|
||||||
self.show_error_displayer();
|
self.show_error_displayer();
|
||||||
});
|
});
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
self.ed_def.resolve();
|
self.ed_def.resolve();
|
||||||
self.uned_def.reject();
|
self.uned_def.reject();
|
||||||
self.uned_def = $.Deferred();
|
self.uned_def = $.Deferred();
|
||||||
self.uned_def.then(function() {
|
self.uned_def.done(function() {
|
||||||
self.hide_error_displayer();
|
self.hide_error_displayer();
|
||||||
});
|
});
|
||||||
setTimeout(function() {self.uned_def.resolve();}, ed_duration);
|
setTimeout(function() {self.uned_def.resolve();}, ed_duration);
|
||||||
|
@ -3026,7 +3021,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
||||||
// autocomplete
|
// autocomplete
|
||||||
this.$input.autocomplete({
|
this.$input.autocomplete({
|
||||||
source: function(req, resp) {
|
source: function(req, resp) {
|
||||||
self.get_search_result(req.term).then(function(result) {
|
self.get_search_result(req.term).done(function(result) {
|
||||||
resp(result);
|
resp(result);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3077,7 +3072,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
||||||
}
|
}
|
||||||
if (! no_recurse) {
|
if (! no_recurse) {
|
||||||
var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context());
|
var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context());
|
||||||
dataset.name_get([self.get("value")]).then(function(data) {
|
dataset.name_get([self.get("value")]).done(function(data) {
|
||||||
self.display_value["" + self.get("value")] = data[0][1];
|
self.display_value["" + self.get("value")] = data[0][1];
|
||||||
self.render_value(true);
|
self.render_value(true);
|
||||||
});
|
});
|
||||||
|
@ -3230,11 +3225,11 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.load_views();
|
self.load_views();
|
||||||
this.is_loaded.then(function() {
|
this.is_loaded.done(function() {
|
||||||
self.on("change:effective_readonly", self, function() {
|
self.on("change:effective_readonly", self, function() {
|
||||||
self.is_loaded = self.is_loaded.pipe(function() {
|
self.is_loaded = self.is_loaded.then(function() {
|
||||||
self.viewmanager.destroy();
|
self.viewmanager.destroy();
|
||||||
return $.when(self.load_views()).then(function() {
|
return $.when(self.load_views()).done(function() {
|
||||||
self.reload_current_view();
|
self.reload_current_view();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -3307,10 +3302,10 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
||||||
|
|
||||||
this.viewmanager = new instance.web.form.One2ManyViewManager(this, this.dataset, views, {});
|
this.viewmanager = new instance.web.form.One2ManyViewManager(this, this.dataset, views, {});
|
||||||
this.viewmanager.o2m = self;
|
this.viewmanager.o2m = self;
|
||||||
var once = $.Deferred().then(function() {
|
var once = $.Deferred().done(function() {
|
||||||
self.init_form_last_update.resolve();
|
self.init_form_last_update.resolve();
|
||||||
});
|
});
|
||||||
var def = $.Deferred().then(function() {
|
var def = $.Deferred().done(function() {
|
||||||
self.initial_is_loaded.resolve();
|
self.initial_is_loaded.resolve();
|
||||||
});
|
});
|
||||||
this.viewmanager.on("controller_inited", self, function(view_type, controller) {
|
this.viewmanager.on("controller_inited", self, function(view_type, controller) {
|
||||||
|
@ -3342,22 +3337,22 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
this.viewmanager.on("switch_mode", self, function(n_mode, b, c, d, e) {
|
this.viewmanager.on("switch_mode", self, function(n_mode, b, c, d, e) {
|
||||||
$.when(self.save_any_view()).then(function() {
|
$.when(self.save_any_view()).done(function() {
|
||||||
if (n_mode === "list") {
|
if (n_mode === "list") {
|
||||||
$.async_when().then(function() {
|
$.async_when().done(function() {
|
||||||
self.reload_current_view();
|
self.reload_current_view();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$.async_when().then(function () {
|
$.async_when().done(function () {
|
||||||
self.viewmanager.appendTo(self.$el);
|
self.viewmanager.appendTo(self.$el);
|
||||||
});
|
});
|
||||||
return def;
|
return def;
|
||||||
},
|
},
|
||||||
reload_current_view: function() {
|
reload_current_view: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return self.is_loaded = self.is_loaded.pipe(function() {
|
return self.is_loaded = self.is_loaded.then(function() {
|
||||||
var active_view = self.viewmanager.active_view;
|
var active_view = self.viewmanager.active_view;
|
||||||
var view = self.viewmanager.views[active_view].controller;
|
var view = self.viewmanager.views[active_view].controller;
|
||||||
if(active_view === "list") {
|
if(active_view === "list") {
|
||||||
|
@ -3369,7 +3364,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
||||||
var act = function() {
|
var act = function() {
|
||||||
return view.do_show();
|
return view.do_show();
|
||||||
};
|
};
|
||||||
self.form_last_update = self.form_last_update.pipe(act, act);
|
self.form_last_update = self.form_last_update.then(act, act);
|
||||||
return self.form_last_update;
|
return self.form_last_update;
|
||||||
} else if (view.do_search) {
|
} else if (view.do_search) {
|
||||||
return view.do_search(self.build_domain(), self.dataset.get_context(), []);
|
return view.do_search(self.build_domain(), self.dataset.get_context(), []);
|
||||||
|
@ -3468,17 +3463,17 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
||||||
this.viewmanager.views[this.viewmanager.active_view].controller) {
|
this.viewmanager.views[this.viewmanager.active_view].controller) {
|
||||||
var view = this.viewmanager.views[this.viewmanager.active_view].controller;
|
var view = this.viewmanager.views[this.viewmanager.active_view].controller;
|
||||||
if (this.viewmanager.active_view === "form") {
|
if (this.viewmanager.active_view === "form") {
|
||||||
if (!view.is_initialized.isResolved()) {
|
if (!view.is_initialized.state() === 'resolved') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var res = $.when(view.save());
|
var res = $.when(view.save());
|
||||||
if (!res.isResolved() && !res.isRejected()) {
|
if (res.state() === 'pending') {
|
||||||
console.warn("Asynchronous get_value() is not supported in form view.");
|
console.warn("Asynchronous get_value() is not supported in form view.");
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
} else if (this.viewmanager.active_view === "list") {
|
} else if (this.viewmanager.active_view === "list") {
|
||||||
var res = $.when(view.ensure_saved());
|
var res = $.when(view.ensure_saved());
|
||||||
if (!res.isResolved() && !res.isRejected()) {
|
if (res.state() === 'pending') {
|
||||||
console.warn("Asynchronous get_value() is not supported in list view.");
|
console.warn("Asynchronous get_value() is not supported in list view.");
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
@ -3526,13 +3521,13 @@ instance.web.form.One2ManyViewManager = instance.web.ViewManager.extend({
|
||||||
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
||||||
title: _t("Open: ") + self.o2m.string,
|
title: _t("Open: ") + self.o2m.string,
|
||||||
create_function: function(data) {
|
create_function: function(data) {
|
||||||
return self.o2m.dataset.create(data).then(function(r) {
|
return self.o2m.dataset.create(data).done(function(r) {
|
||||||
self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r]));
|
self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r]));
|
||||||
self.o2m.dataset.trigger("dataset_changed", r);
|
self.o2m.dataset.trigger("dataset_changed", r);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
write_function: function(id, data, options) {
|
write_function: function(id, data, options) {
|
||||||
return self.o2m.dataset.write(id, data, {}).then(function() {
|
return self.o2m.dataset.write(id, data, {}).done(function() {
|
||||||
self.o2m.reload_current_view();
|
self.o2m.reload_current_view();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3617,10 +3612,10 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
|
||||||
initial_view: "form",
|
initial_view: "form",
|
||||||
alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined,
|
alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined,
|
||||||
create_function: function(data, callback, error_callback) {
|
create_function: function(data, callback, error_callback) {
|
||||||
return self.o2m.dataset.create(data).then(function(r) {
|
return self.o2m.dataset.create(data).done(function(r) {
|
||||||
self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r]));
|
self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r]));
|
||||||
self.o2m.dataset.trigger("dataset_changed", r);
|
self.o2m.dataset.trigger("dataset_changed", r);
|
||||||
}).then(callback, error_callback);
|
}).done(callback).fail(error_callback);
|
||||||
},
|
},
|
||||||
read_function: function() {
|
read_function: function() {
|
||||||
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
|
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
|
||||||
|
@ -3643,7 +3638,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
|
||||||
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(), {
|
||||||
title: _t("Open: ") + self.o2m.string,
|
title: _t("Open: ") + self.o2m.string,
|
||||||
write_function: function(id, data) {
|
write_function: function(id, data) {
|
||||||
return self.o2m.dataset.write(id, data, {}).then(function() {
|
return self.o2m.dataset.write(id, data, {}).done(function() {
|
||||||
self.o2m.reload_current_view();
|
self.o2m.reload_current_view();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3666,12 +3661,12 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
|
||||||
}
|
}
|
||||||
var parent_form = this.o2m.view;
|
var parent_form = this.o2m.view;
|
||||||
var self = this;
|
var self = this;
|
||||||
this.ensure_saved().pipe(function () {
|
this.ensure_saved().then(function () {
|
||||||
if (parent_form)
|
if (parent_form)
|
||||||
return parent_form.save();
|
return parent_form.save();
|
||||||
else
|
else
|
||||||
return $.when();
|
return $.when();
|
||||||
}).then(function () {
|
}).done(function () {
|
||||||
self.handle_button(name, id, callback);
|
self.handle_button(name, id, callback);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3731,7 +3726,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
|
||||||
ids.splice(false_id_index, 1);
|
ids.splice(false_id_index, 1);
|
||||||
next = this.cancel_edition(true);
|
next = this.cancel_edition(true);
|
||||||
}
|
}
|
||||||
return next.pipe(function () {
|
return next.then(function () {
|
||||||
// wheeee
|
// wheeee
|
||||||
var confirm = window.confirm;
|
var confirm = window.confirm;
|
||||||
window.confirm = function () { return true; };
|
window.confirm = function () { return true; };
|
||||||
|
@ -3793,7 +3788,7 @@ instance.web.form.One2ManyList = instance.web.ListView.List.extend({
|
||||||
clearTimeout(self.view.editor.form.__blur_timeout);
|
clearTimeout(self.view.editor.form.__blur_timeout);
|
||||||
self.view.editor.form.__blur_timeout = false;
|
self.view.editor.form.__blur_timeout = false;
|
||||||
}
|
}
|
||||||
self.view.ensure_saved().then(function () {
|
self.view.ensure_saved().done(function () {
|
||||||
self.view.do_add_record();
|
self.view.do_add_record();
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
|
@ -3814,7 +3809,7 @@ instance.web.form.One2ManyFormView = instance.web.FormView.extend({
|
||||||
this._super(data);
|
this._super(data);
|
||||||
var self = this;
|
var self = this;
|
||||||
this.$buttons.find('button.oe_form_button_create').click(function() {
|
this.$buttons.find('button.oe_form_button_create').click(function() {
|
||||||
self.save().then(self.on_button_new);
|
self.save().done(self.on_button_new);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
do_notify_change: function() {
|
do_notify_change: function() {
|
||||||
|
@ -3892,7 +3887,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
|
||||||
}).bind('getSuggestions', function(e, data) {
|
}).bind('getSuggestions', function(e, data) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var str = !!data ? data.query || '' : '';
|
var str = !!data ? data.query || '' : '';
|
||||||
self.get_search_result(str).then(function(result) {
|
self.get_search_result(str).done(function(result) {
|
||||||
self.search_result = result;
|
self.search_result = result;
|
||||||
$(_this).trigger('setSuggestions', {result : _.map(result, function(el, i) {
|
$(_this).trigger('setSuggestions', {result : _.map(result, function(el, i) {
|
||||||
return _.extend(el, {index:i});
|
return _.extend(el, {index:i});
|
||||||
|
@ -3945,7 +3940,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (! values || values.length > 0) {
|
if (! values || values.length > 0) {
|
||||||
this._display_orderer.add(dataset.name_get(values)).then(handle_names);
|
this._display_orderer.add(dataset.name_get(values)).done(handle_names);
|
||||||
} else {
|
} else {
|
||||||
handle_names([]);
|
handle_names([]);
|
||||||
}
|
}
|
||||||
|
@ -3982,11 +3977,11 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.load_view();
|
self.load_view();
|
||||||
this.is_loaded.then(function() {
|
this.is_loaded.done(function() {
|
||||||
self.on("change:effective_readonly", self, function() {
|
self.on("change:effective_readonly", self, function() {
|
||||||
self.is_loaded = self.is_loaded.pipe(function() {
|
self.is_loaded = self.is_loaded.then(function() {
|
||||||
self.list_view.destroy();
|
self.list_view.destroy();
|
||||||
return $.when(self.load_view()).then(function() {
|
return $.when(self.load_view()).done(function() {
|
||||||
self.render_value();
|
self.render_value();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -4027,7 +4022,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
|
||||||
self.initial_is_loaded.resolve();
|
self.initial_is_loaded.resolve();
|
||||||
loaded.resolve();
|
loaded.resolve();
|
||||||
});
|
});
|
||||||
$.async_when().then(function () {
|
$.async_when().done(function () {
|
||||||
self.list_view.appendTo(self.$el);
|
self.list_view.appendTo(self.$el);
|
||||||
});
|
});
|
||||||
return loaded;
|
return loaded;
|
||||||
|
@ -4035,7 +4030,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
|
||||||
render_value: function() {
|
render_value: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.dataset.set_ids(this.get("value"));
|
this.dataset.set_ids(this.get("value"));
|
||||||
this.is_loaded = this.is_loaded.pipe(function() {
|
this.is_loaded = this.is_loaded.then(function() {
|
||||||
return self.list_view.reload_content();
|
return self.list_view.reload_content();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -4096,7 +4091,7 @@ instance.web.form.Many2ManyListView = instance.web.ListView.extend(/** @lends in
|
||||||
if (! this.m2m_field.options.reload_on_button) {
|
if (! this.m2m_field.options.reload_on_button) {
|
||||||
return _sup(name, id, callback);
|
return _sup(name, id, callback);
|
||||||
} else {
|
} else {
|
||||||
return this.m2m_field.view.save().pipe(function() {
|
return this.m2m_field.view.save().then(function() {
|
||||||
return _sup(name, id, function() {
|
return _sup(name, id, function() {
|
||||||
self.m2m_field.view.reload();
|
self.m2m_field.view.reload();
|
||||||
});
|
});
|
||||||
|
@ -4127,11 +4122,11 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.load_view();
|
self.load_view();
|
||||||
this.is_loaded.then(function() {
|
this.is_loaded.done(function() {
|
||||||
self.on("change:effective_readonly", self, function() {
|
self.on("change:effective_readonly", self, function() {
|
||||||
self.is_loaded = self.is_loaded.pipe(function() {
|
self.is_loaded = self.is_loaded.then(function() {
|
||||||
self.kanban_view.destroy();
|
self.kanban_view.destroy();
|
||||||
return $.when(self.load_view()).then(function() {
|
return $.when(self.load_view()).done(function() {
|
||||||
self.render_value();
|
self.render_value();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -4168,7 +4163,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
|
||||||
loaded.resolve();
|
loaded.resolve();
|
||||||
});
|
});
|
||||||
this.kanban_view.on('switch_mode', this, this.open_popup);
|
this.kanban_view.on('switch_mode', this, this.open_popup);
|
||||||
$.async_when().then(function () {
|
$.async_when().done(function () {
|
||||||
self.kanban_view.appendTo(self.$el);
|
self.kanban_view.appendTo(self.$el);
|
||||||
});
|
});
|
||||||
return loaded;
|
return loaded;
|
||||||
|
@ -4176,7 +4171,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
|
||||||
render_value: function() {
|
render_value: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.dataset.set_ids(this.get("value"));
|
this.dataset.set_ids(this.get("value"));
|
||||||
this.is_loaded = this.is_loaded.pipe(function() {
|
this.is_loaded = this.is_loaded.then(function() {
|
||||||
return self.kanban_view.do_search(self.build_domain(), self.dataset.get_context(), []);
|
return self.kanban_view.do_search(self.build_domain(), self.dataset.get_context(), []);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -4212,7 +4207,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
|
||||||
pop.show_element(self.field.relation, id, self.build_context(), {
|
pop.show_element(self.field.relation, id, self.build_context(), {
|
||||||
title: _t("Open: ") + self.string,
|
title: _t("Open: ") + self.string,
|
||||||
write_function: function(id, data, options) {
|
write_function: function(id, data, options) {
|
||||||
return self.dataset.write(id, data, {}).then(function() {
|
return self.dataset.write(id, data, {}).done(function() {
|
||||||
self.render_value();
|
self.render_value();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -4285,7 +4280,7 @@ instance.web.form.Many2ManyQuickCreate = instance.web.Widget.extend({
|
||||||
}).bind('getSuggestions', function(e, data) {
|
}).bind('getSuggestions', function(e, data) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var str = !!data ? data.query || '' : '';
|
var str = !!data ? data.query || '' : '';
|
||||||
self.m2m.get_search_result(str).then(function(result) {
|
self.m2m.get_search_result(str).done(function(result) {
|
||||||
self.search_result = result;
|
self.search_result = result;
|
||||||
$(_this).trigger('setSuggestions', {result : _.map(result, function(el, i) {
|
$(_this).trigger('setSuggestions', {result : _.map(result, function(el, i) {
|
||||||
return _.extend(el, {index:i});
|
return _.extend(el, {index:i});
|
||||||
|
@ -4340,13 +4335,13 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
||||||
this.dataset.read_function = this.options.read_function;
|
this.dataset.read_function = this.options.read_function;
|
||||||
this.dataset.create_function = function(data, sup) {
|
this.dataset.create_function = function(data, sup) {
|
||||||
var fct = self.options.create_function || sup;
|
var fct = self.options.create_function || sup;
|
||||||
return fct.call(this, data).then(function(r) {
|
return fct.call(this, data).done(function(r) {
|
||||||
self.created_elements.push(r);
|
self.created_elements.push(r);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
this.dataset.write_function = function(id, data, options, sup) {
|
this.dataset.write_function = function(id, data, options, sup) {
|
||||||
var fct = self.options.write_function || sup;
|
var fct = self.options.write_function || sup;
|
||||||
return fct.call(this, id, data, options).then(function() {
|
return fct.call(this, id, data, options).done(function() {
|
||||||
self.trigger('write_completed');
|
self.trigger('write_completed');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -4395,7 +4390,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
||||||
}));
|
}));
|
||||||
var $snbutton = self.$buttonpane.find(".oe_abstractformpopup-form-save-new");
|
var $snbutton = self.$buttonpane.find(".oe_abstractformpopup-form-save-new");
|
||||||
$snbutton.click(function() {
|
$snbutton.click(function() {
|
||||||
$.when(self.view_form.save()).then(function() {
|
$.when(self.view_form.save()).done(function() {
|
||||||
self.view_form.reload_mutex.exec(function() {
|
self.view_form.reload_mutex.exec(function() {
|
||||||
self.view_form.on_button_new();
|
self.view_form.on_button_new();
|
||||||
});
|
});
|
||||||
|
@ -4403,7 +4398,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
||||||
});
|
});
|
||||||
var $sbutton = self.$buttonpane.find(".oe_abstractformpopup-form-save");
|
var $sbutton = self.$buttonpane.find(".oe_abstractformpopup-form-save");
|
||||||
$sbutton.click(function() {
|
$sbutton.click(function() {
|
||||||
$.when(self.view_form.save()).then(function() {
|
$.when(self.view_form.save()).done(function() {
|
||||||
self.view_form.reload_mutex.exec(function() {
|
self.view_form.reload_mutex.exec(function() {
|
||||||
self.check_exit();
|
self.check_exit();
|
||||||
});
|
});
|
||||||
|
@ -4477,7 +4472,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
|
||||||
self.rpc('/web/session/eval_domain_and_context', {
|
self.rpc('/web/session/eval_domain_and_context', {
|
||||||
domains: [],
|
domains: [],
|
||||||
contexts: [this.context]
|
contexts: [this.context]
|
||||||
}).then(function (results) {
|
}).done(function (results) {
|
||||||
var search_defaults = {};
|
var search_defaults = {};
|
||||||
_.each(results.context, function (value_, key) {
|
_.each(results.context, function (value_, key) {
|
||||||
var match = /^search_default_(.*)$/.exec(key);
|
var match = /^search_default_(.*)$/.exec(key);
|
||||||
|
@ -4519,9 +4514,9 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
|
||||||
e.cancel = true;
|
e.cancel = true;
|
||||||
});
|
});
|
||||||
self.view_list.popup = self;
|
self.view_list.popup = self;
|
||||||
self.view_list.appendTo($(".oe_popup_list", self.$el)).pipe(function() {
|
self.view_list.appendTo($(".oe_popup_list", self.$el)).then(function() {
|
||||||
self.view_list.do_show();
|
self.view_list.do_show();
|
||||||
}).pipe(function() {
|
}).then(function() {
|
||||||
self.searchview.do_search();
|
self.searchview.do_search();
|
||||||
});
|
});
|
||||||
self.view_list.on("list_view_loaded", self, function() {
|
self.view_list.on("list_view_loaded", self, function() {
|
||||||
|
@ -4549,7 +4544,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
|
||||||
domains: domains || [],
|
domains: domains || [],
|
||||||
contexts: contexts || [],
|
contexts: contexts || [],
|
||||||
group_by_seq: groupbys || []
|
group_by_seq: groupbys || []
|
||||||
}).then(function (results) {
|
}).done(function (results) {
|
||||||
self.view_list.do_search(results.domain, results.context, results.group_by);
|
self.view_list.do_search(results.domain, results.context, results.group_by);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -4899,7 +4894,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||||
},
|
},
|
||||||
render_value: function() {
|
render_value: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.get_selection().then(function() {
|
self.get_selection().done(function() {
|
||||||
var content = QWeb.render("FieldStatus.content", {widget: self});
|
var content = QWeb.render("FieldStatus.content", {widget: self});
|
||||||
self.$el.html(content);
|
self.$el.html(content);
|
||||||
var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}");
|
var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}");
|
||||||
|
@ -4923,7 +4918,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||||
domain = new instance.web.CompoundDomain(['|'], self.build_domain(), [['id', '=', self.get('value')]]);
|
domain = new instance.web.CompoundDomain(['|'], self.build_domain(), [['id', '=', self.get('value')]]);
|
||||||
}
|
}
|
||||||
var ds = new instance.web.DataSetSearch(this, this.field.relation, self.build_context(), domain);
|
var ds = new instance.web.DataSetSearch(this, this.field.relation, self.build_context(), domain);
|
||||||
return ds.read_slice(['name'], {}).pipe(function (records) {
|
return ds.read_slice(['name'], {}).then(function (records) {
|
||||||
for(var i = 0; i < records.length; i++) {
|
for(var i = 0; i < records.length; i++) {
|
||||||
self.selection.push([records[i].id, records[i].name]);
|
self.selection.push([records[i].id, records[i].name]);
|
||||||
}
|
}
|
||||||
|
@ -4947,10 +4942,10 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||||
var $li = $(ev.currentTarget);
|
var $li = $(ev.currentTarget);
|
||||||
var val = parseInt($li.data("id"));
|
var val = parseInt($li.data("id"));
|
||||||
if (val != self.get('value')) {
|
if (val != self.get('value')) {
|
||||||
this.view.recursive_save().then(function() {
|
this.view.recursive_save().done(function() {
|
||||||
var change = {};
|
var change = {};
|
||||||
change[self.name] = val;
|
change[self.name] = val;
|
||||||
self.view.dataset.write(self.view.datarecord.id, change).then(function() {
|
self.view.dataset.write(self.view.datarecord.id, change).done(function() {
|
||||||
self.view.reload();
|
self.view.reload();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -4984,7 +4979,7 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return this.ci_dm.add(new instance.web.Model("res.currency").query(["symbol", "position"])
|
return this.ci_dm.add(new instance.web.Model("res.currency").query(["symbol", "position"])
|
||||||
.filter([["id", "=", self.get("currency")]]).first()).pipe(function(res) {
|
.filter([["id", "=", self.get("currency")]]).first()).then(function(res) {
|
||||||
self.set({"currency_info": res});
|
self.set({"currency_info": res});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -508,7 +508,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
||||||
_.pluck(_(this.columns).filter(function (r) {
|
_.pluck(_(this.columns).filter(function (r) {
|
||||||
return r.tag === 'field';
|
return r.tag === 'field';
|
||||||
}), 'name')
|
}), 'name')
|
||||||
).then(function (records) {
|
).done(function (records) {
|
||||||
_(records[0]).each(function (value, key) {
|
_(records[0]).each(function (value, key) {
|
||||||
record.set(key, value, {silent: true});
|
record.set(key, value, {silent: true});
|
||||||
});
|
});
|
||||||
|
@ -553,7 +553,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
||||||
this.no_leaf = !!context['group_by_no_leaf'];
|
this.no_leaf = !!context['group_by_no_leaf'];
|
||||||
this.grouped = !!group_by;
|
this.grouped = !!group_by;
|
||||||
|
|
||||||
return this.load_view(context).pipe(
|
return this.load_view(context).then(
|
||||||
this.proxy('reload_content'));
|
this.proxy('reload_content'));
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
@ -566,7 +566,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var self = this;
|
var self = this;
|
||||||
return $.when(this.dataset.unlink(ids)).then(function () {
|
return $.when(this.dataset.unlink(ids)).done(function () {
|
||||||
_(ids).each(function (id) {
|
_(ids).each(function (id) {
|
||||||
self.records.remove(self.records.get(id));
|
self.records.remove(self.records.get(id));
|
||||||
});
|
});
|
||||||
|
@ -976,7 +976,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
||||||
// to get a correctly displayable value in the field
|
// to get a correctly displayable value in the field
|
||||||
var model = ref_match[1],
|
var model = ref_match[1],
|
||||||
id = parseInt(ref_match[2], 10);
|
id = parseInt(ref_match[2], 10);
|
||||||
new instance.web.DataSet(this.view, model).name_get([id]).then(function(names) {
|
new instance.web.DataSet(this.view, model).name_get([id]).done(function(names) {
|
||||||
if (!names.length) { return; }
|
if (!names.length) { return; }
|
||||||
record.set(column.id, names[0][1]);
|
record.set(column.id, names[0][1]);
|
||||||
});
|
});
|
||||||
|
@ -992,7 +992,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
||||||
// and let the various registered events handle refreshing the
|
// and let the various registered events handle refreshing the
|
||||||
// row
|
// row
|
||||||
new instance.web.DataSet(this.view, column.relation)
|
new instance.web.DataSet(this.view, column.relation)
|
||||||
.name_get([value]).then(function (names) {
|
.name_get([value]).done(function (names) {
|
||||||
if (!names.length) { return; }
|
if (!names.length) { return; }
|
||||||
record.set(column.id, names[0]);
|
record.set(column.id, names[0]);
|
||||||
});
|
});
|
||||||
|
@ -1015,7 +1015,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
||||||
ids = value;
|
ids = value;
|
||||||
}
|
}
|
||||||
new instance.web.Model(column.relation)
|
new instance.web.Model(column.relation)
|
||||||
.call('name_get', [ids]).then(function (names) {
|
.call('name_get', [ids]).done(function (names) {
|
||||||
record.set(column.id, _(names).pluck(1).join(', '));
|
record.set(column.id, _(names).pluck(1).join(', '));
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1384,43 +1384,45 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
|
||||||
var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name');
|
var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name');
|
||||||
var options = { offset: page * limit, limit: limit, context: {bin_size: true} };
|
var options = { offset: page * limit, limit: limit, context: {bin_size: true} };
|
||||||
//TODO xmo: investigate why we need to put the setTimeout
|
//TODO xmo: investigate why we need to put the setTimeout
|
||||||
$.async_when().then(function() {dataset.read_slice(fields, options).then(function (records) {
|
$.async_when().done(function() {
|
||||||
// FIXME: ignominious hacks, parents (aka form view) should not send two ListView#reload_content concurrently
|
dataset.read_slice(fields, options).done(function (records) {
|
||||||
if (self.records.length) {
|
// FIXME: ignominious hacks, parents (aka form view) should not send two ListView#reload_content concurrently
|
||||||
self.records.reset(null, {silent: true});
|
if (self.records.length) {
|
||||||
}
|
self.records.reset(null, {silent: true});
|
||||||
if (!self.datagroup.openable) {
|
}
|
||||||
view.configure_pager(dataset);
|
if (!self.datagroup.openable) {
|
||||||
} else {
|
view.configure_pager(dataset);
|
||||||
if (dataset.size() == records.length) {
|
} else {
|
||||||
// only one page
|
if (dataset.size() == records.length) {
|
||||||
self.$row.find('td.oe_list_group_pagination').empty();
|
// only one page
|
||||||
} else {
|
self.$row.find('td.oe_list_group_pagination').empty();
|
||||||
var pages = Math.ceil(dataset.size() / limit);
|
} else {
|
||||||
self.$row
|
var pages = Math.ceil(dataset.size() / limit);
|
||||||
.find('.oe_list_pager_state')
|
self.$row
|
||||||
.text(_.str.sprintf(_t("%(page)d/%(page_count)d"), {
|
.find('.oe_list_pager_state')
|
||||||
page: page + 1,
|
.text(_.str.sprintf(_t("%(page)d/%(page_count)d"), {
|
||||||
page_count: pages
|
page: page + 1,
|
||||||
}))
|
page_count: pages
|
||||||
.end()
|
}))
|
||||||
.find('button[data-pager-action=previous]')
|
.end()
|
||||||
.css('visibility',
|
.find('button[data-pager-action=previous]')
|
||||||
page === 0 ? 'hidden' : '')
|
.css('visibility',
|
||||||
.end()
|
page === 0 ? 'hidden' : '')
|
||||||
.find('button[data-pager-action=next]')
|
.end()
|
||||||
.css('visibility',
|
.find('button[data-pager-action=next]')
|
||||||
page === pages - 1 ? 'hidden' : '');
|
.css('visibility',
|
||||||
|
page === pages - 1 ? 'hidden' : '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
self.records.add(records, {silent: true});
|
self.records.add(records, {silent: true});
|
||||||
list.render();
|
list.render();
|
||||||
d.resolve(list);
|
d.resolve(list);
|
||||||
if (_.isEmpty(records)) {
|
if (_.isEmpty(records)) {
|
||||||
view.no_result();
|
view.no_result();
|
||||||
}
|
}
|
||||||
});});
|
});
|
||||||
|
});
|
||||||
return d.promise();
|
return d.promise();
|
||||||
},
|
},
|
||||||
setup_resequence_rows: function (list, dataset) {
|
setup_resequence_rows: function (list, dataset) {
|
||||||
|
@ -1476,7 +1478,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
|
||||||
// Accounting > Taxes > Taxes, child tax accounts)
|
// Accounting > Taxes > Taxes, child tax accounts)
|
||||||
// when synchronous (without setTimeout)
|
// when synchronous (without setTimeout)
|
||||||
(function (dataset, id, seq) {
|
(function (dataset, id, seq) {
|
||||||
$.async_when().then(function () {
|
$.async_when().done(function () {
|
||||||
var attrs = {};
|
var attrs = {};
|
||||||
attrs[seqname] = seq;
|
attrs[seqname] = seq;
|
||||||
dataset.write(id, attrs);
|
dataset.write(id, attrs);
|
||||||
|
@ -1501,7 +1503,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
|
||||||
self.render_groups(groups));
|
self.render_groups(groups));
|
||||||
if (post_render) { post_render(); }
|
if (post_render) { post_render(); }
|
||||||
}, function (dataset) {
|
}, function (dataset) {
|
||||||
self.render_dataset(dataset).then(function (list) {
|
self.render_dataset(dataset).done(function (list) {
|
||||||
self.children[null] = list;
|
self.children[null] = list;
|
||||||
self.elements =
|
self.elements =
|
||||||
[list.$current.replaceAll($el)[0]];
|
[list.$current.replaceAll($el)[0]];
|
||||||
|
@ -1561,7 +1563,7 @@ var DataGroup = instance.web.CallbackEnabled.extend({
|
||||||
list: function (fields, ifGroups, ifRecords) {
|
list: function (fields, ifGroups, ifRecords) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var query = this.model.query(fields).order_by(this.sort).group_by(this.group_by);
|
var query = this.model.query(fields).order_by(this.sort).group_by(this.group_by);
|
||||||
$.when(query).then(function (querygroups) {
|
$.when(query).done(function (querygroups) {
|
||||||
// leaf node
|
// leaf node
|
||||||
if (!querygroups) {
|
if (!querygroups) {
|
||||||
var ds = new instance.web.DataSetSearch(self, self.model.name, self.model.context(), self.model.domain());
|
var ds = new instance.web.DataSetSearch(self, self.model.name, self.model.context(), self.model.domain());
|
||||||
|
|
|
@ -127,7 +127,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
// restartable
|
// restartable
|
||||||
this.editor = this.make_editor();
|
this.editor = this.make_editor();
|
||||||
var editor_ready = this.editor.prependTo(this.$el)
|
var editor_ready = this.editor.prependTo(this.$el)
|
||||||
.then(this.proxy('setup_events'));
|
.done(this.proxy('setup_events'));
|
||||||
|
|
||||||
return $.when(result, editor_ready);
|
return $.when(result, editor_ready);
|
||||||
} else {
|
} else {
|
||||||
|
@ -146,7 +146,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
},
|
},
|
||||||
do_button_action: function (name, id, callback) {
|
do_button_action: function (name, id, callback) {
|
||||||
var self = this, args = arguments;
|
var self = this, args = arguments;
|
||||||
this.ensure_saved().then(function (done) {
|
this.ensure_saved().done(function (done) {
|
||||||
if (!id && done.created) {
|
if (!id && done.created) {
|
||||||
id = done.record.get('id');
|
id = done.record.get('id');
|
||||||
}
|
}
|
||||||
|
@ -191,7 +191,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
at: this.prepends_on_create() ? 0 : null});
|
at: this.prepends_on_create() ? 0 : null});
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.ensure_saved().pipe(function () {
|
return this.ensure_saved().then(function () {
|
||||||
var $recordRow = self.groups.get_row_for(record);
|
var $recordRow = self.groups.get_row_for(record);
|
||||||
var cells = self.get_cells_for($recordRow);
|
var cells = self.get_cells_for($recordRow);
|
||||||
self.fields_for_resize.splice(0, self.fields_for_resize.length);
|
self.fields_for_resize.splice(0, self.fields_for_resize.length);
|
||||||
|
@ -208,7 +208,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
// FIXME: need better way to get the field back from bubbling (delegated) DOM events somehow
|
// FIXME: need better way to get the field back from bubbling (delegated) DOM events somehow
|
||||||
field.$el.attr('data-fieldname', field_name);
|
field.$el.attr('data-fieldname', field_name);
|
||||||
self.fields_for_resize.push({field: field, cell: cell});
|
self.fields_for_resize.push({field: field, cell: cell});
|
||||||
}, options).pipe(function () {
|
}, options).then(function () {
|
||||||
$recordRow.addClass('oe_edition');
|
$recordRow.addClass('oe_edition');
|
||||||
self.resize_fields();
|
self.resize_fields();
|
||||||
return record.attributes;
|
return record.attributes;
|
||||||
|
@ -267,7 +267,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
form: this.editor.form,
|
form: this.editor.form,
|
||||||
cancel: false
|
cancel: false
|
||||||
}, function () {
|
}, function () {
|
||||||
return this.editor.save().pipe(function (attrs) {
|
return this.editor.save().then(function (attrs) {
|
||||||
var created = false;
|
var created = false;
|
||||||
var record = self.records.get(attrs.id);
|
var record = self.records.get(attrs.id);
|
||||||
if (!record) {
|
if (!record) {
|
||||||
|
@ -281,9 +281,9 @@ openerp.web.list_editable = function (instance) {
|
||||||
// record which has *just* been saved, so first perform all
|
// record which has *just* been saved, so first perform all
|
||||||
// onwrites then do a final reload of the record
|
// onwrites then do a final reload of the record
|
||||||
return self.handle_onwrite(record)
|
return self.handle_onwrite(record)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return self.reload_record(record); })
|
return self.reload_record(record); })
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return { created: created, record: record }; });
|
return { created: created, record: record }; });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -299,7 +299,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
form: this.editor.form,
|
form: this.editor.form,
|
||||||
cancel: false
|
cancel: false
|
||||||
}, function () {
|
}, function () {
|
||||||
return this.editor.cancel(force).pipe(function (attrs) {
|
return this.editor.cancel(force).then(function (attrs) {
|
||||||
if (attrs.id) {
|
if (attrs.id) {
|
||||||
var record = self.records.get(attrs.id);
|
var record = self.records.get(attrs.id);
|
||||||
if (!record) {
|
if (!record) {
|
||||||
|
@ -343,7 +343,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
message: _.str.sprintf("Event %s:before cancelled",
|
message: _.str.sprintf("Event %s:before cancelled",
|
||||||
event_name)});
|
event_name)});
|
||||||
}
|
}
|
||||||
return $.when(action.call(this)).then(function () {
|
return $.when(action.call(this)).done(function () {
|
||||||
self.trigger.apply(self, [event_name + ':after']
|
self.trigger.apply(self, [event_name + ':after']
|
||||||
.concat(_.toArray(arguments)));
|
.concat(_.toArray(arguments)));
|
||||||
});
|
});
|
||||||
|
@ -373,7 +373,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
var on_write_callback = self.fields_view.arch.attrs.on_write;
|
var on_write_callback = self.fields_view.arch.attrs.on_write;
|
||||||
if (!on_write_callback) { return $.when(); }
|
if (!on_write_callback) { return $.when(); }
|
||||||
return this.dataset.call(on_write_callback, [source_record.get('id')])
|
return this.dataset.call(on_write_callback, [source_record.get('id')])
|
||||||
.pipe(function (ids) {
|
.then(function (ids) {
|
||||||
return $.when.apply(
|
return $.when.apply(
|
||||||
null, _(ids).map(
|
null, _(ids).map(
|
||||||
_.bind(self.handle_onwrite_record, self, source_record)));
|
_.bind(self.handle_onwrite_record, self, source_record)));
|
||||||
|
@ -434,7 +434,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
_next: function (next_record, options) {
|
_next: function (next_record, options) {
|
||||||
next_record = next_record || 'succ';
|
next_record = next_record || 'succ';
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.save_edition().pipe(function (saveInfo) {
|
return this.save_edition().then(function (saveInfo) {
|
||||||
if (saveInfo.created) {
|
if (saveInfo.created) {
|
||||||
return self.start_edition();
|
return self.start_edition();
|
||||||
}
|
}
|
||||||
|
@ -638,7 +638,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
var _super = this._super();
|
var _super = this._super();
|
||||||
this.form.embedded_view = this._validate_view(
|
this.form.embedded_view = this._validate_view(
|
||||||
this.delegate.edition_view(this));
|
this.delegate.edition_view(this));
|
||||||
var form_ready = this.form.appendTo(this.$el).then(
|
var form_ready = this.form.appendTo(this.$el).done(
|
||||||
self.form.proxy('do_hide'));
|
self.form.proxy('do_hide'));
|
||||||
return $.when(_super, form_ready);
|
return $.when(_super, form_ready);
|
||||||
},
|
},
|
||||||
|
@ -719,9 +719,9 @@ openerp.web.list_editable = function (instance) {
|
||||||
var loaded = record
|
var loaded = record
|
||||||
? form.trigger('load_record', _.extend({}, record))
|
? form.trigger('load_record', _.extend({}, record))
|
||||||
: form.load_defaults();
|
: form.load_defaults();
|
||||||
return $.when(loaded).pipe(function () {
|
return $.when(loaded).then(function () {
|
||||||
return form.do_show({reload: false});
|
return form.do_show({reload: false});
|
||||||
}).pipe(function () {
|
}).then(function () {
|
||||||
self.record = form.datarecord;
|
self.record = form.datarecord;
|
||||||
_(form.fields).each(function (field, name) {
|
_(form.fields).each(function (field, name) {
|
||||||
configureField(name, field);
|
configureField(name, field);
|
||||||
|
@ -734,7 +734,7 @@ openerp.web.list_editable = function (instance) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.form
|
return this.form
|
||||||
.save(this.delegate.prepends_on_create())
|
.save(this.delegate.prepends_on_create())
|
||||||
.pipe(function (result) {
|
.then(function (result) {
|
||||||
var created = result.created && !self.record.id;
|
var created = result.created && !self.record.id;
|
||||||
if (created) {
|
if (created) {
|
||||||
self.record.id = result.result;
|
self.record.id = result.result;
|
||||||
|
|
|
@ -45,7 +45,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
|
||||||
view_type: "tree",
|
view_type: "tree",
|
||||||
toolbar: this.view_manager ? !!this.view_manager.sidebar : false,
|
toolbar: this.view_manager ? !!this.view_manager.sidebar : false,
|
||||||
context: this.dataset.get_context()
|
context: this.dataset.get_context()
|
||||||
}).then(this.on_loaded);
|
}).done(this.on_loaded);
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Returns the list of fields needed to correctly read objects.
|
* Returns the list of fields needed to correctly read objects.
|
||||||
|
@ -92,7 +92,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
|
||||||
}));
|
}));
|
||||||
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
||||||
|
|
||||||
this.dataset.read_slice(this.fields_list()).then(function(records) {
|
this.dataset.read_slice(this.fields_list()).done(function(records) {
|
||||||
self.store_record(records);
|
self.store_record(records);
|
||||||
if (!has_toolbar) {
|
if (!has_toolbar) {
|
||||||
// WARNING: will do a second read on the same ids, but only on
|
// WARNING: will do a second read on the same ids, but only on
|
||||||
|
@ -205,7 +205,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
|
||||||
var parent_child ={};
|
var parent_child ={};
|
||||||
id = _.isArray(id)?id:parseInt(id);
|
id = _.isArray(id)?id:parseInt(id);
|
||||||
var ir_model_data = new instance.web.Model(this.model,self.dataset.get_context() || {},[['id','child_of',id]]).query();
|
var ir_model_data = new instance.web.Model(this.model,self.dataset.get_context() || {},[['id','child_of',id]]).query();
|
||||||
ir_model_data._execute().then(function(records){
|
ir_model_data._execute().done(function(records){
|
||||||
self.store_record(records);
|
self.store_record(records);
|
||||||
_.each(records,function(rec){
|
_.each(records,function(rec){
|
||||||
if(rec[self.children_field].length === 0)return;
|
if(rec[self.children_field].length === 0)return;
|
||||||
|
@ -254,7 +254,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
|
||||||
model: this.dataset.model,
|
model: this.dataset.model,
|
||||||
context: new instance.web.CompoundContext(
|
context: new instance.web.CompoundContext(
|
||||||
this.dataset.get_context(), local_context)
|
this.dataset.get_context(), local_context)
|
||||||
}).pipe(function (actions) {
|
}).then(function (actions) {
|
||||||
if (!actions.length) { return; }
|
if (!actions.length) { return; }
|
||||||
var action = actions[0][2];
|
var action = actions[0][2];
|
||||||
var c = new instance.web.CompoundContext(local_context);
|
var c = new instance.web.CompoundContext(local_context);
|
||||||
|
@ -263,7 +263,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
|
||||||
}
|
}
|
||||||
return self.rpc('/web/session/eval_domain_and_context', {
|
return self.rpc('/web/session/eval_domain_and_context', {
|
||||||
contexts: [c], domains: []
|
contexts: [c], domains: []
|
||||||
}).pipe(function (res) {
|
}).then(function (res) {
|
||||||
action.context = res.context;
|
action.context = res.context;
|
||||||
return self.do_action(action);
|
return self.do_action(action);
|
||||||
}, null);
|
}, null);
|
||||||
|
|
|
@ -208,7 +208,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||||
if (run_action) {
|
if (run_action) {
|
||||||
this.null_action();
|
this.null_action();
|
||||||
action_loaded = this.do_action(state.action);
|
action_loaded = this.do_action(state.action);
|
||||||
instance.webclient.menu.has_been_loaded.then(function() {
|
instance.webclient.menu.has_been_loaded.done(function() {
|
||||||
instance.webclient.menu.open_action(state.action);
|
instance.webclient.menu.open_action(state.action);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -226,14 +226,14 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||||
} else if (state.sa) {
|
} else if (state.sa) {
|
||||||
// load session action
|
// load session action
|
||||||
this.null_action();
|
this.null_action();
|
||||||
action_loaded = this.rpc('/web/session/get_session_action', {key: state.sa}).pipe(function(action) {
|
action_loaded = this.rpc('/web/session/get_session_action', {key: state.sa}).then(function(action) {
|
||||||
if (action) {
|
if (action) {
|
||||||
return self.do_action(action);
|
return self.do_action(action);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$.when(action_loaded || null).then(function() {
|
$.when(action_loaded || null).done(function() {
|
||||||
if (self.inner_widget && self.inner_widget.do_load_state) {
|
if (self.inner_widget && self.inner_widget.do_load_state) {
|
||||||
self.inner_widget.do_load_state(state, warm);
|
self.inner_widget.do_load_state(state, warm);
|
||||||
}
|
}
|
||||||
|
@ -251,7 +251,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||||
return this.do_action(action_client, options);
|
return this.do_action(action_client, options);
|
||||||
} else if (_.isNumber(action) || _.isString(action)) {
|
} else if (_.isNumber(action) || _.isString(action)) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return self.rpc("/web/action/load", { action_id: action }).pipe(function(result) {
|
return self.rpc("/web/action/load", { action_id: action }).then(function(result) {
|
||||||
return self.do_action(result, options);
|
return self.do_action(result, options);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -379,7 +379,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||||
this.rpc('/web/action/run', {
|
this.rpc('/web/action/run', {
|
||||||
action_id: action.id,
|
action_id: action.id,
|
||||||
context: action.context || {}
|
context: action.context || {}
|
||||||
}).then(function (action) {
|
}).done(function (action) {
|
||||||
self.do_action(action, options)
|
self.do_action(action, options)
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -389,7 +389,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||||
self.rpc("/web/session/eval_domain_and_context", {
|
self.rpc("/web/session/eval_domain_and_context", {
|
||||||
contexts: [action.context],
|
contexts: [action.context],
|
||||||
domains: []
|
domains: []
|
||||||
}).then(function(res) {
|
}).done(function(res) {
|
||||||
action = _.clone(action);
|
action = _.clone(action);
|
||||||
action.context = res.context;
|
action.context = res.context;
|
||||||
self.session.get_file({
|
self.session.get_file({
|
||||||
|
@ -487,7 +487,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
} else if (this.searchview
|
} else if (this.searchview
|
||||||
&& self.flags.auto_search
|
&& self.flags.auto_search
|
||||||
&& view.controller.searchable !== false) {
|
&& view.controller.searchable !== false) {
|
||||||
this.searchview.ready.then(this.searchview.do_search);
|
this.searchview.ready.done(this.searchview.do_search);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.searchview) {
|
if (this.searchview) {
|
||||||
|
@ -499,7 +499,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
.find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]')
|
.find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]')
|
||||||
.parent().addClass('active');
|
.parent().addClass('active');
|
||||||
|
|
||||||
r = $.when(view_promise).then(function () {
|
r = $.when(view_promise).done(function () {
|
||||||
_.each(_.keys(self.views), function(view_name) {
|
_.each(_.keys(self.views), function(view_name) {
|
||||||
var controller = self.views[view_name].controller;
|
var controller = self.views[view_name].controller;
|
||||||
if (controller) {
|
if (controller) {
|
||||||
|
@ -551,11 +551,11 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
var view_promise = controller.appendTo(container);
|
var view_promise = controller.appendTo(container);
|
||||||
this.views[view_type].controller = controller;
|
this.views[view_type].controller = controller;
|
||||||
this.views[view_type].deferred.resolve(view_type);
|
this.views[view_type].deferred.resolve(view_type);
|
||||||
return $.when(view_promise).then(function() {
|
return $.when(view_promise).done(function() {
|
||||||
if (self.searchview
|
if (self.searchview
|
||||||
&& self.flags.auto_search
|
&& self.flags.auto_search
|
||||||
&& view.controller.searchable !== false) {
|
&& view.controller.searchable !== false) {
|
||||||
self.searchview.ready.then(self.searchview.do_search);
|
self.searchview.ready.done(self.searchview.do_search);
|
||||||
}
|
}
|
||||||
self.trigger("controller_inited",view_type,controller);
|
self.trigger("controller_inited",view_type,controller);
|
||||||
});
|
});
|
||||||
|
@ -582,7 +582,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
var view_to_select = views[index];
|
var view_to_select = views[index];
|
||||||
var state = self.url_states[view_to_select];
|
var state = self.url_states[view_to_select];
|
||||||
self.do_push_state(state || {});
|
self.do_push_state(state || {});
|
||||||
$.when(self.switch_mode(view_to_select)).then(function() {
|
$.when(self.switch_mode(view_to_select)).done(function() {
|
||||||
self.$el.show();
|
self.$el.show();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -661,7 +661,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
||||||
domains: [this.action.domain || []].concat(domains || []),
|
domains: [this.action.domain || []].concat(domains || []),
|
||||||
contexts: [action_context].concat(contexts || []),
|
contexts: [action_context].concat(contexts || []),
|
||||||
group_by_seq: groupbys || []
|
group_by_seq: groupbys || []
|
||||||
}).then(function (results) {
|
}).done(function (results) {
|
||||||
self.dataset._model = new instance.web.Model(
|
self.dataset._model = new instance.web.Model(
|
||||||
self.dataset.model, results.context, results.domain);
|
self.dataset.model, results.context, results.domain);
|
||||||
var groupby = results.group_by.length
|
var groupby = results.group_by.length
|
||||||
|
@ -786,7 +786,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
||||||
case 'perm_read':
|
case 'perm_read':
|
||||||
var ids = current_view.get_selected_ids();
|
var ids = current_view.get_selected_ids();
|
||||||
if (ids.length === 1) {
|
if (ids.length === 1) {
|
||||||
this.dataset.call('perm_read', [ids]).then(function(result) {
|
this.dataset.call('perm_read', [ids]).done(function(result) {
|
||||||
var dialog = new instance.web.Dialog(this, {
|
var dialog = new instance.web.Dialog(this, {
|
||||||
title: _.str.sprintf(_t("View Log (%s)"), self.dataset.model),
|
title: _.str.sprintf(_t("View Log (%s)"), self.dataset.model),
|
||||||
width: 400
|
width: 400
|
||||||
|
@ -812,7 +812,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 'fields':
|
case 'fields':
|
||||||
this.dataset.call('fields_get', [false, {}]).then(function (fields) {
|
this.dataset.call('fields_get', [false, {}]).done(function (fields) {
|
||||||
var $root = $('<dl>');
|
var $root = $('<dl>');
|
||||||
_(fields).each(function (attributes, name) {
|
_(fields).each(function (attributes, name) {
|
||||||
$root.append($('<dt>').append($('<h4>').text(name)));
|
$root.append($('<dt>').append($('<h4>').text(name)));
|
||||||
|
@ -899,7 +899,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
||||||
switch_mode: function (view_type, no_store, options) {
|
switch_mode: function (view_type, no_store, options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
return $.when(this._super.apply(this, arguments)).then(function () {
|
return $.when(this._super.apply(this, arguments)).done(function () {
|
||||||
var controller = self.views[self.active_view].controller;
|
var controller = self.views[self.active_view].controller;
|
||||||
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
|
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
|
||||||
view: controller,
|
view: controller,
|
||||||
|
@ -938,13 +938,13 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
||||||
defs = [];
|
defs = [];
|
||||||
if (state.view_type && state.view_type !== this.active_view) {
|
if (state.view_type && state.view_type !== this.active_view) {
|
||||||
defs.push(
|
defs.push(
|
||||||
this.views[this.active_view].deferred.pipe(function() {
|
this.views[this.active_view].deferred.then(function() {
|
||||||
return self.switch_mode(state.view_type, true);
|
return self.switch_mode(state.view_type, true);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$.when(defs).then(function() {
|
$.when(defs).done(function() {
|
||||||
self.views[self.active_view].controller.do_load_state(state, warm);
|
self.views[self.active_view].controller.do_load_state(state, warm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1051,7 +1051,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
|
||||||
},
|
},
|
||||||
on_item_action_clicked: function(item) {
|
on_item_action_clicked: function(item) {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.getParent().sidebar_context().then(function (context) {
|
self.getParent().sidebar_context().done(function (context) {
|
||||||
var ids = self.getParent().get_selected_ids();
|
var ids = self.getParent().get_selected_ids();
|
||||||
if (ids.length == 0) {
|
if (ids.length == 0) {
|
||||||
instance.web.dialog($("<div />").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
|
instance.web.dialog($("<div />").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });
|
||||||
|
@ -1065,7 +1065,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
|
||||||
self.rpc("/web/action/load", {
|
self.rpc("/web/action/load", {
|
||||||
action_id: item.action.id,
|
action_id: item.action.id,
|
||||||
context: additional_context
|
context: additional_context
|
||||||
}).then(function(result) {
|
}).done(function(result) {
|
||||||
result.context = _.extend(result.context || {},
|
result.context = _.extend(result.context || {},
|
||||||
additional_context);
|
additional_context);
|
||||||
result.flags = result.flags || {};
|
result.flags = result.flags || {};
|
||||||
|
@ -1087,7 +1087,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
|
||||||
} else {
|
} else {
|
||||||
var dom = [ ['res_model', '=', dataset.model], ['res_id', '=', model_id], ['type', 'in', ['binary', 'url']] ];
|
var dom = [ ['res_model', '=', dataset.model], ['res_id', '=', model_id], ['type', 'in', ['binary', 'url']] ];
|
||||||
var ds = new instance.web.DataSetSearch(this, 'ir.attachment', dataset.get_context(), dom);
|
var ds = new instance.web.DataSetSearch(this, 'ir.attachment', dataset.get_context(), dom);
|
||||||
ds.read_slice(['name', 'url', 'type'], {}).then(this.on_attachments_loaded);
|
ds.read_slice(['name', 'url', 'type'], {}).done(this.on_attachments_loaded);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_attachments_loaded: function(attachments) {
|
on_attachments_loaded: function(attachments) {
|
||||||
|
@ -1122,7 +1122,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
var $e = $(e.currentTarget);
|
var $e = $(e.currentTarget);
|
||||||
if (confirm(_t("Do you really want to delete this attachment ?"))) {
|
if (confirm(_t("Do you really want to delete this attachment ?"))) {
|
||||||
(new instance.web.DataSet(this, 'ir.attachment')).unlink([parseInt($e.attr('data-id'), 10)]).then(function() {
|
(new instance.web.DataSet(this, 'ir.attachment')).unlink([parseInt($e.attr('data-id'), 10)]).done(function() {
|
||||||
self.do_attachement_update(self.dataset, self.model_id);
|
self.do_attachement_update(self.dataset, self.model_id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1150,7 +1150,7 @@ instance.web.View = instance.web.Widget.extend({
|
||||||
var view_loaded;
|
var view_loaded;
|
||||||
if (this.embedded_view) {
|
if (this.embedded_view) {
|
||||||
view_loaded = $.Deferred();
|
view_loaded = $.Deferred();
|
||||||
$.async_when().then(function() {
|
$.async_when().done(function() {
|
||||||
view_loaded.resolve(self.embedded_view);
|
view_loaded.resolve(self.embedded_view);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -1164,7 +1164,7 @@ instance.web.View = instance.web.Widget.extend({
|
||||||
context: this.dataset.get_context(context)
|
context: this.dataset.get_context(context)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return view_loaded.pipe(function(r) {
|
return view_loaded.then(function(r) {
|
||||||
self.trigger('view_loaded', r);
|
self.trigger('view_loaded', r);
|
||||||
// add css classes that reflect the (absence of) access rights
|
// add css classes that reflect the (absence of) access rights
|
||||||
self.$el.addClass('oe_view')
|
self.$el.addClass('oe_view')
|
||||||
|
@ -1220,7 +1220,7 @@ instance.web.View = instance.web.Widget.extend({
|
||||||
return self.rpc('/web/session/eval_domain_and_context', {
|
return self.rpc('/web/session/eval_domain_and_context', {
|
||||||
contexts: [ncontext],
|
contexts: [ncontext],
|
||||||
domains: []
|
domains: []
|
||||||
}).pipe(function (results) {
|
}).then(function (results) {
|
||||||
action.context = results.context;
|
action.context = results.context;
|
||||||
/* niv: previously we were overriding once more with action_data.context,
|
/* niv: previously we were overriding once more with action_data.context,
|
||||||
* I assumed this was not a correct behavior and removed it
|
* I assumed this was not a correct behavior and removed it
|
||||||
|
@ -1249,11 +1249,11 @@ instance.web.View = instance.web.Widget.extend({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
args.push(context);
|
args.push(context);
|
||||||
return dataset.call_button(action_data.name, args).then(handler);
|
return dataset.call_button(action_data.name, args).done(handler);
|
||||||
} else if (action_data.type=="action") {
|
} else if (action_data.type=="action") {
|
||||||
return this.rpc('/web/action/load', { action_id: action_data.name, context: context, do_not_eval: true}).then(handler);
|
return this.rpc('/web/action/load', { action_id: action_data.name, context: context, do_not_eval: true}).done(handler);
|
||||||
} else {
|
} else {
|
||||||
return dataset.exec_workflow(record_id, action_data.name).then(handler);
|
return dataset.exec_workflow(record_id, action_data.name).done(handler);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -82,7 +82,7 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
t.test('call', function (openerp) {
|
t.test('call', function (openerp) {
|
||||||
var ds = new openerp.web.DataSet({session: openerp.session}, 'mod');
|
var ds = new openerp.web.DataSet({session: openerp.session}, 'mod');
|
||||||
t.expect(ds.call('frob', ['a', 'b', 42]).then(function (r) {
|
t.expect(ds.call('frob', ['a', 'b', 42]).done(function (r) {
|
||||||
strictEqual(r.method, 'frob');
|
strictEqual(r.method, 'frob');
|
||||||
|
|
||||||
strictEqual(r.args.length, 3);
|
strictEqual(r.args.length, 3);
|
||||||
|
@ -91,7 +91,7 @@ $(document).ready(function () {
|
||||||
ok(_.isEmpty(r.kwargs));
|
ok(_.isEmpty(r.kwargs));
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
t.test('name_get').then(function (openerp) {
|
t.test('name_get').done(function (openerp) {
|
||||||
var ds = new openerp.web.DataSet({session: openerp.session}, 'mod');
|
var ds = new openerp.web.DataSet({session: openerp.session}, 'mod');
|
||||||
t.expect(ds.name_get([1, 2], null), function (r) {
|
t.expect(ds.name_get([1, 2], null), function (r) {
|
||||||
strictEqual(r.method, 'name_get');
|
strictEqual(r.method, 'name_get');
|
||||||
|
|
|
@ -107,12 +107,12 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
e.appendTo($fix)
|
e.appendTo($fix)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return e.edit({}, function () {
|
return e.edit({}, function () {
|
||||||
++counter;
|
++counter;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.pipe(function (form) {
|
.then(function (form) {
|
||||||
ok(e.is_editing(), "should be editing");
|
ok(e.is_editing(), "should be editing");
|
||||||
equal(counter, 3, "should have configured all fields");
|
equal(counter, 3, "should have configured all fields");
|
||||||
return e.save();
|
return e.save();
|
||||||
|
@ -137,12 +137,12 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
e.appendTo($fix)
|
e.appendTo($fix)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return e.edit({}, function () {
|
return e.edit({}, function () {
|
||||||
++counter;
|
++counter;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.pipe(function (form) {
|
.then(function (form) {
|
||||||
return e.cancel();
|
return e.cancel();
|
||||||
})
|
})
|
||||||
.always(start)
|
.always(start)
|
||||||
|
@ -170,12 +170,12 @@ $(document).ready(function () {
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
var warnings = 0;
|
var warnings = 0;
|
||||||
e.appendTo($fix)
|
e.appendTo($fix)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return e.edit({}, function () {
|
return e.edit({}, function () {
|
||||||
++counter;
|
++counter;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.pipe(function (form) {
|
.then(function (form) {
|
||||||
return e.save();
|
return e.save();
|
||||||
})
|
})
|
||||||
.always(start)
|
.always(start)
|
||||||
|
@ -243,16 +243,16 @@ $(document).ready(function () {
|
||||||
var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
|
var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
|
||||||
|
|
||||||
l.appendTo($fix)
|
l.appendTo($fix)
|
||||||
.pipe(l.proxy('reload_content'))
|
.then(l.proxy('reload_content'))
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
return l.start_edition();
|
return l.start_edition();
|
||||||
})
|
})
|
||||||
.always(start)
|
.always(start)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
ok(got_defaults, "should have fetched default values for form");
|
ok(got_defaults, "should have fetched default values for form");
|
||||||
return l.save_edition();
|
return l.save_edition();
|
||||||
})
|
})
|
||||||
.pipe(function (result) {
|
.then(function (result) {
|
||||||
ok(result.created, "should yield newly created record");
|
ok(result.created, "should yield newly created record");
|
||||||
equal(result.record.get('a'), "qux",
|
equal(result.record.get('a'), "qux",
|
||||||
"should have used default values");
|
"should have used default values");
|
||||||
|
@ -307,14 +307,14 @@ $(document).ready(function () {
|
||||||
var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
|
var l = new instance.web.ListView({}, ds, false, {editable: 'top'});
|
||||||
l.on('edit:before edit:after', o, o.onEvent);
|
l.on('edit:before edit:after', o, o.onEvent);
|
||||||
l.appendTo($fix)
|
l.appendTo($fix)
|
||||||
.pipe(l.proxy('reload_content'))
|
.then(l.proxy('reload_content'))
|
||||||
.always(start)
|
.always(start)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
ok(l.options.editable, "should be editable");
|
ok(l.options.editable, "should be editable");
|
||||||
equal(o.counter, 0, "should have seen no event yet");
|
equal(o.counter, 0, "should have seen no event yet");
|
||||||
return l.start_edition(l.records.get(1));
|
return l.start_edition(l.records.get(1));
|
||||||
})
|
})
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
ok(l.editor.is_editing(), "should be editing");
|
ok(l.editor.is_editing(), "should be editing");
|
||||||
equal(o.counter, 2, "should have seen two edition events");
|
equal(o.counter, 2, "should have seen two edition events");
|
||||||
})
|
})
|
||||||
|
@ -332,14 +332,14 @@ $(document).ready(function () {
|
||||||
edit_after = true;
|
edit_after = true;
|
||||||
});
|
});
|
||||||
l.appendTo($fix)
|
l.appendTo($fix)
|
||||||
.pipe(l.proxy('reload_content'))
|
.then(l.proxy('reload_content'))
|
||||||
.always(start)
|
.always(start)
|
||||||
.pipe(function () {
|
.then(function () {
|
||||||
ok(l.options.editable, "should be editable");
|
ok(l.options.editable, "should be editable");
|
||||||
return l.start_edition();
|
return l.start_edition();
|
||||||
})
|
})
|
||||||
// cancelling an event rejects the deferred
|
// cancelling an event rejects the deferred
|
||||||
.pipe($.Deferred().reject(), function () {
|
.then($.Deferred().reject(), function () {
|
||||||
ok(!l.editor.is_editing(), "should not be editing");
|
ok(!l.editor.is_editing(), "should not be editing");
|
||||||
ok(!edit_after, "should not have fired the edit:after event");
|
ok(!edit_after, "should not have fired the edit:after event");
|
||||||
return $.when();
|
return $.when();
|
||||||
|
|
|
@ -29,10 +29,10 @@ $(document).ready(function () {
|
||||||
fail1 = false, fail2 = false;
|
fail1 = false, fail2 = false;
|
||||||
|
|
||||||
var d1 = $.Deferred(), d2 = $.Deferred();
|
var d1 = $.Deferred(), d2 = $.Deferred();
|
||||||
dm.add(d1).then(function () { done1 = true; },
|
dm.add(d1).done(function () { done1 = true; }
|
||||||
function () { fail1 = true; });
|
.fail(function () { fail1 = true; });
|
||||||
dm.add(d2).then(function () { done2 = true; },
|
dm.add(d2).done(function () { done2 = true; })
|
||||||
function () { fail2 = true; });
|
.fail(function () { fail2 = true; });
|
||||||
|
|
||||||
d2.resolve();
|
d2.resolve();
|
||||||
d1.resolve();
|
d1.resolve();
|
||||||
|
@ -50,10 +50,10 @@ $(document).ready(function () {
|
||||||
fail1 = false, fail2 = false;
|
fail1 = false, fail2 = false;
|
||||||
|
|
||||||
var d1 = $.Deferred(), d2 = $.Deferred();
|
var d1 = $.Deferred(), d2 = $.Deferred();
|
||||||
dm.add(d1).then(function () { done1 = true; },
|
dm.add(d1).done(function () { done1 = true; })
|
||||||
function () { fail1 = true; });
|
.fail(function () { fail1 = true; });
|
||||||
dm.add(d2).then(function () { done2 = true; },
|
dm.add(d2).done(function () { done2 = true; })
|
||||||
function () { fail2 = true; });
|
.fail(function () { fail2 = true; });
|
||||||
|
|
||||||
d2.resolve();
|
d2.resolve();
|
||||||
d1.resolve();
|
d1.resolve();
|
||||||
|
@ -86,10 +86,10 @@ $(document).ready(function () {
|
||||||
fail1 = false, fail2 = false;
|
fail1 = false, fail2 = false;
|
||||||
|
|
||||||
var d1 = $.Deferred(), d2 = $.Deferred();
|
var d1 = $.Deferred(), d2 = $.Deferred();
|
||||||
dm.add(d1).then(function () { done1 = true; },
|
dm.add(d1).done(function () { done1 = true; })
|
||||||
function () { fail1 = true; });
|
.fail(function () { fail1 = true; });
|
||||||
dm.add(d2).then(function () { done2 = true; },
|
dm.add(d2).done(function () { done2 = true; })
|
||||||
function () { fail2 = true; });
|
.fail(function () { fail2 = true; });
|
||||||
|
|
||||||
setTimeout(function () { d1.resolve(); }, 200);
|
setTimeout(function () { d1.resolve(); }, 200);
|
||||||
setTimeout(function () { d2.resolve(); }, 100);
|
setTimeout(function () { d2.resolve(); }, 100);
|
||||||
|
@ -110,10 +110,10 @@ $(document).ready(function () {
|
||||||
fail1 = false, fail2 = false;
|
fail1 = false, fail2 = false;
|
||||||
|
|
||||||
var d1 = $.Deferred(), d2 = $.Deferred();
|
var d1 = $.Deferred(), d2 = $.Deferred();
|
||||||
dm.add(d1).then(function () { done1 = true; },
|
dm.add(d1).done(function () { done1 = true; })
|
||||||
function () { fail1 = true; });
|
.fail(function () { fail1 = true; });
|
||||||
dm.add(d2).then(function () { done2 = true; },
|
dm.add(d2).done(function () { done2 = true; })
|
||||||
function () { fail2 = true; });
|
.fail(function () { fail2 = true; });
|
||||||
|
|
||||||
setTimeout(function () { d1.resolve(); }, 200);
|
setTimeout(function () { d1.resolve(); }, 200);
|
||||||
setTimeout(function () { d2.resolve(); }, 100);
|
setTimeout(function () { d2.resolve(); }, 100);
|
||||||
|
|
|
@ -43,7 +43,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
this._super();
|
this._super();
|
||||||
return this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type":"calendar", 'toolbar': false}).then(this.on_loaded);
|
return this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type":"calendar", 'toolbar': false}).done(this.on_loaded);
|
||||||
},
|
},
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
scheduler.clearAll();
|
scheduler.clearAll();
|
||||||
|
@ -106,7 +106,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
|
|
||||||
if (!this.sidebar && this.options.$sidebar) {
|
if (!this.sidebar && this.options.$sidebar) {
|
||||||
this.sidebar = new instance.web_calendar.Sidebar(this);
|
this.sidebar = new instance.web_calendar.Sidebar(this);
|
||||||
this.has_been_loaded.pipe(this.sidebar.appendTo(this.$el.find('.oe_calendar_sidebar_container')));
|
this.has_been_loaded.then(this.sidebar.appendTo(this.$el.find('.oe_calendar_sidebar_container')));
|
||||||
}
|
}
|
||||||
this.trigger('calendar_view_loaded', data);
|
this.trigger('calendar_view_loaded', data);
|
||||||
return this.has_been_loaded.resolve();
|
return this.has_been_loaded.resolve();
|
||||||
|
@ -214,7 +214,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
reload_event: function(id) {
|
reload_event: function(id) {
|
||||||
this.dataset.read_ids([id], _.keys(this.fields)).then(this.on_events_loaded);
|
this.dataset.read_ids([id], _.keys(this.fields)).done(this.on_events_loaded);
|
||||||
},
|
},
|
||||||
get_color: function(key) {
|
get_color: function(key) {
|
||||||
if (this.color_map[key]) {
|
if (this.color_map[key]) {
|
||||||
|
@ -307,20 +307,20 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
do_create_event: function(event_id, event_obj) {
|
do_create_event: function(event_id, event_obj) {
|
||||||
var self = this,
|
var self = this,
|
||||||
data = this.get_event_data(event_obj);
|
data = this.get_event_data(event_obj);
|
||||||
this.dataset.create(data).then(function(r) {
|
this.dataset.create(data).done(function(r) {
|
||||||
var id = r;
|
var id = r;
|
||||||
self.dataset.ids.push(id);
|
self.dataset.ids.push(id);
|
||||||
scheduler.changeEventId(event_id, id);
|
scheduler.changeEventId(event_id, id);
|
||||||
self.refresh_minical();
|
self.refresh_minical();
|
||||||
self.reload_event(id);
|
self.reload_event(id);
|
||||||
}, function(r, event) {
|
}).fail(function(r, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
self.do_create_event_with_formdialog(event_id, event_obj);
|
self.do_create_event_with_formdialog(event_id, event_obj);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
do_create_event_with_formdialog: function(event_id, event_obj) {
|
do_create_event_with_formdialog: function(event_id, event_obj) {
|
||||||
var self = this;
|
var self = this;
|
||||||
$.when(! self.form_dialog.dialog_inited ? self.form_dialog.init_dialog() : true).then(function() {
|
$.when(! self.form_dialog.dialog_inited ? self.form_dialog.init_dialog() : true).done(function() {
|
||||||
if (!event_obj) {
|
if (!event_obj) {
|
||||||
event_obj = scheduler.getEvent(event_id);
|
event_obj = scheduler.getEvent(event_id);
|
||||||
}
|
}
|
||||||
|
@ -328,13 +328,13 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
fields_to_fetch = _(self.form_dialog.form.fields_view.fields).keys();
|
fields_to_fetch = _(self.form_dialog.form.fields_view.fields).keys();
|
||||||
self.dataset.index = null;
|
self.dataset.index = null;
|
||||||
self.creating_event_id = event_id;
|
self.creating_event_id = event_id;
|
||||||
self.form_dialog.form.do_show().then(function() {
|
self.form_dialog.form.do_show().done(function() {
|
||||||
_.each(['date_start', 'date_delay', 'date_stop'], function(field) {
|
_.each(['date_start', 'date_delay', 'date_stop'], function(field) {
|
||||||
var field_name = self[field];
|
var field_name = self[field];
|
||||||
if (field_name && self.form_dialog.form.fields[field_name]) {
|
if (field_name && self.form_dialog.form.fields[field_name]) {
|
||||||
var ffield = self.form_dialog.form.fields[field_name];
|
var ffield = self.form_dialog.form.fields[field_name];
|
||||||
ffield._dirty_flag = false;
|
ffield._dirty_flag = false;
|
||||||
$.when(ffield.set_value(data[field_name])).then(function() {
|
$.when(ffield.set_value(data[field_name])).done(function() {
|
||||||
ffield._dirty_flag = true;
|
ffield._dirty_flag = true;
|
||||||
self.form_dialog.form.do_onchange(ffield);
|
self.form_dialog.form.do_onchange(ffield);
|
||||||
});
|
});
|
||||||
|
@ -350,7 +350,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
index = this.dataset.get_id_index(event_id);
|
index = this.dataset.get_id_index(event_id);
|
||||||
if (index != null) {
|
if (index != null) {
|
||||||
event_id = this.dataset.ids[index];
|
event_id = this.dataset.ids[index];
|
||||||
this.dataset.write(event_id, data, {}).then(function() {
|
this.dataset.write(event_id, data, {}).done(function() {
|
||||||
self.refresh_minical();
|
self.refresh_minical();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -361,7 +361,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
var self = this,
|
var self = this,
|
||||||
index = this.dataset.get_id_index(event_id);
|
index = this.dataset.get_id_index(event_id);
|
||||||
if (index !== null) {
|
if (index !== null) {
|
||||||
this.dataset.unlink(event_id).then(function() {
|
this.dataset.unlink(event_id).done(function() {
|
||||||
self.refresh_minical();
|
self.refresh_minical();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -413,12 +413,12 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
do_ranged_search: function() {
|
do_ranged_search: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
scheduler.clearAll();
|
scheduler.clearAll();
|
||||||
$.when(this.has_been_loaded, this.ready).then(function() {
|
$.when(this.has_been_loaded, this.ready).done(function() {
|
||||||
self.dataset.read_slice(_.keys(self.fields), {
|
self.dataset.read_slice(_.keys(self.fields), {
|
||||||
offset: 0,
|
offset: 0,
|
||||||
domain: self.get_range_domain(),
|
domain: self.get_range_domain(),
|
||||||
context: self.last_search[1]
|
context: self.last_search[1]
|
||||||
}).then(function(events) {
|
}).done(function(events) {
|
||||||
self.dataset_events = events;
|
self.dataset_events = events;
|
||||||
self.on_events_loaded(events);
|
self.on_events_loaded(events);
|
||||||
});
|
});
|
||||||
|
@ -433,7 +433,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
|
||||||
},
|
},
|
||||||
do_show: function () {
|
do_show: function () {
|
||||||
var self = this;
|
var self = this;
|
||||||
$.when(this.has_been_loaded).then(function() {
|
$.when(this.has_been_loaded).done(function() {
|
||||||
self.$el.show();
|
self.$el.show();
|
||||||
self.do_push_state({});
|
self.do_push_state({});
|
||||||
});
|
});
|
||||||
|
|
|
@ -25,7 +25,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.rpc("/web_diagram/diagram/load", {"model": this.model, "view_id": this.view_id}).then(function(r) {
|
return this.rpc("/web_diagram/diagram/load", {"model": this.model, "view_id": this.view_id}).done(function(r) {
|
||||||
self.load_diagram(r);
|
self.load_diagram(r);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -109,7 +109,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
this.rpc(
|
this.rpc(
|
||||||
'/web_diagram/diagram/get_diagram_info',params).then(function(result) {
|
'/web_diagram/diagram/get_diagram_info',params).done(function(result) {
|
||||||
self.draw_diagram(result);
|
self.draw_diagram(result);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -260,7 +260,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
);
|
);
|
||||||
|
|
||||||
pop.on('write_completed', self, function() {
|
pop.on('write_completed', self, function() {
|
||||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
self.dataset.read_index(_.keys(self.fields_view.fields)).then(self.on_diagram_loaded);
|
||||||
});
|
});
|
||||||
|
|
||||||
var form_fields = [self.parent_field];
|
var form_fields = [self.parent_field];
|
||||||
|
@ -294,7 +294,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
self.context || self.dataset.context
|
self.context || self.dataset.context
|
||||||
);
|
);
|
||||||
pop.on("elements_selected", self, function(element_ids) {
|
pop.on("elements_selected", self, function(element_ids) {
|
||||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
self.dataset.read_index(_.keys(self.fields_view.fields)).then(self.on_diagram_loaded);
|
||||||
});
|
});
|
||||||
|
|
||||||
var form_controller = pop.view_form;
|
var form_controller = pop.view_form;
|
||||||
|
@ -324,7 +324,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
pop.on('write_completed', self, function() {
|
pop.on('write_completed', self, function() {
|
||||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
self.dataset.read_index(_.keys(self.fields_view.fields)).then(self.on_diagram_loaded);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
this.context || this.dataset.context
|
this.context || this.dataset.context
|
||||||
);
|
);
|
||||||
pop.on("elements_selected", self, function(element_ids) {
|
pop.on("elements_selected", self, function(element_ids) {
|
||||||
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
|
self.dataset.read_index(_.keys(self.fields_view.fields)).then(self.on_diagram_loaded);
|
||||||
});
|
});
|
||||||
// We want to destroy the dummy edge after a creation cancel. This destroys it even if we save the changes.
|
// We want to destroy the dummy edge after a creation cancel. This destroys it even if we save the changes.
|
||||||
// This is not a problem since the diagram is completely redrawn on saved changes.
|
// This is not a problem since the diagram is completely redrawn on saved changes.
|
||||||
|
@ -383,7 +383,7 @@ instance.web.DiagramView = instance.web.View.extend({
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
var loaded = this.dataset.read_index(_.keys(this.fields_view.fields))
|
var loaded = this.dataset.read_index(_.keys(this.fields_view.fields))
|
||||||
.pipe(this.on_diagram_loaded);
|
.then(this.on_diagram_loaded);
|
||||||
this.do_update_pager();
|
this.do_update_pager();
|
||||||
return loaded;
|
return loaded;
|
||||||
},
|
},
|
||||||
|
|
|
@ -87,12 +87,12 @@
|
||||||
dummy_circle.animate({'r': close_button_radius }, 400, 'linear');
|
dummy_circle.animate({'r': close_button_radius }, 400, 'linear');
|
||||||
|
|
||||||
if(entity_type == "node"){
|
if(entity_type == "node"){
|
||||||
$.when(GraphNode.destruction_callback(entity)).then(function () {
|
$.when(GraphNode.destruction_callback(entity)).done(function () {
|
||||||
//console.log("remove node",entity);
|
//console.log("remove node",entity);
|
||||||
entity.remove();
|
entity.remove();
|
||||||
});
|
});
|
||||||
}else if(entity_type == "edge"){
|
}else if(entity_type == "edge"){
|
||||||
$.when(GraphEdge.destruction_callback(entity)).then(function () {
|
$.when(GraphEdge.destruction_callback(entity)).done(function () {
|
||||||
//console.log("remove edge",entity);
|
//console.log("remove edge",entity);
|
||||||
entity.remove();
|
entity.remove();
|
||||||
});
|
});
|
||||||
|
|
|
@ -22,7 +22,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
this.fields_view = fields_view_get;
|
this.fields_view = fields_view_get;
|
||||||
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
||||||
return this.rpc("/web/searchview/fields_get", {"model": this.dataset.model}).pipe(function(fields_get) {
|
return this.rpc("/web/searchview/fields_get", {"model": this.dataset.model}).then(function(fields_get) {
|
||||||
self.fields = fields_get.fields;
|
self.fields = fields_get.fields;
|
||||||
self.has_been_loaded.resolve();
|
self.has_been_loaded.resolve();
|
||||||
});
|
});
|
||||||
|
@ -46,11 +46,11 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
||||||
}));
|
}));
|
||||||
fields = _.uniq(fields.concat(n_group_bys));
|
fields = _.uniq(fields.concat(n_group_bys));
|
||||||
|
|
||||||
return $.when(this.has_been_loaded).pipe(function() {
|
return $.when(this.has_been_loaded).then(function() {
|
||||||
return self.dataset.read_slice(fields, {
|
return self.dataset.read_slice(fields, {
|
||||||
domain: domains,
|
domain: domains,
|
||||||
context: contexts
|
context: contexts
|
||||||
}).pipe(function(data) {
|
}).then(function(data) {
|
||||||
return self.on_data_loaded(data, n_group_bys);
|
return self.on_data_loaded(data, n_group_bys);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -62,7 +62,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
|
||||||
on_data_loaded: function(tasks, group_bys) {
|
on_data_loaded: function(tasks, group_bys) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var ids = _.pluck(tasks, "id");
|
var ids = _.pluck(tasks, "id");
|
||||||
return this.dataset.name_get(ids).pipe(function(names) {
|
return this.dataset.name_get(ids).then(function(names) {
|
||||||
var ntasks = _.map(tasks, function(task) {
|
var ntasks = _.map(tasks, function(task) {
|
||||||
return _.extend({__name: _.detect(names, function(name) { return name[0] == task.id; })[1]}, task);
|
return _.extend({__name: _.detect(names, function(name) { return name[0] == task.id; })[1]}, task);
|
||||||
});
|
});
|
||||||
|
|
|
@ -94,7 +94,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
if (self.legend == "top") { self.legend = "inside"; }
|
if (self.legend == "top") { self.legend = "inside"; }
|
||||||
self.forcehtml = true;
|
self.forcehtml = true;
|
||||||
|
|
||||||
self.graph_get_data().then(function (result) {
|
self.graph_get_data().done(function (result) {
|
||||||
self.graph_render_all(result).download.saveImage('png');
|
self.graph_render_all(result).download.saveImage('png');
|
||||||
}).always(function () {
|
}).always(function () {
|
||||||
self.forcehtml = false;
|
self.forcehtml = false;
|
||||||
|
@ -243,7 +243,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
var result = [];
|
var result = [];
|
||||||
var ticks = {};
|
var ticks = {};
|
||||||
|
|
||||||
return obj.call("fields_view_get", [view_id, 'graph']).pipe(function(tmp) {
|
return obj.call("fields_view_get", [view_id, 'graph']).then(function(tmp) {
|
||||||
view_get = tmp;
|
view_get = tmp;
|
||||||
fields = view_get['fields'];
|
fields = view_get['fields'];
|
||||||
var toload = _.select(group_by, function(x) { return fields[x] === undefined });
|
var toload = _.select(group_by, function(x) { return fields[x] === undefined });
|
||||||
|
@ -251,7 +251,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
return obj.call("fields_get", [toload, context]);
|
return obj.call("fields_get", [toload, context]);
|
||||||
else
|
else
|
||||||
return $.when([]);
|
return $.when([]);
|
||||||
}).pipe(function (fields_to_add) {
|
}).then(function (fields_to_add) {
|
||||||
_.extend(fields, fields_to_add);
|
_.extend(fields, fields_to_add);
|
||||||
|
|
||||||
var tree = $($.parseXML(view_get['arch']));
|
var tree = $($.parseXML(view_get['arch']));
|
||||||
|
@ -307,7 +307,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode === "pie") {
|
if (mode === "pie") {
|
||||||
return obj.call("read_group", [domain, yaxis.concat([xaxis[0]]), [xaxis[0]]], {context: context}).pipe(function(res) {
|
return obj.call("read_group", [domain, yaxis.concat([xaxis[0]]), [xaxis[0]]], {context: context}).then(function(res) {
|
||||||
_.each(res, function(record) {
|
_.each(res, function(record) {
|
||||||
result.push({
|
result.push({
|
||||||
'data': [[_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]]]],
|
'data': [[_convert(xaxis[0], record[xaxis[0]]), record[yaxis[0]]]],
|
||||||
|
@ -318,11 +318,11 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
} else if ((! stacked) || (xaxis.length < 2)) {
|
} else if ((! stacked) || (xaxis.length < 2)) {
|
||||||
var defs = [];
|
var defs = [];
|
||||||
_.each(xaxis, function(x) {
|
_.each(xaxis, function(x) {
|
||||||
defs.push(obj.call("read_group", [domain, yaxis.concat([x]), [x]], {context: context}).pipe(function(res) {
|
defs.push(obj.call("read_group", [domain, yaxis.concat([x]), [x]], {context: context}).then(function(res) {
|
||||||
return [x, res];
|
return [x, res];
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
return $.when.apply($, defs).pipe(function() {
|
return $.when.apply($, defs).then(function() {
|
||||||
_.each(_.toArray(arguments), function(res) {
|
_.each(_.toArray(arguments), function(res) {
|
||||||
var x = res[0];
|
var x = res[0];
|
||||||
res = res[1];
|
res = res[1];
|
||||||
|
@ -336,16 +336,16 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
xaxis.reverse();
|
xaxis.reverse();
|
||||||
return obj.call("read_group", [domain, yaxis.concat(xaxis.slice(0, 1)), xaxis.slice(0, 1)], {context: context}).pipe(function(axis) {
|
return obj.call("read_group", [domain, yaxis.concat(xaxis.slice(0, 1)), xaxis.slice(0, 1)], {context: context}).then(function(axis) {
|
||||||
var defs = [];
|
var defs = [];
|
||||||
_.each(axis, function(x) {
|
_.each(axis, function(x) {
|
||||||
var key = x[xaxis[0]]
|
var key = x[xaxis[0]]
|
||||||
defs.push(obj.call("read_group", [new instance.web.CompoundDomain(domain, [[xaxis[0], '=' ,_convert_key(xaxis[0], key)]]),
|
defs.push(obj.call("read_group", [new instance.web.CompoundDomain(domain, [[xaxis[0], '=' ,_convert_key(xaxis[0], key)]]),
|
||||||
yaxis.concat(xaxis.slice(1, 2)), xaxis.slice(1, 2)], {context: context}).pipe(function(res) {
|
yaxis.concat(xaxis.slice(1, 2)), xaxis.slice(1, 2)], {context: context}).then(function(res) {
|
||||||
return [x, key, res];
|
return [x, key, res];
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
return $.when.apply($, defs).pipe(function() {
|
return $.when.apply($, defs).then(function() {
|
||||||
_.each(_.toArray(arguments), function(res) {
|
_.each(_.toArray(arguments), function(res) {
|
||||||
var x = res[0];
|
var x = res[0];
|
||||||
var key = res[1];
|
var key = res[1];
|
||||||
|
@ -360,7 +360,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}).pipe(function() {
|
}).then(function() {
|
||||||
var res = {
|
var res = {
|
||||||
'data': result,
|
'data': result,
|
||||||
'ticks': _.map(ticks, function(el, key) { return [el, key] })
|
'ticks': _.map(ticks, function(el, key) { return [el, key] })
|
||||||
|
@ -375,7 +375,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
||||||
_.extend(this, options.data);
|
_.extend(this, options.data);
|
||||||
|
|
||||||
return this.graph_get_data()
|
return this.graph_get_data()
|
||||||
.then(this.proxy('graph_render_all'));
|
.done(this.proxy('graph_render_all'));
|
||||||
},
|
},
|
||||||
|
|
||||||
graph_render_all: function (data) {
|
graph_render_all: function (data) {
|
||||||
|
|
|
@ -198,7 +198,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
var form = am.dialog_widget.views.form.controller;
|
var form = am.dialog_widget.views.form.controller;
|
||||||
form.on("on_button_cancel", am.dialog, am.dialog.close);
|
form.on("on_button_cancel", am.dialog, am.dialog.close);
|
||||||
form.on('record_created', self, function(r) {
|
form.on('record_created', self, function(r) {
|
||||||
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r]).then(function(new_record) {
|
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r]).done(function(new_record) {
|
||||||
am.dialog.close();
|
am.dialog.close();
|
||||||
var domain = self.dataset.domain.slice(0);
|
var domain = self.dataset.domain.slice(0);
|
||||||
domain.push([self.group_by, '=', new_record[0][0]]);
|
domain.push([self.group_by, '=', new_record[0][0]]);
|
||||||
|
@ -212,7 +212,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
aggregates: {},
|
aggregates: {},
|
||||||
};
|
};
|
||||||
var new_group = new instance.web_kanban.KanbanGroup(self, [], datagroup, dataset);
|
var new_group = new instance.web_kanban.KanbanGroup(self, [], datagroup, dataset);
|
||||||
self.do_add_groups([new_group]).then(function() {
|
self.do_add_groups([new_group]).done(function() {
|
||||||
$(window).scrollTo(self.groups.slice(-1)[0].$el, { axis: 'x' });
|
$(window).scrollTo(self.groups.slice(-1)[0].$el, { axis: 'x' });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -224,14 +224,14 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
this.search_domain = domain;
|
this.search_domain = domain;
|
||||||
this.search_context = context;
|
this.search_context = context;
|
||||||
this.search_group_by = group_by;
|
this.search_group_by = group_by;
|
||||||
$.when(this.has_been_loaded).then(function() {
|
$.when(this.has_been_loaded).done(function() {
|
||||||
self.group_by = group_by.length ? group_by[0] : self.fields_view.arch.attrs.default_group_by;
|
self.group_by = group_by.length ? group_by[0] : self.fields_view.arch.attrs.default_group_by;
|
||||||
self.group_by_field = self.fields_view.fields[self.group_by] || {};
|
self.group_by_field = self.fields_view.fields[self.group_by] || {};
|
||||||
self.grouped_by_m2o = (self.group_by_field.type === 'many2one');
|
self.grouped_by_m2o = (self.group_by_field.type === 'many2one');
|
||||||
self.$buttons.find('.oe_alternative').toggle(self.grouped_by_m2o);
|
self.$buttons.find('.oe_alternative').toggle(self.grouped_by_m2o);
|
||||||
self.$el.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o);
|
self.$el.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o);
|
||||||
var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(self.group_by);
|
var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(self.group_by);
|
||||||
$.when(grouping).then(function(groups) {
|
$.when(grouping).done(function(groups) {
|
||||||
if (groups) {
|
if (groups) {
|
||||||
self.do_process_groups(groups);
|
self.do_process_groups(groups);
|
||||||
} else {
|
} else {
|
||||||
|
@ -252,7 +252,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
var dataset = new instance.web.DataSetSearch(self, self.dataset.model,
|
var dataset = new instance.web.DataSetSearch(self, self.dataset.model,
|
||||||
new instance.web.CompoundContext(self.dataset.get_context(), group.model.context()), group.model.domain());
|
new instance.web.CompoundContext(self.dataset.get_context(), group.model.context()), group.model.domain());
|
||||||
return dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit })
|
return dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit })
|
||||||
.pipe(function(records) {
|
.then(function(records) {
|
||||||
self.dataset.ids.push.apply(self.dataset.ids, dataset.ids);
|
self.dataset.ids.push.apply(self.dataset.ids, dataset.ids);
|
||||||
groups_array[index] = new instance.web_kanban.KanbanGroup(self, records, group, dataset);
|
groups_array[index] = new instance.web_kanban.KanbanGroup(self, records, group, dataset);
|
||||||
if (!remaining--) {
|
if (!remaining--) {
|
||||||
|
@ -268,16 +268,16 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
this.$el.removeClass('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
|
this.$el.removeClass('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
|
||||||
this.add_group_mutex.exec(function() {
|
this.add_group_mutex.exec(function() {
|
||||||
var def = $.Deferred();
|
var def = $.Deferred();
|
||||||
self.dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit }).then(function(records) {
|
self.dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit }).done(function(records) {
|
||||||
self.do_clear_groups();
|
self.do_clear_groups();
|
||||||
var kgroup = new instance.web_kanban.KanbanGroup(self, records, null, self.dataset);
|
var kgroup = new instance.web_kanban.KanbanGroup(self, records, null, self.dataset);
|
||||||
self.do_add_groups([kgroup]).then(function() {
|
self.do_add_groups([kgroup]).done(function() {
|
||||||
if (_.isEmpty(records)) {
|
if (_.isEmpty(records)) {
|
||||||
self.no_result();
|
self.no_result();
|
||||||
}
|
}
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
}).then(null, function() {
|
}).done(null, function() {
|
||||||
def.reject();
|
def.reject();
|
||||||
});
|
});
|
||||||
return def;
|
return def;
|
||||||
|
@ -306,7 +306,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
return group.insertBefore($last_td);
|
return group.insertBefore($last_td);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return $.when.apply(null, groups_started).then(function () {
|
return $.when.apply(null, groups_started).done(function () {
|
||||||
self.on_groups_started();
|
self.on_groups_started();
|
||||||
self.$el.appendTo($parent);
|
self.$el.appendTo($parent);
|
||||||
_.each(self.groups, function(group) {
|
_.each(self.groups, function(group) {
|
||||||
|
@ -375,7 +375,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
var tmp_group = self.groups.splice(start_index, 1)[0];
|
var tmp_group = self.groups.splice(start_index, 1)[0];
|
||||||
self.groups.splice(stop_index, 0, tmp_group);
|
self.groups.splice(stop_index, 0, tmp_group);
|
||||||
var new_sequence = _.pluck(self.groups, 'value');
|
var new_sequence = _.pluck(self.groups, 'value');
|
||||||
(new instance.web.DataSet(self, self.group_by_field.relation)).resequence(new_sequence).then(function(r) {
|
(new instance.web.DataSet(self, self.group_by_field.relation)).resequence(new_sequence).done(function(r) {
|
||||||
if (r === false) {
|
if (r === false) {
|
||||||
console.error("Kanban: could not resequence model '%s'. Probably no 'sequence' field.", self.group_by_field.relation);
|
console.error("Kanban: could not resequence model '%s'. Probably no 'sequence' field.", self.group_by_field.relation);
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||||
record.group = new_group;
|
record.group = new_group;
|
||||||
var data = {};
|
var data = {};
|
||||||
data[this.group_by] = new_group.value;
|
data[this.group_by] = new_group.value;
|
||||||
this.dataset.write(record.id, data, {}).then(function() {
|
this.dataset.write(record.id, data, {}).done(function() {
|
||||||
record.do_reload();
|
record.do_reload();
|
||||||
new_group.do_save_sequences();
|
new_group.do_save_sequences();
|
||||||
}).fail(function(error, evt) {
|
}).fail(function(error, evt) {
|
||||||
|
@ -497,7 +497,7 @@ instance.web_kanban.KanbanView.postprocessing_widget_many2many_tags = function(s
|
||||||
if(model_list_id[model].length>0){
|
if(model_list_id[model].length>0){
|
||||||
var block = self.$el.find(".oe_form_field.oe_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);
|
var dataset = new instance.web.DataSetSearch(self, model, self.session.context);
|
||||||
dataset.name_get(_.uniq( model_list_id[model] )).then(
|
dataset.name_get(_.uniq( model_list_id[model] )).done(
|
||||||
function(result) {
|
function(result) {
|
||||||
for(var t=0;t<result.length;t++){
|
for(var t=0;t<result.length;t++){
|
||||||
block.filter(function(){ return this.getAttribute("data").match(new RegExp('(^|,)'+result[t][0]+'(,|$)')); })
|
block.filter(function(){ return this.getAttribute("data").match(new RegExp('(^|,)'+result[t][0]+'(,|$)')); })
|
||||||
|
@ -557,7 +557,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
||||||
this.$records = null;
|
this.$records = null;
|
||||||
|
|
||||||
this.records = [];
|
this.records = [];
|
||||||
this.$has_been_started.then(function() {
|
this.$has_been_started.done(function() {
|
||||||
self.do_add_records(records);
|
self.do_add_records(records);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -641,7 +641,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
||||||
this.dataset.read_slice(this.view.fields_keys.concat(['__last_update']), {
|
this.dataset.read_slice(this.view.fields_keys.concat(['__last_update']), {
|
||||||
'limit': self.view.limit,
|
'limit': self.view.limit,
|
||||||
'offset': self.dataset_offset += self.view.limit
|
'offset': self.dataset_offset += self.view.limit
|
||||||
}).then(this.do_add_records);
|
}).done(this.do_add_records);
|
||||||
},
|
},
|
||||||
do_add_records: function(records, prepend) {
|
do_add_records: function(records, prepend) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -704,7 +704,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
||||||
do_action_delete: function() {
|
do_action_delete: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
if (confirm(_t("Are you sure to remove this column ?"))) {
|
if (confirm(_t("Are you sure to remove this column ?"))) {
|
||||||
(new instance.web.DataSet(self, self.view.group_by_field.relation)).unlink([self.value]).then(function(r) {
|
(new instance.web.DataSet(self, self.view.group_by_field.relation)).unlink([self.value]).done(function(r) {
|
||||||
self.view.do_reload();
|
self.view.do_reload();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -724,7 +724,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
||||||
quick_created: function (record) {
|
quick_created: function (record) {
|
||||||
var id = record, self = this;
|
var id = record, self = this;
|
||||||
this.dataset.read_ids([id], this.view.fields_keys)
|
this.dataset.read_ids([id], this.view.fields_keys)
|
||||||
.then(function (records) {
|
.done(function (records) {
|
||||||
self.view.dataset.ids.push(id);
|
self.view.dataset.ids.push(id);
|
||||||
self.do_add_records(records, true);
|
self.do_add_records(records, true);
|
||||||
});
|
});
|
||||||
|
@ -899,7 +899,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
|
||||||
var color_field = $(this).parents('.oe_kanban_colorpicker').first().data('field') || 'color';
|
var color_field = $(this).parents('.oe_kanban_colorpicker').first().data('field') || 'color';
|
||||||
var data = {};
|
var data = {};
|
||||||
data[color_field] = $(this).data('color');
|
data[color_field] = $(this).data('color');
|
||||||
self.view.dataset.write(self.id, data, {}).then(function() {
|
self.view.dataset.write(self.id, data, {}).done(function() {
|
||||||
self.record[color_field] = $(this).data('color');
|
self.record[color_field] = $(this).data('color');
|
||||||
self.do_reload();
|
self.do_reload();
|
||||||
});
|
});
|
||||||
|
@ -909,7 +909,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
|
||||||
do_action_delete: function($action) {
|
do_action_delete: function($action) {
|
||||||
var self = this;
|
var self = this;
|
||||||
function do_it() {
|
function do_it() {
|
||||||
return $.when(self.view.dataset.unlink([self.id])).then(function() {
|
return $.when(self.view.dataset.unlink([self.id])).done(function() {
|
||||||
self.group.remove_record(self.id);
|
self.group.remove_record(self.id);
|
||||||
self.destroy();
|
self.destroy();
|
||||||
});
|
});
|
||||||
|
@ -933,7 +933,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
|
||||||
},
|
},
|
||||||
do_reload: function() {
|
do_reload: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.view.dataset.read_ids([this.id], this.view.fields_keys.concat(['__last_update'])).then(function(records) {
|
this.view.dataset.read_ids([this.id], this.view.fields_keys.concat(['__last_update'])).done(function(records) {
|
||||||
if (records.length) {
|
if (records.length) {
|
||||||
self.set_record(records[0]);
|
self.set_record(records[0]);
|
||||||
self.renderElement();
|
self.renderElement();
|
||||||
|
@ -1063,7 +1063,7 @@ instance.web_kanban.QuickCreate = instance.web.Widget.extend({
|
||||||
this._dataset.call(
|
this._dataset.call(
|
||||||
'name_create', [self.$input.val() || false, new instance.web.CompoundContext(
|
'name_create', [self.$input.val() || false, new instance.web.CompoundContext(
|
||||||
this._dataset.get_context(), this._context)])
|
this._dataset.get_context(), this._context)])
|
||||||
.pipe(function(record) {
|
.then(function(record) {
|
||||||
self.$input.val("");
|
self.$input.val("");
|
||||||
self.trigger('added', record[0]);
|
self.trigger('added', record[0]);
|
||||||
}, function(error, event) {
|
}, function(error, event) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ openerp.web_tests = function (instance) {
|
||||||
start: function () {
|
start: function () {
|
||||||
$.when(
|
$.when(
|
||||||
this.dataset.read_slice(),
|
this.dataset.read_slice(),
|
||||||
this.form.appendTo(this.$el)).then(this.on_everything_loaded);
|
this.form.appendTo(this.$el)).done(this.on_everything_loaded);
|
||||||
},
|
},
|
||||||
on_everything_loaded: function (slice) {
|
on_everything_loaded: function (slice) {
|
||||||
var records = slice[0].records;
|
var records = slice[0].records;
|
||||||
|
|
|
@ -71,7 +71,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
this.main_view_id = this.parent.fields_view.view_id;
|
this.main_view_id = this.parent.fields_view.view_id;
|
||||||
this.action_manager = new instance.web.ActionManager(this);
|
this.action_manager = new instance.web.ActionManager(this);
|
||||||
this.action_manager.appendTo(this.view_edit_dialog.$el);
|
this.action_manager.appendTo(this.view_edit_dialog.$el);
|
||||||
$.when(this.action_manager.do_action(action)).then(function() {
|
$.when(this.action_manager.do_action(action)).done(function() {
|
||||||
var viewmanager = self.action_manager.inner_widget;
|
var viewmanager = self.action_manager.inner_widget;
|
||||||
var controller = viewmanager.views[viewmanager.active_view].controller;
|
var controller = viewmanager.views[viewmanager.active_view].controller;
|
||||||
controller.on('view_loaded', function(){
|
controller.on('view_loaded', function(){
|
||||||
|
@ -103,7 +103,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
if (warn) {
|
if (warn) {
|
||||||
self.on_valid_create_view(self.create_view_widget);
|
self.on_valid_create_view(self.create_view_widget);
|
||||||
} else {
|
} else {
|
||||||
$.when(self.do_save_view(view_values)).then(function() {
|
$.when(self.do_save_view(view_values)).done(function() {
|
||||||
self.create_view_dialog.close();
|
self.create_view_dialog.close();
|
||||||
var controller = self.action_manager.inner_widget.views[self.action_manager.inner_widget.active_view].controller;
|
var controller = self.action_manager.inner_widget.views[self.action_manager.inner_widget.active_view].controller;
|
||||||
controller.reload_content();
|
controller.reload_content();
|
||||||
|
@ -136,7 +136,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
var field_dataset = new instance.web.DataSetSearch(this, this.model, null, null);
|
var field_dataset = new instance.web.DataSetSearch(this, this.model, null, null);
|
||||||
var model_dataset = new instance.web.DataSetSearch(this, 'ir.model', null, null);
|
var model_dataset = new instance.web.DataSetSearch(this, 'ir.model', null, null);
|
||||||
var view_string = "", field_name = false, self = this;
|
var view_string = "", field_name = false, self = this;
|
||||||
field_dataset.call( 'fields_get', []).then(function(fields) {
|
field_dataset.call( 'fields_get', []).done(function(fields) {
|
||||||
_.each(['name', 'x_name'], function(value) {
|
_.each(['name', 'x_name'], function(value) {
|
||||||
if (_.include(_.keys(fields), value)) {
|
if (_.include(_.keys(fields), value)) {
|
||||||
field_name = value;
|
field_name = value;
|
||||||
|
@ -144,7 +144,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (field_name) {
|
if (field_name) {
|
||||||
model_dataset.read_slice(['name','field_id'], {"domain": [['model','=',self.model]]}).then(function(records) {
|
model_dataset.read_slice(['name','field_id'], {"domain": [['model','=',self.model]]}).done(function(records) {
|
||||||
if (records) {view_string = records[0].name;}
|
if (records) {view_string = records[0].name;}
|
||||||
var arch = _.str.sprintf("<?xml version='1.0'?>\n<%s string='%s'>\n\t<field name='%s'/>\n</%s>", values.view_type, view_string, field_name, values.view_type);
|
var arch = _.str.sprintf("<?xml version='1.0'?>\n<%s string='%s'>\n\t<field name='%s'/>\n</%s>", values.view_type, view_string, field_name, values.view_type);
|
||||||
var vals = {'model': self.model, 'name': values.view_name, 'priority': values.priority, 'type': values.view_type, 'arch': arch};
|
var vals = {'model': self.model, 'name': values.view_name, 'priority': values.priority, 'type': values.view_type, 'arch': arch};
|
||||||
|
@ -183,7 +183,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
if (confirm(_t("Do you really want to remove this view?"))) {
|
if (confirm(_t("Do you really want to remove this view?"))) {
|
||||||
var controller = this.action_manager.inner_widget.views[this.action_manager.inner_widget.active_view].controller;
|
var controller = this.action_manager.inner_widget.views[this.action_manager.inner_widget.active_view].controller;
|
||||||
this.dataset.unlink([this.main_view_id]).then(function() {
|
this.dataset.unlink([this.main_view_id]).done(function() {
|
||||||
controller.reload_content();
|
controller.reload_content();
|
||||||
self.main_view_id = self.parent.fields_view.view_id;
|
self.main_view_id = self.parent.fields_view.view_id;
|
||||||
});
|
});
|
||||||
|
@ -246,12 +246,12 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
get_arch: function() {
|
get_arch: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var view_arch_list = [];
|
var view_arch_list = [];
|
||||||
this.dataset.read_ids([parseInt(self.main_view_id)], ['arch', 'type','priority']).then(function(arch) {
|
this.dataset.read_ids([parseInt(self.main_view_id)], ['arch', 'type','priority']).done(function(arch) {
|
||||||
if (arch.length) {
|
if (arch.length) {
|
||||||
var arch_object = self.parse_xml(arch[0].arch, self.main_view_id);
|
var arch_object = self.parse_xml(arch[0].arch, self.main_view_id);
|
||||||
self.main_view_type = arch[0].type == 'tree'? 'list': arch[0].type;
|
self.main_view_type = arch[0].type == 'tree'? 'list': arch[0].type;
|
||||||
view_arch_list.push({"view_id": self.main_view_id, "arch": arch[0].arch,"priority":arch[0].priority});
|
view_arch_list.push({"view_id": self.main_view_id, "arch": arch[0].arch,"priority":arch[0].priority});
|
||||||
self.dataset.read_slice([], {domain: [['inherit_id','=', parseInt(self.main_view_id)]]}).then(function(result) {
|
self.dataset.read_slice([], {domain: [['inherit_id','=', parseInt(self.main_view_id)]]}).done(function(result) {
|
||||||
_.each(result, function(res) {
|
_.each(result, function(res) {
|
||||||
view_arch_list.push({"view_id": res.id, "arch": res.arch,"priority":res.priority});
|
view_arch_list.push({"view_id": res.id, "arch": res.arch,"priority":res.priority});
|
||||||
self.inherit_view(arch_object, res);
|
self.inherit_view(arch_object, res);
|
||||||
|
@ -456,7 +456,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
var priority = _.detect(self.one_object['arch'], function(val) {return val.view_id == view_id;});
|
var priority = _.detect(self.one_object['arch'], function(val) {return val.view_id == view_id;});
|
||||||
var arch = _.str.sprintf("<?xml version='1.0'?>\n\t <field name='%s' position='after'> </field>", val[1]);
|
var arch = _.str.sprintf("<?xml version='1.0'?>\n\t <field name='%s' position='after'> </field>", val[1]);
|
||||||
var vals = {'model': self.model, 'name': view_name, 'priority': priority.priority + 1, 'type': "form", 'arch': arch,'inherit_id':self.main_view_id};
|
var vals = {'model': self.model, 'name': view_name, 'priority': priority.priority + 1, 'type': "form", 'arch': arch,'inherit_id':self.main_view_id};
|
||||||
this.dataset.create(vals).then(function(id) {
|
this.dataset.create(vals).done(function(id) {
|
||||||
var arch_to_obj = self.parse_xml(arch,id);
|
var arch_to_obj = self.parse_xml(arch,id);
|
||||||
obj.child_id.push(arch_to_obj[0]);
|
obj.child_id.push(arch_to_obj[0]);
|
||||||
self.one_object['parent_child_id'] = self.parent_child_list(self.one_object['main_object'],[]);
|
self.one_object['parent_child_id'] = self.parent_child_list(self.one_object['main_object'],[]);
|
||||||
|
@ -539,7 +539,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
var value = _.has(_CHILDREN, element) ? element : _.str.include(html_tag, element)?"html_tag":false;
|
var value = _.has(_CHILDREN, element) ? element : _.str.include(html_tag, element)?"html_tag":false;
|
||||||
property_to_check.push(value);
|
property_to_check.push(value);
|
||||||
});
|
});
|
||||||
field_dataset.call( 'fields_get', []).then(function(result) {
|
field_dataset.call( 'fields_get', []).done(function(result) {
|
||||||
var fields = _.keys(result);
|
var fields = _.keys(result);
|
||||||
fields.push(" "),fields.sort();
|
fields.push(" "),fields.sort();
|
||||||
self.on_add_node(property_to_check, fields);
|
self.on_add_node(property_to_check, fields);
|
||||||
|
@ -891,7 +891,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
var arch_val = self.get_object_by_id(this.one_object.clicked_tr_id,this.one_object['main_object'], []);
|
var arch_val = self.get_object_by_id(this.one_object.clicked_tr_id,this.one_object['main_object'], []);
|
||||||
this.edit_node_dialog.$el.append('<table id="rec_table" style="width:400px" class="oe_form"></table>');
|
this.edit_node_dialog.$el.append('<table id="rec_table" style="width:400px" class="oe_form"></table>');
|
||||||
this.edit_widget = [];
|
this.edit_widget = [];
|
||||||
self.ready = $.when(self.on_groups(properties)).then(function () {
|
self.ready = $.when(self.on_groups(properties)).done(function () {
|
||||||
_PROPERTIES_ATTRIBUTES['groups']['selection'] = self.groups;
|
_PROPERTIES_ATTRIBUTES['groups']['selection'] = self.groups;
|
||||||
var values = _.keys( instance.web.form.widgets.map);
|
var values = _.keys( instance.web.form.widgets.map);
|
||||||
values.push('');
|
values.push('');
|
||||||
|
@ -994,7 +994,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
table_selector.find("td[id^=]").attr("width","100px");
|
table_selector.find("td[id^=]").attr("width","100px");
|
||||||
self.add_node_dialog.$el.find('#new_field').click(function() {
|
self.add_node_dialog.$el.find('#new_field').click(function() {
|
||||||
model_data = new instance.web.DataSetSearch(self,'ir.model', null, null);
|
model_data = new instance.web.DataSetSearch(self,'ir.model', null, null);
|
||||||
model_data.read_slice([], {domain: [['model','=', self.model]]}).then(function(result) {
|
model_data.read_slice([], {domain: [['model','=', self.model]]}).done(function(result) {
|
||||||
self.render_new_field(result[0]);
|
self.render_new_field(result[0]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1012,7 +1012,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var action_manager = new instance.web.ActionManager(self);
|
var action_manager = new instance.web.ActionManager(self);
|
||||||
$.when(action_manager.do_action(action)).then(function() {
|
$.when(action_manager.do_action(action)).done(function() {
|
||||||
var controller = action_manager.dialog_widget.views['form'].controller;
|
var controller = action_manager.dialog_widget.views['form'].controller;
|
||||||
controller.on("on_button_cancel", self, function(){
|
controller.on("on_button_cancel", self, function(){
|
||||||
action_manager.destroy();
|
action_manager.destroy();
|
||||||
|
|
Loading…
Reference in New Issue