mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-16 22:50:10 +03:00
feature #3748: Refactor login.js
This commit is contained in:
parent
298af5d3f6
commit
98dec11877
99
src/sunstone/public/app/login.js
Normal file
99
src/sunstone/public/app/login.js
Normal file
@ -0,0 +1,99 @@
|
||||
require.config({
|
||||
paths: {
|
||||
/* jQuery */
|
||||
'jquery': '../bower_components/jquery/dist/jquery.min'
|
||||
}
|
||||
});
|
||||
|
||||
define(function(require) {
|
||||
require('jquery');
|
||||
var OpenNebulaAuth = require('opennebula/auth');
|
||||
|
||||
function auth_success(req, response) {
|
||||
window.location.href = ".";
|
||||
}
|
||||
|
||||
function auth_error(req, error) {
|
||||
|
||||
var status = error.error.http_status;
|
||||
|
||||
switch (status){
|
||||
case 401:
|
||||
$("#error_message").text("Invalid username or password");
|
||||
break;
|
||||
case 500:
|
||||
$("#error_message").text("OpenNebula is not running or there was a server exception. Please check the server logs.");
|
||||
break;
|
||||
case 0:
|
||||
$("#error_message").text("No answer from server. Is it running?");
|
||||
break;
|
||||
default:
|
||||
$("#error_message").text("Unexpected error. Status " + status + ". Check the server logs.");
|
||||
};
|
||||
$("#error_box").fadeIn("slow");
|
||||
$("#login_spinner").hide();
|
||||
}
|
||||
|
||||
function authenticate() {
|
||||
var username = $("#username").val();
|
||||
var password = $("#password").val();
|
||||
var remember = $("#check_remember").is(":checked");
|
||||
|
||||
$("#error_box").fadeOut("slow");
|
||||
$("#login_spinner").show();
|
||||
|
||||
OpenNebulaAuth.login({
|
||||
data: {
|
||||
username: username,
|
||||
password: password
|
||||
},
|
||||
remember: remember,
|
||||
success: auth_success,
|
||||
error: auth_error
|
||||
});
|
||||
}
|
||||
|
||||
function getInternetExplorerVersion() {
|
||||
// Returns the version of Internet Explorer or a -1
|
||||
// (indicating the use of another browser).
|
||||
var rv = -1; // Return value assumes failure.
|
||||
if (navigator.appName == 'Microsoft Internet Explorer') {
|
||||
var ua = navigator.userAgent;
|
||||
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
|
||||
if (re.exec(ua) != null)
|
||||
rv = parseFloat(RegExp.$1);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
function checkVersion() {
|
||||
var ver = getInternetExplorerVersion();
|
||||
|
||||
if (ver > -1) {
|
||||
msg = ver <= 7.0 ? "You are using an old version of IE. \
|
||||
Please upgrade or use Firefox or Chrome for full compatibility." :
|
||||
"OpenNebula Sunstone is best seen with Chrome or Firefox";
|
||||
$("#error_box").text(msg);
|
||||
$("#error_box").fadeIn('slow');
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#login_form").submit(function () {
|
||||
authenticate();
|
||||
return false;
|
||||
});
|
||||
|
||||
//compact login elements according to screen height
|
||||
if (screen.height <= 600) {
|
||||
$('div#logo_sunstone').css("top", "15px");
|
||||
$('div#login').css("top", "10px");
|
||||
$('.error_message').css("top", "10px");
|
||||
};
|
||||
|
||||
$("input#username.box").focus();
|
||||
$("#login_spinner").hide();
|
||||
|
||||
checkVersion();
|
||||
});
|
||||
});
|
5
src/sunstone/public/dist/login.js
vendored
Normal file
5
src/sunstone/public/dist/login.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
src/sunstone/public/dist/login.js.map
vendored
Normal file
1
src/sunstone/public/dist/login.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,32 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="shortcut icon" href="images/favicon.ico" />
|
||||
<title>OpenNebula Sunstone Login</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/login.css" />
|
||||
<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
|
||||
<!--[if IE]>
|
||||
<script type="text/javascript" src="vendor/crypto-js/core-min.js"></script>
|
||||
<script type="text/javascript" src="vendor/crypto-js/enc-base64-min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script type="text/javascript" src="js/opennebula.js"></script>
|
||||
<script type="text/javascript" src="js/login.js"></script>
|
||||
<script src="bower_components/requirejs/require.js" data-main="dist/login"></script>
|
||||
</head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<% if settings.config[:auth] == "x509" %>
|
||||
<%= erb :_login_x509 %>
|
||||
<% else %>
|
||||
<%= erb :_login_standard %>
|
||||
<% end %>
|
||||
|
||||
<body>
|
||||
|
||||
<% if settings.config[:auth] == "x509" %>
|
||||
<%= erb :_login_x509 %>
|
||||
<% else %>
|
||||
<%= erb :_login_standard %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<div id="footer" style="overflow:visible;">
|
||||
<a href="http://opennebula.org" target="_blank">OpenNebula 4.12.0</a> by <a href="http://opennebula.systems" target="_blank">OpenNebula Systems</a>.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div id="footer" style="overflow:visible;">
|
||||
<a href="http://opennebula.org" target="_blank">OpenNebula 4.12.0</a>
|
||||
by
|
||||
<a href="http://opennebula.systems" target="_blank">OpenNebula Systems</a>
|
||||
.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user