summaryrefslogtreecommitdiff
path: root/addons/auth_openid/static
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2013-03-19 10:01:48 +0100
committerThibault Delavallée <tde@openerp.com>2013-03-19 10:01:48 +0100
commite559949f07bf3f5ade9ccd335e5dc033ed59b552 (patch)
treef21574d81a5d64276160a9c622385a38f5d498f2 /addons/auth_openid/static
parentacb14cdead5114e1202465363465cb1884d127ac (diff)
parent3f28f3540527f5f3bacc8fccaade90310cfb7c7c (diff)
[MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20130319090148-ggdkll48f9343y1l
Diffstat (limited to 'addons/auth_openid/static')
-rw-r--r--addons/auth_openid/static/src/css/openid.css47
-rw-r--r--addons/auth_openid/static/src/js/auth_openid.js21
-rw-r--r--addons/auth_openid/static/src/xml/auth_openid.xml43
3 files changed, 57 insertions, 54 deletions
diff --git a/addons/auth_openid/static/src/css/openid.css b/addons/auth_openid/static/src/css/openid.css
index ab01ffd2f60..57c745f0aca 100644
--- a/addons/auth_openid/static/src/css/openid.css
+++ b/addons/auth_openid/static/src/css/openid.css
@@ -1,25 +1,15 @@
-.login .pane {
- width: 260px;
- height: 175px;
-}
-
-.login .pane input[name='openid_url'] {
+.oe_login .oe_login_pane input[name='openid_url'] {
background: #fff url(../img/login-bg.gif) no-repeat 1px;
padding-left: 20px;
}
-.auth_choice {
- position: static;
- display: none;
+.openerp .oe_login .openid_providers {
+ text-align: center;
}
-
-.openid_providers {
- padding: 0;
- list-style: none;
- float: right;
+.openerp .oe_login .openid_providers ul {
+ display: inline-block;
}
-
-.openid_providers li {
+.openerp .oe_login .openid_providers ul li {
display: block;
float: left;
margin: 0 1px 3px 2px;
@@ -29,7 +19,6 @@
display: block;
width: 24px;
height: 24px;
- border: 1px solid #ddd;
background: #fff url(../img/openid_16.png) no-repeat 50%;
text-indent: -9999px;
overflow: hidden;
@@ -37,20 +26,16 @@
}
.openid_providers a.selected {
- border-color: #9A0404;
+ background-color: #DC5F59;
}
-.openid_providers a[title="Password"] { background-image: url(../img/textfield_key.png); }
-.openid_providers a[title="AOL"] { background-image: url(../img/aol.png); }
-.openid_providers a[title="ClaimID"] { background-image: url(../img/claimid.png); }
-.openid_providers a[title="Google"] { background-image: url(../img/googlefav.png); }
-.openid_providers a[title="Google Apps"] { background-image: url(../img/marketplace.gif); }
-.openid_providers a[title="MyOpenID"] { background-image: url(../img/myopenid.png); }
-.openid_providers a[title="VeriSign"] { background-image: url(../img/verisign.png); }
-.openid_providers a[title="Yahoo!"] { background-image: url(../img/yahoo.png); }
-.openid_providers a[title="Launchpad"] { background-image: url(../img/launchpad.png); }
-
+.openid_providers a[data-provider="Password"] { background-image: url(../img/textfield_key.png); }
+.openid_providers a[data-provider="AOL"] { background-image: url(../img/aol.png); }
+.openid_providers a[data-provider="ClaimID"] { background-image: url(../img/claimid.png); }
+.openid_providers a[data-provider="Google"] { background-image: url(../img/googlefav.png); }
+.openid_providers a[data-provider="Google Apps"] { background-image: url(../img/marketplace.gif); }
+.openid_providers a[data-provider="MyOpenID"] { background-image: url(../img/myopenid.png); }
+.openid_providers a[data-provider="VeriSign"] { background-image: url(../img/verisign.png); }
+.openid_providers a[data-provider="Yahoo!"] { background-image: url(../img/yahoo.png); }
+.openid_providers a[data-provider="Launchpad"] { background-image: url(../img/launchpad.png); }
-li.auth_choice.selected {
- display: table-row;
-}
diff --git a/addons/auth_openid/static/src/js/auth_openid.js b/addons/auth_openid/static/src/js/auth_openid.js
index f8615481a40..ac2804cb130 100644
--- a/addons/auth_openid/static/src/js/auth_openid.js
+++ b/addons/auth_openid/static/src/js/auth_openid.js
@@ -14,6 +14,16 @@ instance.web.Login = instance.web.Login.extend({
self.$openid_selected_input = $();
self.$openid_selected_provider = null;
+
+ // Hook auth_signup events. noop if module is not installed.
+ self.on('change:login_mode', self, function() {
+ var mode = self.get('login_mode') || 'default';
+ if (mode !== 'default') {
+ return;
+ }
+ self.do_openid_select(self.$openid_selected_button, self.$openid_selected_provider, true);
+ });
+
var openIdProvider = null;
if (self.has_local_storage && self.remember_credentials) {
@@ -21,12 +31,10 @@ instance.web.Login = instance.web.Login.extend({
}
if (openIdProvider) {
- $openid_selected_provider = openIdProvider;
+ self.$openid_selected_provider = openIdProvider;
self.do_openid_select('a[href="#' + openIdProvider + '"]', openIdProvider, true);
- if (self.has_local_storage && self.remember_credentials) {
- self.$openid_selected_input.find('input').val(localStorage.getItem('openid-login'));
- }
+ self.$openid_selected_input.find('input').val(localStorage.getItem('openid-login') || '');
}
else {
self.do_openid_select('a[data-url=""]', 'login,password', true);
@@ -49,11 +57,12 @@ instance.web.Login = instance.web.Login.extend({
do_openid_select: function (button, provider, noautosubmit) {
var self = this;
+ self.$('li[data-provider]').hide();
self.$openid_selected_button.add(self.$openid_selected_input).removeClass('selected');
self.$openid_selected_button = self.$el.find(button).addClass('selected');
var input = _(provider.split(',')).map(function(p) { return 'li[data-provider="'+p+'"]'; }).join(',');
- self.$openid_selected_input = self.$el.find(input).addClass('selected');
+ self.$openid_selected_input = self.$el.find(input).show();
self.$openid_selected_input.find('input:first').focus();
self.$openid_selected_provider = (self.$openid_selected_button.attr('href') || '').substr(1);
@@ -62,7 +71,7 @@ instance.web.Login = instance.web.Login.extend({
localStorage.setItem('openid-provider', self.$openid_selected_provider);
}
- if (!noautosubmit && self.$openid_selected_input.length == 0) {
+ if (!noautosubmit && self.$openid_selected_input.length === 0) {
self.$el.find('form').submit();
}
diff --git a/addons/auth_openid/static/src/xml/auth_openid.xml b/addons/auth_openid/static/src/xml/auth_openid.xml
index 6a40439a012..75fd2a8fe45 100644
--- a/addons/auth_openid/static/src/xml/auth_openid.xml
+++ b/addons/auth_openid/static/src/xml/auth_openid.xml
@@ -4,44 +4,53 @@
<t t-extend="Login">
<t t-jquery=".oe_login .oe_login_logo" t-operation="after">
- <ul class="openid_providers oe_semantic_html_override">
- <li><a href="#login,password" title="Password" data-url="" id="btn_password">Password</a></li>
- <li><a href="#google" title="Google" data-url="https://www.google.com/accounts/o8/id">Google</a></li>
- <li><a href="#googleapps" title="Google Apps" data-url="https://www.google.com/accounts/o8/site-xrds?hd={id}">Google</a></li>
- <li><a href="#launchpad" title="Launchpad" data-url="https://launchpad.net/~{id}">Launchpad</a></li>
- <li><a href="#openid_url" title="OpenID" data-url="{id}">OpenID</a></li>
- </ul>
+ <div class="openid_providers" data-modes="default openid"><ul>
+ <li><a href="#login,password" data-provider='Password' title="Password" data-url="" id="btn_password">Password</a></li>
+ <li><a href="#google" data-provider='Google' title="Google" data-url="https://www.google.com/accounts/o8/id">Google</a></li>
+ <li><a href="#googleapps" data-provider='Google Apps' title="Google Apps" data-url="https://www.google.com/accounts/o8/site-xrds?hd={id}">Google</a></li>
+ <li><a href="#launchpad" data-provider='Launchpad' title="Launchpad" data-url="https://launchpad.net/~{id}">Launchpad</a></li>
+ <li><a href="#openid_url" data-provider='OpenID' title="OpenID" data-url="{id}">OpenID</a></li>
+ </ul></div>
</t>
</t>
<t t-extend="Login">
- <t t-jquery=".oe_login .oe_login_pane form ul li:nth-child(4)" t-operation="after">
- <li>
+ <t t-jquery=".oe_login .oe_login_pane form ul li:last-child()" t-operation="before">
+ <li data-modes="openid" data-provider='googleapps'>
Google Apps Domain
</li>
- <li>
+ <li data-modes="openid" data-provider='googleapps'>
<input type="text" name="googleapps" />
</li>
- <li>
+ <li data-modes="openid" data-provider='launchpad'>
Username
</li>
- <li>
+ <li data-modes="openid" data-provider='launchpad'>
<input type="text" name="launchpad" />
</li>
- <li>
+ <li data-modes="openid" data-provider='openid_url'>
OpenID URL
</li>
- <li>
+ <li data-modes="openid" data-provider='openid_url'>
<input type="text" name="openid_url" />
</li>
</t>
</t>
<t t-extend="Login">
- <t t-jquery=".oe_login .oe_login_pane form ul li:has(input)">
+ <t t-jquery=".oe_login .oe_login_pane form ul li:has(input[name=password])">
+ this.each(function() {
+ var $i = $(this);
+ $i.add($i.prev()).attr('data-provider', 'password');
+ });
+ </t>
+ <t t-jquery=".oe_login .oe_login_pane form ul li:has(input[name=login])">
this.each(function() {
var $i = $(this),
- dp = $i.find('input').attr('name');
- $i.add($i.prev()).attr('class', 'auth_choice').attr('data-provider', dp);
+ dp = $i.find('input').attr('name'),
+ $p = $i.prev();
+ // $p may not be the correct label when auth_signup is installed.
+ while(($p.attr('data-modes') || 'default') !== 'default') { $p = $p.prev(); }
+ $i.add($p).attr('data-provider', dp);
});
</t>
</t>