1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-22 18:50:08 +03:00

Feature #3371: Make quotas optional for new users

(cherry picked from commit 0bdf5645b7139716409d8422c585c41299dba958)
This commit is contained in:
Carlos Martín 2014-12-15 13:17:31 +01:00
parent c7ddfce1cd
commit e58fa1cb60

View File

@ -709,81 +709,102 @@ var provision_create_user = '<form id="provision_create_user" class="hidden sect
'<br>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("Running VMs")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_rvms_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'<dl class="tabs text-center" data-tab style="width: 100%">'+
'<dd class="active" style="width: 50%;"><a href="#provision_create_user_default_quota">'+ tr("Default") +'</a></dd>'+
'<dd style="width: 50%;"><a href="#provision_create_user_manual_quota">'+ tr("Manual") +'</a></dd>'+
'</dl>'+
'<div class="tabs-content">'+
'<div class="content active" id="provision_create_user_default_quota">'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_rvms_quota_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("CPU")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_cpu_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'<div class="content" id="provision_create_user_manual_quota">'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("Running VMs")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_cpu_quota_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("Memory (GBs)")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'<div class="vm_param">'+
'<input type="hidden" class="provision_memory_quota_input"/>'+
'</div>'+
'<div class="row">'+
'<div class="large-8 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_memory_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_rvms_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_rvms_quota_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("CPU")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_cpu_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_cpu_quota_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<h5 class="subheader text-right">'+
'<span class="left">'+
tr("Memory (GBs)")+
'</span>'+
'</h5>'+
'<br>'+
'</div>'+
'</div>'+
'<div class="vm_param">'+
'<input type="hidden" class="provision_memory_quota_input"/>'+
'</div>'+
'<div class="row">'+
'<div class="large-12 large-centered columns">'+
'<div class="row collapse">'+
'<div class="large-9 small-9 columns">'+
'<div class="range-slider radius provision_memory_quota_slider" data-slider data-options="start: 1; end: 50;">'+
'<span class="range-slider-handle"></span>'+
'<span class="range-slider-active-segment"></span>'+
'<input type="hidden">'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_memory_quota_tmp_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="large-2 small-2 columns">'+
'<input type="text" class="provision-input provision_memory_quota_tmp_input" style="margin-top: -17px; height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
@ -1780,15 +1801,19 @@ var povision_actions = {
type: "create",
call: OpenNebula.User.create,
callback: function(request, response) {
if ( $("div#provision_create_user_manual_quota",
$("#provision_create_user")).hasClass("active") ){
// TODO if no quota is defined redefine?
Sunstone.runAction("Provision.User.set_quota", [response.USER.ID], {
"VM" : {
"VOLATILE_SIZE":"-1",
"VMS": $(".provision_rvms_quota_input").val()||QUOTA_LIMIT_UNLIMITED,
"MEMORY": $(".provision_memory_quota_input").val()||QUOTA_LIMIT_UNLIMITED,
"CPU": $(".provision_cpu_quota_input").val()||QUOTA_LIMIT_UNLIMITED}
});
Sunstone.runAction("Provision.User.set_quota", [response.USER.ID], {
"VM" : {
"VOLATILE_SIZE":"-1",
"VMS": $(".provision_rvms_quota_input").val()||QUOTA_LIMIT_UNLIMITED,
"MEMORY": $(".provision_memory_quota_input").val()||QUOTA_LIMIT_UNLIMITED,
"CPU": $(".provision_cpu_quota_input").val()||QUOTA_LIMIT_UNLIMITED}
});
} else {
clear_provision_create_user();
}
},
error: onError
},
@ -1797,19 +1822,7 @@ var povision_actions = {
type: "multiple",
call: OpenNebula.User.set_quota,
callback: function(request) {
OpenNebula.Helper.clear_cache("USER");
show_provision_user_list(0);
var context = $("#provision_create_user");
$("#username", context).val('');
$("#password", context).val('');
$(".provision_rvms_quota_input", context).val('');
$(".provision_memory_quota_input", context).val('');
$(".provision_memory_quota_tmp_input", context).val('');
$(".provision_cpu_quota_input", context).val('');
$("#repeat_password", context).val('');
$(".alert-box-error", context).hide();
$(".alert-box-error", context).html("");
clear_provision_create_user();
},
error: onError
},
@ -5758,6 +5771,23 @@ function generate_provision_users_list(context, opts) {
setup_provision_user_info(context);
}
// Closes and resets the create user wizard
function clear_provision_create_user(){
OpenNebula.Helper.clear_cache("USER");
show_provision_user_list(0);
var context = $("#provision_create_user");
$("#username", context).val('');
$("#password", context).val('');
$(".provision_rvms_quota_input", context).val('');
$(".provision_memory_quota_input", context).val('');
$(".provision_memory_quota_tmp_input", context).val('');
$(".provision_cpu_quota_input", context).val('');
$("#repeat_password", context).val('');
$(".alert-box-error", context).hide();
$(".alert-box-error", context).html("");
}
$(document).ready(function(){
var tab_name = 'provision-tab';
var tab = $("#"+tab_name);