mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-20 10:50:08 +03:00
feature #2854: Add user creation
This commit is contained in:
parent
30c8c24845
commit
b342b8bc72
@ -194,6 +194,46 @@ var provision_create_vm = '<form id="provision_create_vm" class="hidden section_
|
||||
'<br>'+
|
||||
'</form>';
|
||||
|
||||
var provision_create_user = '<form id="provision_create_user" class="hidden section_content">'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-11 large-centered columns">'+
|
||||
'<h2 class="subheader">'+
|
||||
'<i class="fa fa-fw fa-cloud"/> '+
|
||||
tr("Create User")+
|
||||
'</h2>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-8 large-centered columns">'+
|
||||
'<input type="text" id="username" class="provision-input" placeholder="'+tr("Username")+'" style="height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-8 large-centered columns">'+
|
||||
'<input type="password" id="password" class="provision-input" placeholder="'+tr("Password")+'" style="height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-8 large-centered columns">'+
|
||||
'<input type="password" id="repeat_password" class="provision-input" placeholder="'+tr("Repeat Password")+'" style="height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<br>'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-7 columns large-centered">'+
|
||||
'<div data-alert class="alert-box alert-box-error radius text-center hidden">'+
|
||||
'</div>'+
|
||||
'<button href="#" class="button large radius large-12 small-12" type="submit" style="height: 59px">'+tr("Add User")+'</button>'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<br>'+
|
||||
'<br>'+
|
||||
'</form>';
|
||||
|
||||
var provision_user_info = '<div id="provision_user_info" class="hidden section_content">'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-11 large-centered columns">'+
|
||||
@ -681,6 +721,7 @@ var provision_content = provision_user_info +
|
||||
|
||||
if (Config.isTabPanelEnabled("provision-tab", "users")) {
|
||||
provision_content += provision_list_users;
|
||||
provision_content += provision_create_user;
|
||||
}
|
||||
|
||||
var provision_header = '<img src="images/one_small_logo.png" style="height:40px; vertical-align:top">'+
|
||||
@ -767,6 +808,21 @@ var povision_actions = {
|
||||
error: onError
|
||||
},
|
||||
|
||||
"Provision.User.create" : {
|
||||
type: "create",
|
||||
call: OpenNebula.User.create,
|
||||
callback: function() {
|
||||
OpenNebula.Helper.clear_cache("USER");
|
||||
show_provision_user_list(0);
|
||||
var context = $("#provision_create_user");
|
||||
$("#username", context).val('');
|
||||
$("#password", context).val('');
|
||||
$("#repeat_password", context).val('');
|
||||
$(".alert-box-error", context).hide();
|
||||
},
|
||||
error: onError
|
||||
},
|
||||
|
||||
"Provision.show" : {
|
||||
type: "single",
|
||||
call: OpenNebula.VM.show,
|
||||
@ -1013,6 +1069,11 @@ function show_provision_create_vm() {
|
||||
$("#provision_create_vm").fadeIn();
|
||||
}
|
||||
|
||||
function show_provision_create_user() {
|
||||
$(".section_content").hide();
|
||||
$("#provision_create_user").fadeIn();
|
||||
}
|
||||
|
||||
function show_provision_vm_list(timeout) {
|
||||
$(".section_content").hide();
|
||||
$("#provision_list_vms").fadeIn();
|
||||
@ -2388,6 +2449,48 @@ $(document).ready(function(){
|
||||
show_provision_user_list(0);
|
||||
});
|
||||
|
||||
$(".provision_create_user_button").on("click", function(){
|
||||
show_provision_create_user();
|
||||
});
|
||||
|
||||
//
|
||||
// Create User
|
||||
//
|
||||
|
||||
|
||||
$("#provision_create_user").submit(function(){
|
||||
var context = $(this);
|
||||
|
||||
var username = $("#username", context).val();
|
||||
var password = $("#password", context).val();
|
||||
var repeat_password = $("#repeat_password", context).val();
|
||||
|
||||
// TODO driver
|
||||
var driver = 'core';
|
||||
|
||||
if (!username.length || !password.length){
|
||||
$(".alert-box-error", context).fadeOut();
|
||||
$(".alert-box-error", context).fadeIn().html(tr("You have to provide a username and password"));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (password !== repeat_password){
|
||||
$(".alert-box-error", context).fadeOut();
|
||||
$(".alert-box-error", context).fadeIn().html(tr("Passwords do not match"));
|
||||
return false;
|
||||
}
|
||||
|
||||
var user_json = { "user" :
|
||||
{ "name" : username,
|
||||
"password" : password,
|
||||
"auth_driver" : driver
|
||||
}
|
||||
};
|
||||
|
||||
Sunstone.runAction("Provision.User.create",user_json);
|
||||
return false;
|
||||
});
|
||||
|
||||
//
|
||||
// Info VM
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user