diff options
author | mkanat%bugzilla.org <> | 2009-02-12 06:29:08 +0000 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-02-12 06:29:08 +0000 |
commit | c09a9a46b4c20a99a046b8ad67dbae76910e1256 (patch) | |
tree | b6853c23f36ec2bc6a2442cbd19d13f0aada68d2 | |
parent | 47cf0ef790fc4848ea728ca4e7dc3748459436f8 (diff) | |
download | bugs-c09a9a46b4c20a99a046b8ad67dbae76910e1256.tar bugs-c09a9a46b4c20a99a046b8ad67dbae76910e1256.tar.gz bugs-c09a9a46b4c20a99a046b8ad67dbae76910e1256.tar.bz2 bugs-c09a9a46b4c20a99a046b8ad67dbae76910e1256.tar.xz bugs-c09a9a46b4c20a99a046b8ad67dbae76910e1256.zip |
Bug 476090: Allow users to log-in from toolbar
Patch By Guy Pyrzak <guy.pyrzak@gmail.com> r=mkanat, a=mkanat
-rw-r--r-- | js/global.js | 58 | ||||
-rw-r--r-- | skins/standard/global.css | 16 | ||||
-rw-r--r-- | template/en/default/account/auth/login-small.html.tmpl | 105 | ||||
-rw-r--r-- | template/en/default/global/common-links.html.tmpl | 34 | ||||
-rw-r--r-- | template/en/default/global/header.html.tmpl | 2 |
5 files changed, 122 insertions, 93 deletions
diff --git a/js/global.js b/js/global.js new file mode 100644 index 000000000..2efa698b6 --- /dev/null +++ b/js/global.js @@ -0,0 +1,58 @@ +/* The contents of this file are subject to the Mozilla Public +* License Version 1.1 (the "License"); you may not use this file +* except in compliance with the License. You may obtain a copy of +* the License at http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS +* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +* implied. See the License for the specific language governing +* rights and limitations under the License. +* +* The Original Code is the Bugzilla Bug Tracking System. +* +* Contributor(s): Guy Pyrzak <guy.pyrzak@gmail.com> +* +*/ + +var mini_login_constants; + +function init_mini_login_form( suffix ) { + var mini_login = document.getElementById('Bugzilla_login' + suffix ); + var mini_password = document.getElementById('Bugzilla_password' + suffix ); + // check if the login and password are blank and if they are + // put in the text login and password and make them slightly greyed out + if( mini_login.value == "" && mini_password.value == "" ) { + mini_login.value = mini_login_constants.login; + mini_password.value = mini_login_constants.password; + mini_password.type = "text"; + + YAHOO.util.Dom.addClass(mini_login, "bz_mini_login_help"); + YAHOO.util.Dom.addClass(mini_password, "bz_mini_login_help"); + } +} + +function mini_login_on_focus( el ) { + if( el.name == "Bugzilla_password" ){ + if( el.type != "password" ) { + el.value = ""; + el.type = "password"; + } + } else if ( el.value == mini_login_constants.login ) { + if( el.value == mini_login_constants.login ) { + el.value = ""; + } + } + YAHOO.util.Dom.removeClass(el, "bz_mini_login_help"); +} + +function check_mini_login_fields( suffix ) { + var mini_login = document.getElementById('Bugzilla_login' + suffix ); + var mini_password = document.getElementById('Bugzilla_password' + suffix ); + if(( mini_login.value != "" && mini_password.value != "" ) && + ( mini_login.value != mini_login_constants.login && + mini_password.value != mini_login_constants.password )) { + return true; + } + window.alert( mini_login_constants.warning ); + return false; +} diff --git a/skins/standard/global.css b/skins/standard/global.css index cbdfdef1f..8bfa75f16 100644 --- a/skins/standard/global.css +++ b/skins/standard/global.css @@ -508,3 +508,19 @@ form#Create .comment { #down_button { background-image: url(global/down.png); } + +.mini_login, .mini_login input, .mini_login button { + font-size: small; +} + +form.mini_login input.bz_password, form.mini_login input.bz_login { + width: 10em; +} + +form .bz_remember, form .bz_restrict { + margin: 0.4em 0; +} + +.bz_mini_login_help { + color: #ccc; +} diff --git a/template/en/default/account/auth/login-small.html.tmpl b/template/en/default/account/auth/login-small.html.tmpl index 19aaca11d..56f281b24 100644 --- a/template/en/default/account/auth/login-small.html.tmpl +++ b/template/en/default/account/auth/login-small.html.tmpl @@ -1,4 +1,4 @@ -[%# The contents of this file are subject to the Mozilla Public +[%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ @@ -23,68 +23,45 @@ [%# Use the current script name. If an empty name is returned, # then we are accessing the home page. %] -[% script_name = cgi.url(Relative => 1) %] -[% IF !script_name %] - [% script_name = "index.cgi" %] +[% target = cgi.url("-relative" => 1, "-query" => 1) %] +[% IF !target %] + [% target = "index.cgi" %] [% END %] -[%# If SSL is in use, use 'sslbase', else use 'urlbase'. %] -[% IF Param("sslbase") != "" && Param("ssl") != "never" %] - [% script_name = Param("sslbase") _ script_name %] -[% ELSE %] - [% script_name = Param("urlbase") _ script_name %] -[% END %] - -<form name="login" action="[% script_name FILTER html %]" method="POST"> - <table id="login-small"> - <tr> - <th align="right"><label for="Bugzilla_login">Login:</label></th> - <td><input size="20" id="Bugzilla_login" name="Bugzilla_login"> - [% Param('emailsuffix') FILTER html %]</td> - </tr> - <tr> - <th align="right"><label for="Bugzilla_password">Password:</label></th> - <td> - <input type="password" size="20" id="Bugzilla_password" name="Bugzilla_password"> - </td> - </tr> - - [% IF Param('rememberlogin') == 'defaulton' || - Param('rememberlogin') == 'defaultoff' %] - <tr> - <th> </th> - <td> - <input type="checkbox" id="Bugzilla_remember" name="Bugzilla_remember" value="on" - [%+ "checked" IF Param('rememberlogin') == "defaulton" %]> - <label for="Bugzilla_remember">Remember my Login</label> - </td> - </tr> - [% END %] - - [% IF Param('loginnetmask') < 32 %] - <tr> - <th> </th> - <td> - <input type="checkbox" id="Bugzilla_restrictlogin" name="Bugzilla_restrictlogin" - checked="checked"> - <label for="Bugzilla_restrictlogin">Restrict this session to this IP address - (using this option improves security)</label> - </td> - </tr> - [% END %] - - <tr> - <td><input type="submit" name="GoAheadAndLogIn" value="Login" - id="log_in"></td> - - [%# For now, password change requests only apply to the DB - # verification method #%] - - [% IF user.authorizer.can_change_password %] - <td>[ <a href="index.cgi?GoAheadAndLogIn=1#forgot">Forgot my Password</a> ]</td> - [% END %] - </tr> - </table> - -</form> - +[% target = urlbase _ target %] +<li> + <form name="login" action="[% target FILTER html %]" + class="mini_login" + method="POST" id="mini_login[% qs_suffix FILTER html %]" + onsubmit="return check_mini_login_fields( '[% qs_suffix FILTER html %]' );" + > + <span class="separator">| </span> + <input id="Bugzilla_login[% qs_suffix FILTER html %]" + class="bz_login" + name="Bugzilla_login" + onfocus="mini_login_on_focus( this )" + > + <input class="bz_password" + id="Bugzilla_password[% qs_suffix FILTER html %]" + name="Bugzilla_password" + type="password" + onfocus="mini_login_on_focus( this )" + > + <input type="submit" name="GoAheadAndLogIn" value="Log in" id="log_in"> + [<a href="[% target FILTER html %]?GoAheadAndLogIn=1">options</a>] + <div class="bz_default_hidden"> + [% PROCESS "global/hidden-fields.html.tmpl" + exclude="^Bugzilla_(login|password|restrictlogin)$" %] + </div> + <script type="text/javascript"> + mini_login_constants = { + "login" : "login", + "password" : "password", + "warning" : "You must set the login and password before logging in." + } + YAHOO.util.Event.onDOMReady(function() { + init_mini_login_form('[% qs_suffix FILTER html %]'); + } ); + </script> + </form> +</li> diff --git a/template/en/default/global/common-links.html.tmpl b/template/en/default/global/common-links.html.tmpl index 3fce543d1..6f2c46f46 100644 --- a/template/en/default/global/common-links.html.tmpl +++ b/template/en/default/global/common-links.html.tmpl @@ -20,7 +20,6 @@ #%] [% DEFAULT qs_suffix = "" %] - <ul class="links"> <li><a href="./">Home</a></li> <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li> @@ -82,41 +81,20 @@ [% END %] [%-# Work around FF bug: keep this on one line %]</li> [% ELSE %] + + [% PROCESS link_to_documentation %] + [% IF Param('createemailregexp') && user.authorizer.user_can_create_account %] <li><span class="separator">| </span><a href="createaccount.cgi">New Account</a></li> [% END %] - [% PROCESS link_to_documentation %] - - [% IF user.authorizer.can_login %] - [%# Use the current script name. If an empty name is returned, - # then we are accessing the home page. %] - - [% script_name = cgi.url(Relative => 1) %] - - [% IF cgi.request_method == "POST" OR script_name.match("relogin") %] - [% script_name = "" %] - [% END %] - - [%# If SSL is in use, use 'sslbase', else use 'urlbase'. %] - [% IF Param("sslbase") != "" && Param("ssl") != "never" %] - [% script_name = Param("sslbase") _ script_name %] - [% ELSE %] - [% script_name = Param("urlbase") _ script_name %] - [% END %] - - [% IF cgi.request_method == "GET" AND cgi.query_string %] - [% script_name = script_name _ "?" _ cgi.query_string %] - [% script_name = script_name _ "&GoAheadAndLogIn=1" IF !cgi.query_string.match("GoAheadAndLogIn") %] - [% ELSE %] - [% script_name = script_name _ "?GoAheadAndLogIn=1" %] - [% END %] - - <li><span class="separator">| </span><a href="[% script_name FILTER html %]">Log In</a></li> + [% IF user.authorizer.can_login %] + [% PROCESS "account/auth/login-small.html.tmpl" %] [% END %] [% END %] </ul> + [% Hook.process("link-row") %] [% BLOCK link_to_documentation %] [% IF doc_section && Param('docs_urlbase') %] diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl index b687da6af..5f3ed44d8 100644 --- a/template/en/default/global/header.html.tmpl +++ b/template/en/default/global/header.html.tmpl @@ -189,6 +189,7 @@ <![endif]--> <script src="js/yui/yahoo-dom-event.js" type="text/javascript"></script> + <script src="js/global.js" type="text/javascript"></script> <script type="text/javascript"> <!-- YAHOO.namespace('bugzilla'); @@ -205,7 +206,6 @@ cookiepath: '[% Param('cookiepath') FILTER js %]' } }; - [% IF javascript %] [% javascript %] [% END %] |