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"> <data name="ERROR.RDSLOCALADMINS_NOT_ADDED" xml:space="preserve">
<value>Local admins not added</value> <value>Local admins not added</value>
</data> </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"> <data name="ERROR.REMOTE_DESKTOP_SERVICES_LOG_OFF_USER" xml:space="preserve">
<value>RDS User logging off error</value> <value>RDS User logging off error</value>
</data> </data>

View file

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

View file

@ -48,7 +48,9 @@ namespace WebsitePanel.Portal.RDS
users.OnRefreshClicked += OnRefreshClicked; users.OnRefreshClicked += OnRefreshClicked;
if (!IsPostBack) if (!IsPostBack)
{ {
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
litCollectionName.Text = collection.DisplayName;
BindQuota(); BindQuota();
users.BindUsers(); users.BindUsers();
} }
@ -77,6 +79,12 @@ namespace WebsitePanel.Portal.RDS
private void OnRefreshClicked(object sender, EventArgs e) private void OnRefreshClicked(object sender, EventArgs e)
{ {
((ModalPopupExtender)asyncTasks.FindControl("ModalPopupProperties")).Hide(); ((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() private bool SaveRdsUsers()

View file

@ -48,6 +48,15 @@ namespace WebsitePanel.Portal.RDS {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Literal litCollectionName; 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> /// <summary>
/// messageBox control. /// messageBox control.
/// </summary> /// </summary>

View file

@ -101,16 +101,26 @@ namespace WebsitePanel.Portal.RDS.UserControls
protected void btnDelete_Click(object sender, EventArgs e) 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);
}
if (OnRefreshClicked != null)
{
OnRefreshClicked(lockedUsers, new EventArgs());
}
}
else
{ {
List<OrganizationUser> selectedAccounts = GetGridViewUsers(SelectedState.Unselected); List<OrganizationUser> selectedAccounts = GetGridViewUsers(SelectedState.Unselected);
BindAccounts(selectedAccounts.ToArray(), false); BindAccounts(selectedAccounts.ToArray(), false);
} }
if (OnRefreshClicked != null)
{
OnRefreshClicked(sender, new EventArgs());
}
} }
protected void btnAddSelected_Click(object sender, EventArgs e) protected void btnAddSelected_Click(object sender, EventArgs e)
@ -142,8 +152,8 @@ namespace WebsitePanel.Portal.RDS.UserControls
return GetThemedImage("Exchange/" + imgName); return GetThemedImage("Exchange/" + imgName);
} }
public bool CheckDeletedUsers() public List<string> CheckDeletedUsers()
{ {
var rdsUsers = GetGridViewUsers(SelectedState.Selected); var rdsUsers = GetGridViewUsers(SelectedState.Selected);
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID); var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
var organizationUsers = ES.Services.Organizations.GetOrganizationUsersPaged(PanelRequest.ItemID, null, null, null, 0, Int32.MaxValue).PageUsers; var organizationUsers = ES.Services.Organizations.GetOrganizationUsersPaged(PanelRequest.ItemID, null, null, null, 0, Int32.MaxValue).PageUsers;
@ -155,17 +165,9 @@ namespace WebsitePanel.Portal.RDS.UserControls
deletedUsers.AddRange(rdsUsers.Where(r => localAdmins.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower()))); deletedUsers.AddRange(rdsUsers.Where(r => localAdmins.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower())));
remoteAppUsers = remoteAppUsers.Where(r => !localAdmins.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower())); remoteAppUsers = remoteAppUsers.Where(r => !localAdmins.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower()));
deletedUsers.AddRange(rdsUsers.Where(r => remoteAppUsers.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower()))); deletedUsers.AddRange(rdsUsers.Where(r => remoteAppUsers.Select(l => l.AccountName.ToLower()).Contains(r.AccountName.ToLower())));
deletedUsers = deletedUsers.Distinct().ToList(); deletedUsers = deletedUsers.Distinct().ToList();
if (deletedUsers.Any()) return deletedUsers.Select(d => d.DisplayName).ToList();
{
ltUsers.Text = string.Join("<br/>", deletedUsers.Select(d => d.DisplayName));
DeleteWarningModal.Show();
return false;
}
return true;
} }
public void BindUsers() public void BindUsers()