summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@openerp.com>2012-07-13 22:34:34 +0200
committerFabien Pinckaers <fp@openerp.com>2012-07-13 22:34:34 +0200
commit06d6dfcf8a4bf3084f5d701597766b1eb0662e37 (patch)
treec7eef60765bf1103c41d1bfaeaeccd2d772ff7f9 /addons/web/static/src
parent259dd3147dc7d418fe1ba84591df96fe7611c916 (diff)
parentccde4ad6af8f63c329a6800cbd615da94e983340 (diff)
merge
bzr revid: fp@openerp.com-20120713203434-p7z6u5qltl7dxe3f
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/chrome.js59
-rw-r--r--addons/web/static/src/js/coresetup.js6
-rw-r--r--addons/web/static/src/js/views.js4
3 files changed, 38 insertions, 31 deletions
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index e4d543c69ce..52809077e14 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -86,7 +86,7 @@ instance.web.Dialog = instance.web.Widget.extend({
if (this.dialog_options.autoOpen) {
this.open();
} else {
- test = instance.web.dialog(this.$element, this.get_options());
+ instance.web.dialog(this.$element, this.get_options());
}
},
get_options: function(options) {
@@ -145,9 +145,9 @@ instance.web.Dialog = instance.web.Widget.extend({
_.each(this.getChildren(), function(el) {
el.destroy();
});
- if (! this.isDestroyed()) {
- this.$element.dialog('destroy');
- }
+ if (! this.isDestroyed()) {
+ this.$element.dialog('destroy');
+ }
this._super();
}
});
@@ -212,11 +212,11 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({
dialog.$element.html(QWeb.render('CrashManager.error', {session: instance.connection, error: error}));
},
on_javascript_exception: function(exception) {
- this.on_traceback({
- type: _t("Client Error"),
- message: exception,
- data: {debug: ""}
- });
+ this.on_traceback({
+ type: _t("Client Error"),
+ message: exception,
+ data: {debug: ""}
+ });
},
});
@@ -482,24 +482,26 @@ instance.web.Login = instance.web.Widget.extend({
}
}
},
+ open_db_manager: function(){
+ var self = this;
+ self.$element.find('.oe_login_bottom').hide();
+ self.$element.find('.oe_login_pane').hide();
+ self.databasemanager = new instance.web.DatabaseManager(self);
+ self.databasemanager.appendTo(self.$element);
+ self.databasemanager.do_exit.add_last(function() {
+ self.databasemanager.destroy();
+ self.$element.find('.oe_login_bottom').show();
+ self.$element.find('.oe_login_pane').show();
+ self.load_db_list(true).then(self.on_db_list_loaded);
+ });
+ },
start: function() {
var self = this;
-
self.$element.find("form").submit(self.on_submit);
-
self.$element.find('.oe_login_manage_db').click(function() {
- self.$element.find('.oe_login_bottom').hide();
- self.$element.find('.oe_login_pane').hide();
- self.databasemanager = new instance.web.DatabaseManager(self);
- self.databasemanager.appendTo(self.$element);
- self.databasemanager.do_exit.add_last(function() {
- self.databasemanager.destroy();
- self.$element.find('.oe_login_bottom').show();
- self.$element.find('.oe_login_pane').show();
- self.load_db_list(true).then(self.proxy('_db_list_loaded'));
- });
+ self.open_db_manager();
});
- return self.load_db_list().then(self.proxy('_db_list_loaded'));
+ return self.load_db_list().then(self.on_db_list_loaded);
},
load_db_list: function (force) {
var d = $.when(), self = this;
@@ -514,11 +516,14 @@ instance.web.Login = instance.web.Widget.extend({
}
return d;
},
- _db_list_loaded: function () {
- var list = this._db_list,
- dbdiv = this.$element.find('div.oe_login_dbpane');
+ on_db_list_loaded: function () {
+ var self = this;
+ var list = this._db_list;
+ var dbdiv = this.$element.find('div.oe_login_dbpane');
this.$element.find("[name=db]").replaceWith(instance.web.qweb.render('Login.dblist', { db_list: list, selected_db: this.selected_db}));
- if(list && list.length === 1) {
+ if(list.length === 0) {
+ self.open_db_manager();
+ } else if(list && list.length === 1) {
dbdiv.hide();
} else {
dbdiv.show();
@@ -667,7 +672,7 @@ instance.web.Menu = instance.web.Widget.extend({
* @param {Number} id the action_id to match
*/
open_action: function (id) {
- var $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id=' + id + ']');
+ var $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id="' + id + '"]');
var menu_id = $menu.data('menu');
if (menu_id) {
this.open_menu(menu_id);
diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js
index a00ca4002e5..a5a62b9bcc1 100644
--- a/addons/web/static/src/js/coresetup.js
+++ b/addons/web/static/src/js/coresetup.js
@@ -404,10 +404,11 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
}
});
+
/**
* Event Bus used to bind events scoped in the current instance
*/
-instance.web.bus = new (instance.web.Class.extend(instance.web.EventDispatcherMixin, {
+instance.web.Bus = instance.web.Class.extend(instance.web.EventDispatcherMixin, {
init: function() {
instance.web.EventDispatcherMixin.init.call(this, parent);
var self = this;
@@ -425,7 +426,8 @@ instance.web.bus = new (instance.web.Class.extend(instance.web.EventDispatcherMi
});
});
}
-}))();
+})
+instance.web.bus = new instance.web.Bus();
/** OpenERP Translations */
instance.web.TranslationDataBase = instance.web.Class.extend(/** @lends instance.web.TranslationDataBase# */{
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 1bfd7d18776..1d212daaa20 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -178,7 +178,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
});
},
do_action: function(action, on_close) {
- if (_.isNumber(action)) {
+ if (_.isNumber(action) || _.isString(action)) {
var self = this;
return self.rpc("/web/action/load", { action_id: action }, function(result) {
self.do_action(result.result, on_close);
@@ -1261,7 +1261,7 @@ instance.web.View = instance.web.Widget.extend({
args.push(context);
return dataset.call_button(action_data.name, args, handler);
} else if (action_data.type=="action") {
- return this.rpc('/web/action/load', { action_id: parseInt(action_data.name, 10), context: context, do_not_eval: true}, handler);
+ return this.rpc('/web/action/load', { action_id: action_data.name, context: context, do_not_eval: true}, handler);
} else {
return dataset.exec_workflow(record_id, action_data.name, handler);
}