diff options
| author | Thibault Delavallée <tde@openerp.com> | 2013-03-19 10:01:48 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2013-03-19 10:01:48 +0100 |
| commit | e559949f07bf3f5ade9ccd335e5dc033ed59b552 (patch) | |
| tree | f21574d81a5d64276160a9c622385a38f5d498f2 /addons/auth_openid/static | |
| parent | acb14cdead5114e1202465363465cb1884d127ac (diff) | |
| parent | 3f28f3540527f5f3bacc8fccaade90310cfb7c7c (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.css | 47 | ||||
| -rw-r--r-- | addons/auth_openid/static/src/js/auth_openid.js | 21 | ||||
| -rw-r--r-- | addons/auth_openid/static/src/xml/auth_openid.xml | 43 |
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> |
