diff --git a/addons/anonymous/__openerp__.py b/addons/anonymous/__openerp__.py index df43478d3a3..36b45c3e5e9 100644 --- a/addons/anonymous/__openerp__.py +++ b/addons/anonymous/__openerp__.py @@ -12,4 +12,7 @@ 'js': [ 'static/src/js/anonymous.js', ], + 'qweb': [ + 'static/src/xml/anonymous.xml', + ], } diff --git a/addons/anonymous/static/src/js/anonymous.js b/addons/anonymous/static/src/js/anonymous.js index e73bb3f02d6..a28c56ac411 100644 --- a/addons/anonymous/static/src/js/anonymous.js +++ b/addons/anonymous/static/src/js/anonymous.js @@ -1,5 +1,6 @@ openerp.anonymous = function(instance) { - // TODO change User menu + + instance.web.client_actions.add("login", "instance.web.Login"); instance.web.WebClient.include({ show_login: function() { @@ -7,6 +8,7 @@ openerp.anonymous = function(instance) { this.login.load_db_list().then(function() { var dblist = self.login._db_list; if (dblist && dblist.length === 1) { + self.login.remember_credentials = false; // XXX get login/pass from server (via a rpc call) ? self.login.do_login(dblist[0], 'anonymous', 'anonymous').fail(function() { _super.apply(self, []); @@ -18,4 +20,25 @@ openerp.anonymous = function(instance) { }, }); + + instance.web.UserMenu.include({ + init: function(parent) { + this._super(parent); + if (this.session.username == 'anonymous') { + this.template = 'UserMenu.anonymous'; + this.do_update = function() {}; // avoid change of avatar + } + }, + start: function() { + var self = this; + this._super.apply(this, arguments); + this.$element.find('.oe_topbar_anonymous_login').click(function() { + var p = self.getParent(); + var am = p.action_manager; + am.do_action({type:'ir.actions.client', tag:'login'}); + am.client_widget.on('login', p, p.show_application); + }); + } + }); + }; diff --git a/addons/anonymous/static/src/xml/anonymous.xml b/addons/anonymous/static/src/xml/anonymous.xml new file mode 100644 index 00000000000..afa0ac545a6 --- /dev/null +++ b/addons/anonymous/static/src/xml/anonymous.xml @@ -0,0 +1,17 @@ + + + + + + + + +