mirror of https://github.com/apache/cloudstack.git
Account page - implement Add User dialog (which is different from Add Account Dialog)
This commit is contained in:
parent
c2ada1d8d8
commit
88d0ab4d54
|
|
@ -337,7 +337,7 @@
|
|||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Add User Dialog (begin)-->
|
||||
<!-- Add Account Dialog (begin)-->
|
||||
<div id="dialog_add_account" title="Add New Account" style="display: none">
|
||||
<div class="dialog_formcontent">
|
||||
<form action="#" method="post" id="form_acquire">
|
||||
|
|
@ -469,6 +469,137 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Add Account Dialog (end)-->
|
||||
|
||||
<!-- Add User Dialog (begin)-->
|
||||
<div id="dialog_add_user" title="Add New User" style="display: none">
|
||||
<p>
|
||||
Add a new user under account <b><span id="account_name"></span></b>
|
||||
</p>
|
||||
<div class="dialog_formcontent">
|
||||
<form action="#" method="post" id="form_acquire">
|
||||
<ol>
|
||||
<li>
|
||||
<label for="add_user_username">
|
||||
User name:</label>
|
||||
<input class="text" type="text" id="add_user_username" />
|
||||
<div id="add_user_username_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="add_user_password">
|
||||
Password:</label>
|
||||
<input class="text" type="password" id="add_user_password"
|
||||
autocomplete="off" />
|
||||
<div id="add_user_password_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="add_user_email">
|
||||
Email:</label>
|
||||
<input class="text" type="text" id="add_user_email" />
|
||||
<div id="add_user_email_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="add_user_firstname">
|
||||
First name:</label>
|
||||
<input class="text" type="text" id="add_user_firstname" />
|
||||
<div id="add_user_firstname_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="add_user_lastname">
|
||||
Last name:</label>
|
||||
<input class="text" type="text" id="add_user_lastname" />
|
||||
<div id="add_user_lastname_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="add_user_timezone">
|
||||
Time Zone:</label>
|
||||
<select class="select" id="add_user_timezone" style="width: 240px">
|
||||
<option value=""></option>
|
||||
<option value='Etc/GMT+12'>[UTC-12:00] GMT-12:00</option>
|
||||
<option value='Etc/GMT+11'>[UTC-11:00] GMT-11:00</option>
|
||||
<option value='Pacific/Samoa'>[UTC-11:00] Samoa Standard Time</option>
|
||||
<option value='Pacific/Honolulu'>[UTC-10:00] Hawaii Standard Time</option>
|
||||
<option value='US/Alaska'>[UTC-09:00] Alaska Standard Time</option>
|
||||
<option value='America/Los_Angeles'>[UTC-08:00] Pacific Standard Time</option>
|
||||
<option value='Mexico/BajaNorte'>[UTC-08:00] Baja California</option>
|
||||
<option value='US/Arizona'>[UTC-07:00] Arizona</option>
|
||||
<option value='US/Mountain'>[UTC-07:00] Mountain Standard Time</option>
|
||||
<option value='America/Chihuahua'>[UTC-07:00] Chihuahua, La Paz</option>
|
||||
<option value='America/Chicago'>[UTC-06:00] Central Standard Time</option>
|
||||
<option value='America/Costa_Rica'>[UTC-06:00] Central America</option>
|
||||
<option value='America/Mexico_City'>[UTC-06:00] Mexico City, Monterrey</option>
|
||||
<option value='Canada/Saskatchewan'>[UTC-06:00] Saskatchewan</option>
|
||||
<option value='America/Bogota'>[UTC-05:00] Bogota, Lima</option>
|
||||
<option value='America/New_York'>[UTC-05:00] Eastern Standard Time</option>
|
||||
<option value='America/Caracas'>[UTC-04:00] Venezuela Time</option>
|
||||
<option value='America/Asuncion'>[UTC-04:00] Paraguay Time</option>
|
||||
<option value='America/Cuiaba'>[UTC-04:00] Amazon Time</option>
|
||||
<option value='America/Halifax'>[UTC-04:00] Atlantic Standard Time</option>
|
||||
<option value='America/La_Paz'>[UTC-04:00] Bolivia Time</option>
|
||||
<option value='America/Santiago'>[UTC-04:00] Chile Time</option>
|
||||
<option value='America/St_Johns'>[UTC-03:30] Newfoundland Standard Time</option>
|
||||
<option value='America/Araguaina'>[UTC-03:00] Brasilia Time</option>
|
||||
<option value='America/Argentina/Buenos_Aires'>[UTC-03:00] Argentine Time</option>
|
||||
<option value='America/Cayenne'>[UTC-03:00] French Guiana Time</option>
|
||||
<option value='America/Godthab'>[UTC-03:00] Greenland Time</option>
|
||||
<option value='America/Montevideo'>[UTC-03:00] Uruguay Time]</option>
|
||||
<option value='Etc/GMT+2'>[UTC-02:00] GMT-02:00</option>
|
||||
<option value='Atlantic/Azores'>[UTC-01:00] Azores Time</option>
|
||||
<option value='Atlantic/Cape_Verde'>[UTC-01:00] Cape Verde Time</option>
|
||||
<option value='Africa/Casablanca'>[UTC] Casablanca</option>
|
||||
<option value='Etc/UTC'>[UTC] Coordinated Universal Time</option>
|
||||
<option value='Atlantic/Reykjavik'>[UTC] Reykjavik</option>
|
||||
<option value='Europe/London'>[UTC] Western European Time</option>
|
||||
<option value='CET'>[UTC+01:00] Central European Time</option>
|
||||
<option value='Europe/Bucharest'>[UTC+02:00] Eastern European Time</option>
|
||||
<option value='Africa/Johannesburg'>[UTC+02:00] South Africa Standard Time</option>
|
||||
<option value='Asia/Beirut'>[UTC+02:00] Beirut</option>
|
||||
<option value='Africa/Cairo'>[UTC+02:00] Cairo</option>
|
||||
<option value='Asia/Jerusalem'>[UTC+02:00] Israel Standard Time</option>
|
||||
<option value='Europe/Minsk'>[UTC+02:00] Minsk</option>
|
||||
<option value='Europe/Moscow'>[UTC+03:00] Moscow Standard Time</option>
|
||||
<option value='Africa/Nairobi'>[UTC+03:00] Eastern African Time</option>
|
||||
<option value='Asia/Karachi'>[UTC+05:00] Pakistan Time</option>
|
||||
<option value='Asia/Kolkata'>[UTC+05:30] India Standard Time</option>
|
||||
<option value='Asia/Bangkok'>[UTC+05:30] Indochina Time</option>
|
||||
<option value='Asia/Shanghai'>[UTC+08:00] China Standard Time</option>
|
||||
<option value='Asia/Kuala_Lumpur'>[UTC+08:00] Malaysia Time</option>
|
||||
<option value='Australia/Perth'>[UTC+08:00] Western Standard Time (Australia)</option>
|
||||
<option value='Asia/Taipei'>[UTC+08:00] Taiwan</option>
|
||||
<option value='Asia/Tokyo'>[UTC+09:00] Japan Standard Time</option>
|
||||
<option value='Asia/Seoul'>[UTC+09:00] Korea Standard Time</option>
|
||||
<option value='Australia/Adelaide'>[UTC+09:30] Central Standard Time (South Australia)</option>
|
||||
<option value='Australia/Darwin'>[UTC+09:30] Central Standard Time (Northern Territory)</option>
|
||||
<option value='Australia/Brisbane'>[UTC+10:00] Eastern Standard Time (Queensland)</option>
|
||||
<option value='Australia/Canberra'>[UTC+10:00] Eastern Standard Time (New South Wales)</option>
|
||||
<option value='Pacific/Guam'>[UTC+10:00] Chamorro Standard Time</option>
|
||||
<option value='Pacific/Auckland'>[UTC+12:00] New Zealand Standard Time</option>
|
||||
</select>
|
||||
</li>
|
||||
</ol>
|
||||
</form>
|
||||
</div>
|
||||
<!--Loading box-->
|
||||
<div id="spinning_wheel" class="ui_dialog_loaderbox" style="display: none;">
|
||||
<div class="ui_dialog_loader">
|
||||
</div>
|
||||
<p>
|
||||
Adding....</p>
|
||||
</div>
|
||||
<!--Confirmation msg box-->
|
||||
<!--Note: for error msg, just have to add error besides everything for eg. add error(class) next to ui_dialog_messagebox error, ui_dialog_msgicon error, ui_dialog_messagebox_text error. -->
|
||||
<div id="info_container" class="ui_dialog_messagebox error" style="display: none;">
|
||||
<div id="icon" class="ui_dialog_msgicon error">
|
||||
</div>
|
||||
<div id="info" class="ui_dialog_messagebox_text error">
|
||||
(info)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Add User Dialog (end)-->
|
||||
<!-- dialogs (end) -->
|
||||
|
||||
|
|
|
|||
|
|
@ -55,11 +55,7 @@ function afterLoadAccountJSP() {
|
|||
var afterSwitchFnArray = [accountJsonToDetailsTab, accountJsonToUserTab];
|
||||
switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
|
||||
|
||||
initTimezonesObj();
|
||||
|
||||
if(isAdmin()) {
|
||||
initAddUserDialog();
|
||||
}
|
||||
initTimezonesObj();
|
||||
}
|
||||
|
||||
function initTimezonesObj() {
|
||||
|
|
@ -125,8 +121,7 @@ function initTimezonesObj() {
|
|||
timezones['Pacific/Auckland']='[UTC+12:00] New Zealand Standard Time';
|
||||
}
|
||||
|
||||
function initAddUserDialog() {
|
||||
//dialogs
|
||||
function initAddAccountDialog() {
|
||||
initDialog("dialog_add_account", 450);
|
||||
|
||||
var $dialogAddAccount = $("#dialog_add_account");
|
||||
|
|
@ -242,6 +237,104 @@ function initAddUserDialog() {
|
|||
});
|
||||
}
|
||||
|
||||
function initAddUserDialog() {
|
||||
initDialog("dialog_add_user", 450);
|
||||
|
||||
var $dialogAddUser = $("#dialog_add_user");
|
||||
|
||||
//add button ***
|
||||
$("#midmenu_add_link").find("#label").text("Add User");
|
||||
$("#midmenu_add_link").show();
|
||||
$("#midmenu_add_link").unbind("click").bind("click", function(event) {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var accountObj = $midmenuItem1.data("jsonObj");
|
||||
if(accountObj == null)
|
||||
return;
|
||||
|
||||
$dialogAddUser.find("#account_name").text(accountObj.name);
|
||||
|
||||
$dialogAddUser
|
||||
.dialog('option', 'buttons', {
|
||||
"Create": function() {
|
||||
var $thisDialog = $(this);
|
||||
// validate values
|
||||
var isValid = true;
|
||||
isValid &= validateString("User name", $thisDialog.find("#add_user_username"), $thisDialog.find("#add_user_username_errormsg"), false); //required
|
||||
isValid &= validateString("Password", $thisDialog.find("#add_user_password"), $thisDialog.find("#add_user_password_errormsg"), false); //required
|
||||
isValid &= validateString("Email", $thisDialog.find("#add_user_email"), $thisDialog.find("#add_user_email_errormsg"), true); //optional
|
||||
isValid &= validateString("First name", $thisDialog.find("#add_user_firstname"), $thisDialog.find("#add_user_firstname_errormsg"), true); //optional
|
||||
isValid &= validateString("Last name", $thisDialog.find("#add_user_lastname"), $thisDialog.find("#add_user_lastname_errormsg"), true); //optional
|
||||
if (!isValid)
|
||||
return;
|
||||
|
||||
$thisDialog.find("#spinning_wheel").show();
|
||||
|
||||
var array1 = [];
|
||||
var username = $thisDialog.find("#add_user_username").val();
|
||||
array1.push("&username="+todb(username));
|
||||
|
||||
var password = $.md5(encodeURIComponent($thisDialog.find("#add_user_password").val()));
|
||||
array1.push("&password="+password);
|
||||
|
||||
var email = $thisDialog.find("#add_user_email").val();
|
||||
if(email == "")
|
||||
email = username;
|
||||
array1.push("&email="+todb(email));
|
||||
|
||||
var firstname = $thisDialog.find("#add_user_firstname").val();
|
||||
if(firstname == "")
|
||||
firstname = username;
|
||||
array1.push("&firstname="+todb(firstname));
|
||||
|
||||
var lastname = $thisDialog.find("#add_user_lastname").val();
|
||||
if(lastname == "")
|
||||
lastname = username;
|
||||
array1.push("&lastname="+todb(lastname));
|
||||
|
||||
array1.push("&domainid="+accountObj.domainid);
|
||||
array1.push("&account="+accountObj.name);
|
||||
array1.push("&accounttype="+accountObj.accounttype);
|
||||
|
||||
var timezone = $thisDialog.find("#add_user_timezone").val();
|
||||
if(timezone != null && timezone.length > 0)
|
||||
array1.push("&timezone="+todb(timezone));
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
data: createURL("command=createUser"+array1.join("")),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
$thisDialog.find("#spinning_wheel").hide();
|
||||
$thisDialog.dialog("close");
|
||||
|
||||
var item = json.createuserresponse.user;
|
||||
|
||||
var $subgridItem = $("#user_tab_template").clone(true);
|
||||
accountUserJSONToTemplate(item, $subgridItem);
|
||||
$subgridItem.find("#after_action_info").text("User was added successfully.");
|
||||
$subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
|
||||
$("#tab_content_user").find("#tab_container").append($subgridItem.show());
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
handleError(XMLHttpResponse, function() {
|
||||
handleErrorInDialog(XMLHttpResponse, $thisDialog);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
"Cancel": function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}).dialog("open");
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
function accountToMidmenu(jsonObj, $midmenuItem1) {
|
||||
$midmenuItem1.attr("id", getMidmenuId(jsonObj));
|
||||
$midmenuItem1.data("jsonObj", jsonObj);
|
||||
|
|
@ -272,9 +365,11 @@ function accountJsonToDetailsTab() {
|
|||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
if(isAdmin())
|
||||
initAddAccountDialog();
|
||||
|
||||
var $detailsTab = $("#right_panel_content").find("#tab_content_details");
|
||||
|
||||
var $detailsTab = $("#right_panel_content").find("#tab_content_details");
|
||||
$detailsTab.find("#grid_header_title").text(fromdb(jsonObj.name));
|
||||
$detailsTab.find("#id").text(fromdb(jsonObj.id));
|
||||
$detailsTab.find("#role").text(toRole(jsonObj.accounttype));
|
||||
|
|
@ -322,6 +417,9 @@ function accountJsonToUserTab() {
|
|||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
if(isAdmin())
|
||||
initAddUserDialog();
|
||||
|
||||
var $thisTab = $("#right_panel_content").find("#tab_content_user");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
|
|
|
|||
|
|
@ -535,7 +535,7 @@ function initAddSecondaryStorageButton($button, $leftmenuItem1) {
|
|||
if (!isValid)
|
||||
return;
|
||||
|
||||
$thisDialog.find("#spinning_wheel").show()
|
||||
$thisDialog.find("#spinning_wheel").show();
|
||||
|
||||
var zoneId = zoneObj.id;
|
||||
var nfs_server = trim($thisDialog.find("#nfs_server").val());
|
||||
|
|
|
|||
Loading…
Reference in New Issue