From 4b98dd7a06bb4be3bddfe0458910093d321b6303 Mon Sep 17 00:00:00 2001 From: Daniel Molina Date: Thu, 8 May 2014 12:51:09 +0200 Subject: [PATCH] feature #2854: Define quotas on user creation --- .../public/js/plugins/provision-tab.js | 71 +++++++++++++------ 1 file changed, 48 insertions(+), 23 deletions(-) diff --git a/src/sunstone/public/js/plugins/provision-tab.js b/src/sunstone/public/js/plugins/provision-tab.js index 53cb244617..70af42aab5 100644 --- a/src/sunstone/public/js/plugins/provision-tab.js +++ b/src/sunstone/public/js/plugins/provision-tab.js @@ -334,7 +334,8 @@ var provision_user_info = ''+ ''+ @@ -816,8 +817,16 @@ if (Config.isTabPanelEnabled("provision-tab", "users")) { var provision_header = ''+ ''+ - ''+ + '' var provision_tab = { list_header: provision_header, @@ -901,14 +893,36 @@ var povision_actions = { "Provision.User.create" : { type: "create", call: OpenNebula.User.create, - callback: function() { + callback: function(request, response) { + + Sunstone.runAction("Provision.User.set_quota", [response.USER.ID], { + "VM" : { + "VOLATILE_SIZE":"-1", + "VMS": $("#provision_rvms_quota_input").val()||0, + "MEMORY": $("#provision_memory_quota_input").val()||0, + "CPU": $("#provision_cpu_quota_input").val()||0} + }); + }, + error: onError + }, + + "Provision.User.set_quota" : { + 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").val(''); + $("#provision_memory_quota_input").val(''); + $("#provision_memory_quota_tmp_input").val(''); + $("#provision_cpu_quota_input").val(''); $("#repeat_password", context).val(''); $(".alert-box-error", context).hide(); + $(".alert-box-error", context).html(""); }, error: onError }, @@ -2639,6 +2653,17 @@ $(document).ready(function(){ }; Sunstone.runAction("Provision.User.create",user_json); + $(".alert-box-error", context).html('
'+ + ''+ + ''+ + ''+ + ''+ + '
'+ + '
'+ + ''+ + ''+ + '
'); + return false; });