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

Bug #3123: Add unlimited and default quotas in user update

(cherry picked from commit 16a69702b6741dd4971580e5b94ee09b1db61e95)
This commit is contained in:
Carlos Martín 2014-12-16 16:02:09 +01:00
parent 484ab442a9
commit da48417154

View File

@ -669,6 +669,259 @@ var provision_create_flow = '<form id="provision_create_flow" class="hidden sect
'<br>'+
'</form>';
var provision_quota_widget = '<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 class="row provision_rvms_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_rvms_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</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 provision_cpu_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_cpu_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</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 provision_memory_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_memory_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</div>'+
'</div>';
function setup_provision_quota_widget(context){
// Mode selector, for the 3 sliders
$("select.provision_quota_select", context).on('change', function(){
var row = $(this).closest(".row");
switch($(this).val()) {
case "edit":
$("div.provision_quota_edit", row).show();
$("div.provision_quota_default", row).hide();
$("div.provision_quota_unlimited", row).hide();
break;
case "default":
$("div.provision_quota_edit", row).hide();
$("div.provision_quota_default", row).show();
$("div.provision_quota_unlimited", row).hide();
break;
case "unlimited":
$("div.provision_quota_edit", row).hide();
$("div.provision_quota_default", row).hide();
$("div.provision_quota_unlimited", row).show();
break;
}
return false;
});
var provision_rvms_quota_input = $(".provision_rvms_quota_input", context);
$( ".provision_rvms_quota_slider", context).on('change', function(){
provision_rvms_quota_input.val($(this).attr('data-slider'))
});
provision_rvms_quota_input.change(function() {
$( ".provision_rvms_quota_slider", context).foundation(
'slider', 'set_value', this.value);
});
var provision_cpu_quota_input = $(".provision_cpu_quota_input", context);
$( ".provision_cpu_quota_slider", context).on('change', function(){
provision_cpu_quota_input.val($(this).attr('data-slider'))
});
provision_cpu_quota_input.change(function() {
$( ".provision_cpu_quota_slider", context).foundation(
'slider', 'set_value', this.value);
});
var provision_memory_quota_input = $(".provision_memory_quota_input", context);
var provision_memory_quota_tmp_input = $(".provision_memory_quota_tmp_input", context);
var update_final_memory_input = function() {
var value = provision_memory_quota_tmp_input.val();
if (value > 0) {
provision_memory_quota_input.val( Math.floor(value * 1024) );
} else {
provision_memory_quota_input.val(value);
}
}
$( ".provision_memory_quota_slider", context).on('change', function(){
provision_memory_quota_tmp_input.val($(this).attr('data-slider'));
update_final_memory_input();
});
provision_memory_quota_tmp_input.change(function() {
update_final_memory_input();
$( ".provision_memory_quota_slider", context).foundation(
'slider', 'set_value', this.value);
});
}
function reset_provision_quota_widget(context){
$("select.provision_quota_select", context).val('edit').change();
$(".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('');
}
function retrieve_provision_quota_widget(context){
var retrieve_quota = function(select, input){
switch(select.val()) {
case "edit":
return input.val();
case "default":
return QUOTA_LIMIT_DEFAULT;
case "unlimited":
return QUOTA_LIMIT_UNLIMITED;
}
}
var vms_limit = retrieve_quota(
$(".provision_rvms_quota select.provision_quota_select", context),
$(".provision_rvms_quota_input", context));
var cpu_limit = retrieve_quota(
$(".provision_cpu_quota select.provision_quota_select", context),
$(".provision_cpu_quota_input", context));
var mem_limit = retrieve_quota(
$(".provision_memory_quota select.provision_quota_select", context),
$(".provision_memory_quota_input", context));
return {
"VM" : {
"VOLATILE_SIZE": QUOTA_LIMIT_DEFAULT,
"VMS": vms_limit,
"MEMORY": mem_limit,
"CPU": cpu_limit
}
};
}
var provision_create_user = '<form id="provision_create_user" class="hidden section_content">'+
'<div class="row">'+
'<div class="large-10 large-centered columns">'+
@ -724,138 +977,7 @@ var provision_create_user = '<form id="provision_create_user" class="hidden sect
'</div>'+
'</div>'+
'<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 class="row provision_rvms_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_rvms_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</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 provision_cpu_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_cpu_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</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 provision_memory_quota">'+
'<div class="medium-3 small-12 columns">'+
'<select class="provision_quota_select">'+
'<option value="edit">'+tr("Manual")+'</option>'+
'<option value="unlimited">'+tr("Unlimited")+'</option>'+
'<option value="default">'+tr("Default")+'</option>'+
'</select>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_edit">'+
'<div class="row collapse">'+
'<div class="small-9 columns">'+
'<div class="range-slider radius provision_memory_quota_slider" data-slider data-options="start: 0; 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 class="medium-9 small-12 columns provision_quota_unlimited" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Unlimited. Group quotas will still apply")+
'</span>'+
'</div>'+
'<div class="medium-9 small-12 columns provision_quota_default" style="display:none">'+
'<span style="font-size: 18px; color: #999">'+
tr("Use the default system quotas set by the cloud adminstrator")+
'</span>'+
'</div>'+
'</div>'+
provision_quota_widget+
'</div>'+
'</div>'+
'</div>'+
@ -1855,36 +1977,10 @@ var povision_actions = {
if ( $("div#provision_create_user_manual_quota",
$("#provision_create_user")).hasClass("active") ){
function retrieve_quota(select, input){
switch(select.val()) {
case "edit":
return input.val();
case "default":
return QUOTA_LIMIT_DEFAULT;
case "unlimited":
return QUOTA_LIMIT_UNLIMITED;
}
}
quota_json = retrieve_provision_quota_widget($("#provision_create_user"));
var vms_limit = retrieve_quota(
$(".provision_rvms_quota select.provision_quota_select"),
$(".provision_rvms_quota_input"));
var cpu_limit = retrieve_quota(
$(".provision_cpu_quota select.provision_quota_select"),
$(".provision_cpu_quota_input"));
var mem_limit = retrieve_quota(
$(".provision_memory_quota select.provision_quota_select"),
$(".provision_memory_quota_input"));
Sunstone.runAction("Provision.User.set_quota", [response.USER.ID], {
"VM" : {
"VOLATILE_SIZE": QUOTA_LIMIT_DEFAULT,
"VMS": vms_limit,
"MEMORY": mem_limit,
"CPU": cpu_limit}
});
Sunstone.runAction("Provision.User.set_quota",
[response.USER.ID], quota_json);
} else {
clear_provision_create_user();
}
@ -5465,108 +5561,7 @@ function setup_provision_user_info(context) {
context.on("click", ".provision_vdc_user_quota_confirm_button", function(){
$(".provision_vdc_user_confirm_action", context).html(
'<div data-alert class="alert-box secondary radius">'+
'<div class="row">'+
'<div class="large-10 large-centered columns">'+
'<dl class="tabs text-center" data-tab style="width: 100%">'+
'<dd class="active" style="width: 50%;"><a style="padding: 0.5rem 1rem" href="#provision_edit_user_default_quota">'+ tr("Default") +'</a></dd>'+
'<dd style="width: 50%;"><a style="padding: 0.5rem 1rem" href="#provision_edit_user_manual_quota">'+ tr("Manual") +'</a></dd>'+
'</dl>'+
'<div class="tabs-content">'+
'<div class="content active" id="provision_edit_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="content" id="provision_edit_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 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_vdc_info_slider" data-slider data-options="start: 0; 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_rvms_quota_vdc_info_input provision-input" style="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_vdc_info_slider" data-slider data-options="start: 0; 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_cpu_quota_vdc_info_input provision-input" style="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_vdc_info_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_vdc_info_slider" data-slider data-options="start: 0; 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_memory_quota_vdc_info_tmp_input provision-input" style="height: 40px !important; font-size: 16px; padding: 0.5rem !important;"/>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
provision_quota_widget+
'<br>'+
'<br>'+
'<div class="row">'+
@ -5577,47 +5572,7 @@ function setup_provision_user_info(context) {
'<a href="#" class="close" style="top: 20px">&times;</a>'+
'</div>');
var provision_rvms_quota_vdc_info_input = $(".provision_rvms_quota_vdc_info_input", context);
$( ".provision_rvms_quota_vdc_info_slider", context).on('change', function(){
provision_rvms_quota_vdc_info_input.val($(this).attr('data-slider'))
});
provision_rvms_quota_vdc_info_input.change(function() {
$( ".provision_rvms_quota_vdc_info_slider", context).foundation('slider', 'set_value', this.value);
});
var provision_cpu_quota_vdc_info_input = $(".provision_cpu_quota_vdc_info_input", context);
$( ".provision_cpu_quota_vdc_info_slider", context).on('change', function(){
provision_cpu_quota_vdc_info_input.val($(this).attr('data-slider'))
});
provision_cpu_quota_vdc_info_input.change(function() {
$( ".provision_cpu_quota_vdc_info_slider", context).foundation('slider', 'set_value', this.value);
});
var provision_memory_quota_vdc_info_input = $(".provision_memory_quota_vdc_info_input", context);
var provision_memory_quota_vdc_info_tmp_input = $(".provision_memory_quota_vdc_info_tmp_input", context);
var update_final_memory_input = function() {
var value = provision_memory_quota_vdc_info_tmp_input.val();
if (value > 0) {
provision_memory_quota_vdc_info_input.val( Math.floor(value * 1024) );
} else {
provision_memory_quota_vdc_info_input.val(value);
}
}
$( ".provision_memory_quota_vdc_info_slider", context).on('change', function(){
provision_memory_quota_vdc_info_tmp_input.val($(this).attr('data-slider'));
update_final_memory_input();
});
provision_memory_quota_vdc_info_tmp_input.on("change", function() {
update_final_memory_input();
$( ".provision_memory_quota_vdc_info_slider", context).foundation('slider', 'set_value', this.value);
});
setup_provision_quota_widget(context);
$(document).foundation();
@ -5625,22 +5580,54 @@ function setup_provision_user_info(context) {
if (quotas_str) {
var quotas = JSON.parse(quotas_str);
if ( quotas.VM != undefined &&
( quotas.VM.VMS != QUOTA_LIMIT_DEFAULT ||
quotas.VM.CPU != QUOTA_LIMIT_DEFAULT ||
quotas.VM.MEMORY != QUOTA_LIMIT_DEFAULT)
) {
var vms_limit = QUOTA_LIMIT_DEFAULT;
var cpu_limit = QUOTA_LIMIT_DEFAULT;
var mem_limit = QUOTA_LIMIT_DEFAULT;
$("a[href='#provision_edit_user_manual_quota'").click();
if ( quotas.VM != undefined ){
vms_limit = quotas.VM.VMS;
cpu_limit = quotas.VM.CPU;
mem_limit = quotas.VM.MEMORY;
var rvms_quotas = (quotas.VM.VMS == QUOTA_LIMIT_UNLIMITED ? "" : quotas.VM.VMS)
var cpu_quotas = (quotas.VM.CPU == QUOTA_LIMIT_UNLIMITED ? "" : quotas.VM.CPU)
var memory_quotas = (quotas.VM.MEMORY == QUOTA_LIMIT_UNLIMITED ? "" : Math.floor(quotas.VM.MEMORY/1024))
if(mem_limit != QUOTA_LIMIT_UNLIMITED &&
mem_limit != QUOTA_LIMIT_DEFAULT){
provision_rvms_quota_vdc_info_input.val(rvms_quotas).change();
provision_cpu_quota_vdc_info_input.val(cpu_quotas).change();
provision_memory_quota_vdc_info_tmp_input.val(memory_quotas).change();
mem_limit = Math.floor(quotas.VM.MEMORY/1024);
}
}
var fill_limits = function(limit, select, input){
switch(limit){
case QUOTA_LIMIT_DEFAULT:
select.val('default').change();
input.val('').change();
break;
case QUOTA_LIMIT_UNLIMITED:
select.val('unlimited').change();
input.val('').change();
break;
default:
select.val('edit').change();
input.val(limit).change();
}
}
fill_limits(
vms_limit,
$("div.provision_rvms_quota select.provision_quota_select", context),
$(".provision_rvms_quota_input", context) );
fill_limits(
cpu_limit,
$("div.provision_cpu_quota select.provision_quota_select", context),
$(".provision_cpu_quota_input", context) );
fill_limits(
mem_limit,
$("div.provision_memory_quota select.provision_quota_select", context),
$(".provision_memory_quota_tmp_input", context) );
}
});
@ -5669,26 +5656,12 @@ function setup_provision_user_info(context) {
button.attr("disabled", "disabled");
var user_id = $(".provision_info_vdc_user", context).attr("opennebula_id");
var vms_limit = QUOTA_LIMIT_DEFAULT;
var mem_limit = QUOTA_LIMIT_DEFAULT;
var cpu_limit = QUOTA_LIMIT_DEFAULT;
if ($("div#provision_edit_user_manual_quota",context).hasClass("active") ){
vms_limit = $(".provision_rvms_quota_vdc_info_input", context).val()||QUOTA_LIMIT_UNLIMITED;
mem_limit = $(".provision_memory_quota_vdc_info_input", context).val()||QUOTA_LIMIT_UNLIMITED;
cpu_limit = $(".provision_cpu_quota_vdc_info_input", context).val()||QUOTA_LIMIT_UNLIMITED;
}
quota_json = retrieve_provision_quota_widget(context);
OpenNebula.User.set_quota({
data : {
id: user_id,
extra_param: {
"VM" : {
"VOLATILE_SIZE": QUOTA_LIMIT_DEFAULT,
"VMS": vms_limit,
"MEMORY": mem_limit,
"CPU": cpu_limit}
}
extra_param: quota_json
},
success: function(request, response){
update_provision_vdc_user_info(user_id, context);
@ -5896,12 +5869,7 @@ function clear_provision_create_user(){
$("#password", context).val('');
$("#repeat_password", context).val('');
$("select.provision_quota_select", context).val('edit').change();
$(".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('');
reset_provision_quota_widget(context);
$(".alert-box-error", context).hide();
$(".alert-box-error", context).html("");
@ -6725,77 +6693,7 @@ $(document).ready(function(){
var context = $("#provision_create_user");
// Mode selector, for the 3 sliders
$("select.provision_quota_select", context).on('change', function(){
var row = $(this).closest(".row");
switch($(this).val()) {
case "edit":
$("div.provision_quota_edit", row).show();
$("div.provision_quota_default", row).hide();
$("div.provision_quota_unlimited", row).hide();
break;
case "default":
$("div.provision_quota_edit", row).hide();
$("div.provision_quota_default", row).show();
$("div.provision_quota_unlimited", row).hide();
break;
case "unlimited":
$("div.provision_quota_edit", row).hide();
$("div.provision_quota_default", row).hide();
$("div.provision_quota_unlimited", row).show();
break;
}
return false;
});
var provision_rvms_quota_input = $(".provision_rvms_quota_input", context);
$( ".provision_rvms_quota_slider", context).on('change', function(){
provision_rvms_quota_input.val($(this).attr('data-slider'))
});
provision_rvms_quota_input.change(function() {
$( ".provision_rvms_quota_slider", context).foundation('slider', 'set_value', this.value);
});
var provision_cpu_quota_input = $(".provision_cpu_quota_input", context);
$( ".provision_cpu_quota_slider", context).on('change', function(){
provision_cpu_quota_input.val($(this).attr('data-slider'))
});
provision_cpu_quota_input.change(function() {
$( ".provision_cpu_quota_slider", context).foundation('slider', 'set_value', this.value);
});
var provision_memory_quota_input = $(".provision_memory_quota_input", context);
var provision_memory_quota_tmp_input = $(".provision_memory_quota_tmp_input", context);
var update_final_memory_input = function() {
var value = provision_memory_quota_tmp_input.val();
if (value > 0) {
provision_memory_quota_input.val( Math.floor(value * 1024) );
} else {
provision_memory_quota_input.val(value);
}
}
$( ".provision_memory_quota_slider", context).on('change', function(){
provision_memory_quota_tmp_input.val($(this).attr('data-slider'));
update_final_memory_input();
});
provision_memory_quota_tmp_input.change(function() {
update_final_memory_input();
$( ".provision_memory_quota_slider", context).foundation('slider', 'set_value', this.value);
});
setup_provision_quota_widget(context);
$("#provision_create_user").submit(function(){
var context = $(this);