From ccbc0df1ddda89186506f0744981edc5474c66d5 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 6 Aug 2012 17:38:32 +0200 Subject: [PATCH] [FIX] auth_signup: move wizard trigger to login page bzr revid: chs@openerp.com-20120806153832-0joy03c20y28bmx4 --- addons/auth_signup/__openerp__.py | 9 ++-- addons/auth_signup/auth_signup.py | 1 - .../static/src/css/auth_signup.css | 9 ++++ .../auth_signup/static/src/js/auth_signup.js | 51 ++++++++++++++----- .../static/src/xml/auth_signup.xml | 14 ++--- 5 files changed, 62 insertions(+), 22 deletions(-) create mode 100644 addons/auth_signup/static/src/css/auth_signup.css diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py index 8c8a4919550..60d99534bec 100644 --- a/addons/auth_signup/__openerp__.py +++ b/addons/auth_signup/__openerp__.py @@ -8,11 +8,14 @@ 'installable': True, 'depends': ['auth_anonymous', 'base_setup'], 'data': [ - 'auth_signup.xml', - 'res_config.xml', + 'auth_signup.xml', + 'res_config.xml', ], 'js': [ - 'static/src/js/auth_signup.js', + 'static/src/js/auth_signup.js', + ], + 'css': [ + 'static/src/css/auth_signup.css', ], 'qweb': [ 'static/src/xml/auth_signup.xml', diff --git a/addons/auth_signup/auth_signup.py b/addons/auth_signup/auth_signup.py index a7c0b1f4010..64760bed599 100644 --- a/addons/auth_signup/auth_signup.py +++ b/addons/auth_signup/auth_signup.py @@ -54,4 +54,3 @@ class signup_signup(osv.TransientModel): if pw != cpw: return {'value': {'state': 'missmatch'}} return {'value': {'state': 'draft'}} - diff --git a/addons/auth_signup/static/src/css/auth_signup.css b/addons/auth_signup/static/src/css/auth_signup.css new file mode 100644 index 00000000000..1e8d7d9d8d8 --- /dev/null +++ b/addons/auth_signup/static/src/css/auth_signup.css @@ -0,0 +1,9 @@ +.openerp .oe_login .oe_login_pane ul.oe_signup a { + color: #eeeeee; + margin: 0 8px; +} +.openerp .oe_login .oe_login_pane ul.oe_signup a:hover { + text-decoration: underline; +} + + diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js index 73fe1c20236..fd5c9c93dfa 100644 --- a/addons/auth_signup/static/src/js/auth_signup.js +++ b/addons/auth_signup/static/src/js/auth_signup.js @@ -1,19 +1,46 @@ openerp.auth_signup = function(instance) { + var _t = instance.web._t; - instance.web.UserMenu.include({ + instance.web.Login.include({ start: function() { var self = this; - this._super.apply(this, arguments); - this.$element.find('a.oe_topbar_signup').click(function() { - var p = self.getParent(); - var am = p.action_manager; - am.do_action({ - type:'ir.actions.act_window', - res_model: 'auth.signup', - views: [[false, 'form']], - target: 'new', - name: 'Sign Up' - }); + + this.$('a.oe_signup').click(function() { + var db = self.$("form [name=db]").val(); + if (!db) { + self.do_warn(_t("Login"), _t("No database selected!")); + return false; + } + + var cnx = instance.connection; + if (cnx.session_is_valid()) { + self._signup(); + } else { + cnx.session_authenticate(db, 'anonymous', 'anonymous', true).then(function() { + self._signup(); + }).fail(function(error, event) { + console.log(error); + // cannot log as anonymous or auth_signup not installed + self.do_warn(_t('Sign Up'), _.str.sprintf(_t('Signup functionnality is not available for database %s'), db), true); + }); + } + return true; + }); + return this._super(); + + }, + + _signup: function() { + this.do_action({ + type:'ir.actions.act_window', + res_model: 'auth.signup', + views: [[false, 'form']], + target: 'new', + name: 'Sign Up' + }, function() { + // mmh, no way to have access to dialog befor close... + // TODO autolog user + console.log('onclose', this, arguments); }); } }); diff --git a/addons/auth_signup/static/src/xml/auth_signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml index 7b3ed6de77b..df24bca3ef1 100644 --- a/addons/auth_signup/static/src/xml/auth_signup.xml +++ b/addons/auth_signup/static/src/xml/auth_signup.xml @@ -3,12 +3,14 @@ --> - - - + + +
  • + +
  • + + +