Alert (not popup) after checking RDS users
This commit is contained in:
parent
10bd8fe654
commit
2b51465900
5 changed files with 46 additions and 20 deletions
|
@ -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>
|
||||||
|
|
|
@ -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="">
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue