Alert (not popup) after checking RDS users

This commit is contained in:
vfedosevich 2015-05-27 03:07:33 -07:00
parent 10bd8fe654
commit 2b51465900
5 changed files with 46 additions and 20 deletions

View file

@ -5850,6 +5850,9 @@
<data name="ERROR.RDSLOCALADMINS_NOT_ADDED" xml:space="preserve">
<value>Local admins not added</value>
</data>
<data name="ERROR.RDS_USERS_NOT_DELETED" xml:space="preserve">
<value>Unable to remove the following user(s) since they are local admins or they were granted access to remote applications:</value>
</data>
<data name="ERROR.REMOTE_DESKTOP_SERVICES_LOG_OFF_USER" xml:space="preserve">
<value>RDS User logging off error</value>
</data>

View file

@ -23,7 +23,11 @@
<asp:Literal ID="litCollectionName" runat="server" Text="" />
</div>
<div class="FormContentRDS">
<asp:UpdatePanel runat="server" ID="messageUpdatePanel">
<ContentTemplate>
<wsp:SimpleMessageBox id="messageBox" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_collection_edit_users" />
<wsp:CollapsiblePanel id="secRdsUsers" runat="server"
TargetControlID="panelRdsUsers" meta:resourcekey="secRdsUsers" Text="">

View file

@ -49,6 +49,8 @@ namespace WebsitePanel.Portal.RDS
if (!IsPostBack)
{
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
litCollectionName.Text = collection.DisplayName;
BindQuota();
users.BindUsers();
}
@ -77,6 +79,12 @@ namespace WebsitePanel.Portal.RDS
private void OnRefreshClicked(object sender, EventArgs e)
{
((ModalPopupExtender)asyncTasks.FindControl("ModalPopupProperties")).Hide();
var users = (List<string>)sender;
if (users.Any())
{
messageBox.ShowErrorMessage("RDS_USERS_NOT_DELETED", new Exception(string.Join(", ", users)));
}
}
private bool SaveRdsUsers()

View file

@ -48,6 +48,15 @@ namespace WebsitePanel.Portal.RDS {
/// </remarks>
protected global::System.Web.UI.WebControls.Literal litCollectionName;
/// <summary>
/// messageUpdatePanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel messageUpdatePanel;
/// <summary>
/// messageBox control.
/// </summary>

View file

@ -101,7 +101,11 @@ namespace WebsitePanel.Portal.RDS.UserControls
protected void btnDelete_Click(object sender, EventArgs e)
{
if (CheckDeletedUsers())
if (PanelRequest.Ctl == "rds_collection_edit_users")
{
var lockedUsers = CheckDeletedUsers();
if (!lockedUsers.Any())
{
List<OrganizationUser> selectedAccounts = GetGridViewUsers(SelectedState.Unselected);
BindAccounts(selectedAccounts.ToArray(), false);
@ -109,7 +113,13 @@ namespace WebsitePanel.Portal.RDS.UserControls
if (OnRefreshClicked != null)
{
OnRefreshClicked(sender, new EventArgs());
OnRefreshClicked(lockedUsers, new EventArgs());
}
}
else
{
List<OrganizationUser> selectedAccounts = GetGridViewUsers(SelectedState.Unselected);
BindAccounts(selectedAccounts.ToArray(), false);
}
}
@ -142,7 +152,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
return GetThemedImage("Exchange/" + imgName);
}
public bool CheckDeletedUsers()
public List<string> CheckDeletedUsers()
{
var rdsUsers = GetGridViewUsers(SelectedState.Selected);
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
@ -157,15 +167,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
deletedUsers.AddRange(rdsUsers.Where(r => remoteAppUsers.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower())));
deletedUsers = deletedUsers.Distinct().ToList();
if (deletedUsers.Any())
{
ltUsers.Text = string.Join("<br/>", deletedUsers.Select(d => d.DisplayName));
DeleteWarningModal.Show();
return false;
}
return true;
return deletedUsers.Select(d => d.DisplayName).ToList();
}
public void BindUsers()