Check before RDS users delete
This commit is contained in:
parent
bbce2a9916
commit
10bd8fe654
8 changed files with 255 additions and 64 deletions
|
@ -1596,7 +1596,14 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
var rds = RemoteDesktopServicesHelpers.GetRemoteDesktopServices(RemoteDesktopServicesHelpers.GetRemoteDesktopServiceID(org.PackageId));
|
var rds = RemoteDesktopServicesHelpers.GetRemoteDesktopServices(RemoteDesktopServicesHelpers.GetRemoteDesktopServiceID(org.PackageId));
|
||||||
var collection = ObjectUtils.FillObjectFromDataReader<RdsCollection>(DataProvider.GetRDSCollectionById(collectionId));
|
var collection = ObjectUtils.FillObjectFromDataReader<RdsCollection>(DataProvider.GetRDSCollectionById(collectionId));
|
||||||
var users = rds.GetApplicationUsers(collection.Name, remoteApp.Alias);
|
string alias = "";
|
||||||
|
|
||||||
|
if (remoteApp != null)
|
||||||
|
{
|
||||||
|
alias = remoteApp.Alias;
|
||||||
|
}
|
||||||
|
|
||||||
|
var users = rds.GetApplicationUsers(collection.Name, alias);
|
||||||
result.AddRange(users);
|
result.AddRange(users);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -709,7 +709,11 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
Command cmd = new Command("Get-RDRemoteApp");
|
Command cmd = new Command("Get-RDRemoteApp");
|
||||||
cmd.Parameters.Add("CollectionName", collectionName);
|
cmd.Parameters.Add("CollectionName", collectionName);
|
||||||
cmd.Parameters.Add("ConnectionBroker", ConnectionBroker);
|
cmd.Parameters.Add("ConnectionBroker", ConnectionBroker);
|
||||||
cmd.Parameters.Add("Alias", applicationName);
|
|
||||||
|
if (!string.IsNullOrEmpty(applicationName))
|
||||||
|
{
|
||||||
|
cmd.Parameters.Add("Alias", applicationName);
|
||||||
|
}
|
||||||
|
|
||||||
var application = ExecuteShellCommand(runspace, cmd, false).FirstOrDefault();
|
var application = ExecuteShellCommand(runspace, cmd, false).FirstOrDefault();
|
||||||
|
|
||||||
|
|
|
@ -10,42 +10,40 @@
|
||||||
|
|
||||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||||
|
|
||||||
<div id="ExchangeContainer">
|
<div id="ExchangeContainer">
|
||||||
<div class="Module">
|
<div class="Module">
|
||||||
<div class="Left">
|
<div class="Left">
|
||||||
</div>
|
</div>
|
||||||
<div class="Content">
|
<div class="Content">
|
||||||
<div class="Center">
|
<div class="Center">
|
||||||
<div class="Title">
|
<div class="Title">
|
||||||
<asp:Image ID="imgEditRDSCollection" SkinID="EnterpriseStorageSpace48" runat="server" />
|
<asp:Image ID="imgEditRDSCollection" SkinID="EnterpriseStorageSpace48" runat="server" />
|
||||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Edit RDS Collection"></asp:Localize>
|
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Edit RDS Collection"></asp:Localize>
|
||||||
-
|
-
|
||||||
<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" />
|
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||||
<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="">
|
</wsp:CollapsiblePanel>
|
||||||
</wsp:CollapsiblePanel>
|
<asp:Panel runat="server" ID="panelRdsUsers">
|
||||||
|
<div style="padding: 10px;">
|
||||||
<asp:Panel runat="server" ID="panelRdsUsers">
|
<wsp:CollectionUsers id="users" runat="server" />
|
||||||
<div style="padding: 10px;">
|
</div>
|
||||||
<wsp:CollectionUsers id="users" runat="server" />
|
</asp:Panel>
|
||||||
</div>
|
<div>
|
||||||
</asp:Panel>
|
<asp:Localize ID="locQuota" runat="server" meta:resourcekey="locQuota" Text="Users Created:"></asp:Localize>
|
||||||
<div>
|
|
||||||
<asp:Localize ID="locQuota" runat="server" meta:resourcekey="locQuota" Text="Users Created:"></asp:Localize>
|
<wsp:QuotaViewer ID="usersQuota" runat="server" QuotaTypeId="2" DisplayGauge="true" />
|
||||||
|
</div>
|
||||||
<wsp:QuotaViewer ID="usersQuota" runat="server" QuotaTypeId="2" DisplayGauge="true" />
|
<div class="FormFooterClean">
|
||||||
|
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
||||||
|
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="FormFooterClean">
|
</div>
|
||||||
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
</div>
|
||||||
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -26,7 +26,9 @@
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
using AjaxControlToolkit;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.UI.WebControls;
|
using System.Web.UI.WebControls;
|
||||||
using WebsitePanel.EnterpriseServer;
|
using WebsitePanel.EnterpriseServer;
|
||||||
|
@ -41,31 +43,16 @@ namespace WebsitePanel.Portal.RDS
|
||||||
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
users.Module = Module;
|
users.Module = Module;
|
||||||
|
users.OnRefreshClicked -= OnRefreshClicked;
|
||||||
|
users.OnRefreshClicked += OnRefreshClicked;
|
||||||
|
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
BindQuota();
|
BindQuota();
|
||||||
var collectionUsers = ES.Services.RDS.GetRdsCollectionUsers(PanelRequest.CollectionID);
|
users.BindUsers();
|
||||||
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
|
|
||||||
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
|
||||||
|
|
||||||
foreach (var user in collectionUsers)
|
|
||||||
{
|
|
||||||
if (localAdmins.Select(l => l.AccountName).Contains(user.AccountName))
|
|
||||||
{
|
|
||||||
user.IsVIP = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
user.IsVIP = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
litCollectionName.Text = collection.DisplayName;
|
|
||||||
users.SetUsers(collectionUsers);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindQuota()
|
private void BindQuota()
|
||||||
{
|
{
|
||||||
|
@ -87,6 +74,11 @@ namespace WebsitePanel.Portal.RDS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnRefreshClicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
((ModalPopupExtender)asyncTasks.FindControl("ModalPopupProperties")).Hide();
|
||||||
|
}
|
||||||
|
|
||||||
private bool SaveRdsUsers()
|
private bool SaveRdsUsers()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -126,6 +126,9 @@
|
||||||
<data name="btnCancel.Text" xml:space="preserve">
|
<data name="btnCancel.Text" xml:space="preserve">
|
||||||
<value>Cancel</value>
|
<value>Cancel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="btnCancelDeleteWarning.Text" xml:space="preserve">
|
||||||
|
<value>Cancel</value>
|
||||||
|
</data>
|
||||||
<data name="btnDelete.Text" xml:space="preserve">
|
<data name="btnDelete.Text" xml:space="preserve">
|
||||||
<value>Delete</value>
|
<value>Delete</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -153,4 +156,10 @@
|
||||||
<data name="headerAddAccounts.Text" xml:space="preserve">
|
<data name="headerAddAccounts.Text" xml:space="preserve">
|
||||||
<value>Enabled Users</value>
|
<value>Enabled Users</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="headerDeleteWarning.Text" xml:space="preserve">
|
||||||
|
<value>Warning</value>
|
||||||
|
</data>
|
||||||
|
<data name="locDeleteWarning.Text" xml:space="preserve">
|
||||||
|
<value>Unable to remove the following user(s) since they are local admins<br/>or they were granted access to remote applications</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -5,7 +5,7 @@
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="FormButtonsBarClean">
|
<div class="FormButtonsBarClean">
|
||||||
<asp:Button ID="btnAdd" runat="server" Text="Add..." CssClass="Button1" OnClick="btnAdd_Click" meta:resourcekey="btnAdd" />
|
<asp:Button ID="btnAdd" runat="server" Text="Add..." CssClass="Button1" OnClick="btnAdd_Click" meta:resourcekey="btnAdd" />
|
||||||
<asp:Button ID="btnDelete" runat="server" Text="Delete" CssClass="Button1" OnClick="btnDelete_Click" meta:resourcekey="btnDelete"/>
|
<asp:Button ID="btnDelete" runat="server" Text="Delete" CssClass="Button1" OnClick="btnDelete_Click" OnClientClick="ShowProgressDialog('Checking users ...');return true;" meta:resourcekey="btnDelete"/>
|
||||||
</div>
|
</div>
|
||||||
<asp:GridView ID="gvUsers" runat="server" meta:resourcekey="gvUsers" AutoGenerateColumns="False"
|
<asp:GridView ID="gvUsers" runat="server" meta:resourcekey="gvUsers" AutoGenerateColumns="False"
|
||||||
Width="600px" CssSelectorClass="NormalGridView" OnRowCommand="gvUsers_RowCommand"
|
Width="600px" CssSelectorClass="NormalGridView" OnRowCommand="gvUsers_RowCommand"
|
||||||
|
@ -113,6 +113,41 @@
|
||||||
</div>
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
|
||||||
|
<asp:Panel ID="DeleteWarningPanel" runat="server" CssClass="Popup" style="display:none">
|
||||||
|
<table class="Popup-Header" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td class="Popup-HeaderLeft"/>
|
||||||
|
<td class="Popup-HeaderTitle">
|
||||||
|
<asp:Localize ID="lcDeleteWarningHeader" runat="server" meta:resourcekey="headerDeleteWarning"></asp:Localize>
|
||||||
|
</td>
|
||||||
|
<td class="Popup-HeaderRight"/>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="Popup-Content">
|
||||||
|
<div class="Popup-Body">
|
||||||
|
<br />
|
||||||
|
<asp:UpdatePanel ID="deleteWarningUpdatePanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="Popup-Scroll" style="height:auto;">
|
||||||
|
<asp:Panel runat="server" ID="panelDeleteWarning">
|
||||||
|
<asp:Localize runat="server" ID="locDeleteWarning" Text="Unable to remove the following user(s) since they are local admins or<br/>they were granted access to remote applications" />
|
||||||
|
<br/>
|
||||||
|
<asp:Literal runat="server" ID="ltUsers" Text="" />
|
||||||
|
</asp:Panel>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
<div class="FormFooter">
|
||||||
|
<asp:Button ID="btnCancelDeleteWarning" runat="server" CssClass="Button1" meta:resourcekey="btnCancelDeleteWarning" Text="Cancel" CausesValidation="false" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</asp:Panel>
|
||||||
|
<asp:Button ID="btnDeleteWarningFake" runat="server" style="display:none;" />
|
||||||
|
<ajaxToolkit:ModalPopupExtender ID="DeleteWarningModal" runat="server" TargetControlID="btnDeleteWarningFake" PopupControlID="DeleteWarningPanel"
|
||||||
|
BackgroundCssClass="modalBackground" DropShadow="false" CancelControlID="btnCancelDeleteWarning"/>
|
||||||
|
|
||||||
<asp:Button ID="btnAddAccountsFake" runat="server" style="display:none;" />
|
<asp:Button ID="btnAddAccountsFake" runat="server" style="display:none;" />
|
||||||
<ajaxToolkit:ModalPopupExtender ID="AddAccountsModal" runat="server"
|
<ajaxToolkit:ModalPopupExtender ID="AddAccountsModal" runat="server"
|
||||||
TargetControlID="btnAddAccountsFake" PopupControlID="AddAccountsPanel"
|
TargetControlID="btnAddAccountsFake" PopupControlID="AddAccountsPanel"
|
||||||
|
|
|
@ -41,6 +41,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
||||||
public partial class RDSCollectionUsers : WebsitePanelControlBase
|
public partial class RDSCollectionUsers : WebsitePanelControlBase
|
||||||
{
|
{
|
||||||
public const string DirectionString = "DirectionString";
|
public const string DirectionString = "DirectionString";
|
||||||
|
public event EventHandler OnRefreshClicked;
|
||||||
|
|
||||||
public bool ButtonAddEnabled
|
public bool ButtonAddEnabled
|
||||||
{
|
{
|
||||||
|
@ -100,9 +101,16 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
||||||
|
|
||||||
protected void btnDelete_Click(object sender, EventArgs e)
|
protected void btnDelete_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
List<OrganizationUser> selectedAccounts = GetGridViewUsers(SelectedState.Unselected);
|
if (CheckDeletedUsers())
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
@ -134,9 +142,66 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
||||||
return GetThemedImage("Exchange/" + imgName);
|
return GetThemedImage("Exchange/" + imgName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool CheckDeletedUsers()
|
||||||
|
{
|
||||||
|
var rdsUsers = GetGridViewUsers(SelectedState.Selected);
|
||||||
|
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
||||||
|
var organizationUsers = ES.Services.Organizations.GetOrganizationUsersPaged(PanelRequest.ItemID, null, null, null, 0, Int32.MaxValue).PageUsers;
|
||||||
|
var applicationUsers = ES.Services.RDS.GetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, null);
|
||||||
|
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Select(a => a.Split('\\').Last().ToLower()).Contains(x.SamAccountName.Split('\\').Last().ToLower()));
|
||||||
|
|
||||||
|
var deletedUsers = new List<OrganizationUser>();
|
||||||
|
|
||||||
|
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()));
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BindUsers()
|
||||||
|
{
|
||||||
|
var collectionUsers = ES.Services.RDS.GetRdsCollectionUsers(PanelRequest.CollectionID);
|
||||||
|
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
|
||||||
|
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
||||||
|
|
||||||
|
foreach (var user in collectionUsers)
|
||||||
|
{
|
||||||
|
if (localAdmins.Select(l => l.AccountName).Contains(user.AccountName))
|
||||||
|
{
|
||||||
|
user.IsVIP = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
user.IsVIP = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SetUsers(collectionUsers);
|
||||||
|
}
|
||||||
|
|
||||||
protected void BindPopupAccounts()
|
protected void BindPopupAccounts()
|
||||||
{
|
{
|
||||||
OrganizationUser[] accounts = ES.Services.Organizations.GetOrganizationUsersPaged(PanelRequest.ItemID, null, null, null, 0, Int32.MaxValue).PageUsers;
|
OrganizationUser[] accounts;
|
||||||
|
|
||||||
|
if (PanelRequest.Ctl == "rds_collection_edit_users")
|
||||||
|
{
|
||||||
|
accounts = ES.Services.Organizations.GetOrganizationUsersPaged(PanelRequest.ItemID, null, null, null, 0, Int32.MaxValue).PageUsers;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
accounts = ES.Services.RDS.GetRdsCollectionUsers(PanelRequest.CollectionID);
|
||||||
|
}
|
||||||
|
|
||||||
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
var localAdmins = ES.Services.RDS.GetRdsCollectionLocalAdmins(PanelRequest.CollectionID);
|
||||||
|
|
||||||
foreach (var user in accounts)
|
foreach (var user in accounts)
|
||||||
|
|
|
@ -138,6 +138,87 @@ namespace WebsitePanel.Portal.RDS.UserControls {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Button btnCancelAdd;
|
protected global::System.Web.UI.WebControls.Button btnCancelAdd;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DeleteWarningPanel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel DeleteWarningPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lcDeleteWarningHeader control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Localize lcDeleteWarningHeader;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// deleteWarningUpdatePanel 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 deleteWarningUpdatePanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// panelDeleteWarning control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel panelDeleteWarning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// locDeleteWarning control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Localize locDeleteWarning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ltUsers control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Literal ltUsers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCancelDeleteWarning control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnCancelDeleteWarning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnDeleteWarningFake control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnDeleteWarningFake;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DeleteWarningModal control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::AjaxControlToolkit.ModalPopupExtender DeleteWarningModal;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnAddAccountsFake control.
|
/// btnAddAccountsFake control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue