merge commit
This commit is contained in:
commit
ac5ecbf190
88 changed files with 6090 additions and 1195 deletions
|
@ -153,5 +153,6 @@
|
|||
<Control key="rds_edit_collection_settings" general_key="rds_collections" />
|
||||
<Control key="rds_collection_user_sessions" general_key="rds_collections" />
|
||||
<Control key="rds_collection_local_admins" general_key="rds_collections" />
|
||||
<Control key="rds_collection_user_experience" general_key="rds_collections" />
|
||||
<Control key="rds_setup_letter" general_key="rds_collections" />
|
||||
</Controls>
|
||||
|
|
|
@ -584,6 +584,7 @@
|
|||
<Control key="deleted_user_memberof" src="WebsitePanel/ExchangeServer/OrganizationDeletedUserMemberOf.ascx" title="DeletedUserMemberOf" type="View" />
|
||||
<Control key="rds_application_edit_users" src="WebsitePanel/RDS/RDSEditApplicationUsers.ascx" title="RDSEditApplicationUsers" type="View" />
|
||||
<Control key="rds_collection_local_admins" src="WebsitePanel/RDS/RDSLocalAdmins.ascx" title="RDSLocalAdmins" type="View" />
|
||||
<Control key="rds_collection_user_experience" src="WebsitePanel/RDS/RDSEditUserExperience.ascx" title="RDSEditUserExperience" type="View" />
|
||||
<Control key="rds_setup_letter" src="WebsitePanel/RDS/RDSSetupLetter.ascx" title="RDSSetupLetter" type="View" />
|
||||
<Control key="rds_edit_collection" src="WebsitePanel/RDS/RDSEditCollection.ascx" title="RDSEditCollection" type="View" />
|
||||
<Control key="rds_edit_collection_settings" src="WebsitePanel/RDS/RDSEditCollectionSettings.ascx" title="RDSEditCollectionSettings" type="View" />
|
||||
|
|
|
@ -3344,7 +3344,8 @@
|
|||
<value>Hosted Organizations</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.Hosted CRM" xml:space="preserve">
|
||||
<value>Hosted CRM</value>
|
||||
<value>CRM 4/2011</value>
|
||||
<comment> </comment>
|
||||
</data>
|
||||
<data name="ResourceGroup.BlackBerry" xml:space="preserve">
|
||||
<value>BlackBerry</value>
|
||||
|
@ -5465,7 +5466,7 @@
|
|||
<value>ESS licenses per organization</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.Hosted CRM2013" xml:space="preserve">
|
||||
<value>Hosted CRM 2013/2015</value>
|
||||
<value>CRM 2013/2015</value>
|
||||
</data>
|
||||
<data name="HostedCRM.USER_QUOTA_HAS_BEEN_REACHED2013_0" xml:space="preserve">
|
||||
<value>CRM users quota (Professional license) has been reached.</value>
|
||||
|
@ -5702,6 +5703,12 @@
|
|||
<value>RDS User logging off error</value>
|
||||
</data>
|
||||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_USER_SESSIONS" xml:space="preserve">
|
||||
<value>GEtting RDS User sessions error</value>
|
||||
<value>Getting RDS User sessions error</value>
|
||||
</data>
|
||||
<data name="ERROR.REMOTE_DESKTOP_SERVICES_USER_EXPERIENCE" xml:space="preserve">
|
||||
<value>Updating RDS User experience error</value>
|
||||
</data>
|
||||
<data name="Success.REMOTE_DESKTOP_SERVICES_USER_EXPERIENCE" xml:space="preserve">
|
||||
<value>RDS User experience has been updated</value>
|
||||
</data>
|
||||
</root>
|
|
@ -26,7 +26,7 @@
|
|||
.TopMenu ul.AspNet-Menu li.AspNet-Menu-Hover a, .TopMenu ul.AspNet-Menu li.AspNet-Menu-Hover span {}
|
||||
.TopMenu ul.AspNet-Menu li ul li {margin: 0px; width: 100%;}
|
||||
/*.TopMenu .AspNet-Menu-Horizontal ul.AspNet-Menu ul:before {width:0; height:0; position:absolute; content:" "; top:-8px; left:50%; margin-left:-8px; border-style:solid; border-width:0 8px 8px 8px; border-color:transparent transparent #fff transparent;}*/
|
||||
.TopMenu .AspNet-Menu-Horizontal ul.AspNet-Menu ul {position: absolute; top: 100%; left: 0; z-index: 1000; float: left; min-width: 160px; padding: 5px 10px 5px 0; margin: -10px 0 0 0; list-style: none; font-size: 14px; background-color: #FFF; border: 1px solid #CCC; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box;}
|
||||
.TopMenu .AspNet-Menu-Horizontal ul.AspNet-Menu ul {position: absolute; top: 100%; left: 0; z-index: 1000; float: left; min-width: 180px; padding: 5px 10px 5px 0; margin: -10px 0 0 0; list-style: none; font-size: 14px; background-color: #FFF; border: 1px solid #CCC; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); background-clip: padding-box;}
|
||||
.LeftMenu {font-size: 8pt;}
|
||||
.LeftMenu ul {background-color: #D1E9FF;}
|
||||
.LeftMenu ul.AspNet-Menu {width: 190px;}
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
<value>Contacts</value>
|
||||
</data>
|
||||
<data name="Text.CRMGroup" xml:space="preserve">
|
||||
<value>CRM</value>
|
||||
<value>CRM 4/2011</value>
|
||||
</data>
|
||||
<data name="Text.CRMOrganization" xml:space="preserve">
|
||||
<value>CRM Organization</value>
|
||||
|
@ -202,7 +202,7 @@
|
|||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
<value>SharePoint Foundation</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="cbAdministrators.Text" xml:space="preserve">
|
||||
<value>Administrators</value>
|
||||
</data>
|
||||
<data name="cbUsers.Text" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||
<value>Drive Space Threshold</value>
|
||||
</data>
|
||||
<data name="secHideCDrive.Text" xml:space="preserve">
|
||||
<value>Hide C: Drive</value>
|
||||
</data>
|
||||
<data name="secPowershellCommand.Text" xml:space="preserve">
|
||||
<value>Remove "Powershell" Command</value>
|
||||
</data>
|
||||
<data name="secRunCommand.Text" xml:space="preserve">
|
||||
<value>Remove "Run" Command</value>
|
||||
</data>
|
||||
<data name="secScreenSaver.Text" xml:space="preserve">
|
||||
<value>Disable Screen Saver</value>
|
||||
</data>
|
||||
<data name="secShutdown.Text" xml:space="preserve">
|
||||
<value>Remove Shutdown and Restart</value>
|
||||
</data>
|
||||
<data name="secTaskManager.Text" xml:space="preserve">
|
||||
<value>Disable Task Manager</value>
|
||||
</data>
|
||||
<data name="secTimeout.Text" xml:space="preserve">
|
||||
<value>Lock Screen Timeout</value>
|
||||
</data>
|
||||
<data name="sekChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
</data>
|
||||
</root>
|
|
@ -147,6 +147,9 @@
|
|||
<data name="lnkVpsPolicy.Text" xml:space="preserve">
|
||||
<value>Virtual Private Servers Policy</value>
|
||||
</data>
|
||||
<data name="lnkRdsPolicy.Text" xml:space="preserve">
|
||||
<value>Remote Desktop Servers Policy</value>
|
||||
</data>
|
||||
<data name="lnkWebPolicy.Text" xml:space="preserve">
|
||||
<value>WEB Policy</value>
|
||||
</data>
|
||||
|
|
|
@ -151,10 +151,10 @@
|
|||
<value>Contacts</value>
|
||||
</data>
|
||||
<data name="Text.CRM2013Group" xml:space="preserve">
|
||||
<value>Hosted Organization - CRM 2013/2015</value>
|
||||
<value>CRM 2013/2015</value>
|
||||
</data>
|
||||
<data name="Text.CRMGroup" xml:space="preserve">
|
||||
<value>Hosted Organization - CRM</value>
|
||||
<value>CRM 4/2011</value>
|
||||
</data>
|
||||
<data name="Text.CRMOrganization" xml:space="preserve">
|
||||
<value>CRM Organization</value>
|
||||
|
|
|
@ -37,6 +37,7 @@ using System.Web.UI.WebControls.WebParts;
|
|||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.Providers.SharePoint;
|
||||
using System.Collections.Generic;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
|
@ -44,19 +45,28 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
SharePointSiteCollectionListPaged result;
|
||||
|
||||
public int GetSharePointSiteCollectionPagedCount(int packageId, int organizationId, string filterColumn, string filterValue)
|
||||
public int GetSharePointSiteCollectionPagedCount(int packageId, int organizationId, string groupName, string filterColumn, string filterValue)
|
||||
{
|
||||
return result.TotalRowCount;
|
||||
}
|
||||
|
||||
public List<SharePointSiteCollection> GetSharePointSiteCollectionPaged(int packageId, int organizationId, string filterColumn, string filterValue, int maximumRows, int startRowIndex, string sortColumn)
|
||||
public List<SharePointSiteCollection> GetSharePointSiteCollectionPaged(int packageId, int organizationId, string groupName, string filterColumn, string filterValue, int maximumRows, int startRowIndex, string sortColumn)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(filterValue))
|
||||
{
|
||||
filterValue = filterValue + "%";
|
||||
}
|
||||
|
||||
result = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows);
|
||||
if (ResourceGroups.SharepointFoundationServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointFoundationServer;
|
||||
}
|
||||
else if (ResourceGroups.SharepointServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointServer;
|
||||
}
|
||||
|
||||
result = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, groupName);
|
||||
|
||||
return result.SiteCollections;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.Providers.Mail;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for IVirtualMachineCreateControl
|
||||
/// </summary>
|
||||
public interface IVirtualMachineCreateControl
|
||||
{
|
||||
void BindItem(VirtualMachine item);
|
||||
void SaveItem(VirtualMachine item);
|
||||
}
|
||||
}
|
|
@ -181,7 +181,7 @@
|
|||
<value>BlackBerry</value>
|
||||
</data>
|
||||
<data name="locCRM.Text" xml:space="preserve">
|
||||
<value>CRM</value>
|
||||
<value>CRM 4/2011</value>
|
||||
</data>
|
||||
<data name="locExchangeStatistics.Text" xml:space="preserve">
|
||||
<value>Exchange</value>
|
||||
|
@ -227,7 +227,7 @@
|
|||
</data>
|
||||
<data name="locRemoteDesktop.Text" xml:space="preserve">
|
||||
<value>Remote Desktop</value>
|
||||
</data>
|
||||
</data>
|
||||
<data name="lnkRdsServers.Text" xml:space="preserve">
|
||||
<value>RDS Servers</value>
|
||||
</data>
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
<value>Setup</value>
|
||||
</data>
|
||||
<data name="Text.SharePointFoundationServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Foundation Server</value>
|
||||
<value>SharePoint Foundation</value>
|
||||
</data>
|
||||
<data name="Text.SharePointServerGroup" xml:space="preserve">
|
||||
<value>SharePoint Server</value>
|
||||
|
|
|
@ -61,6 +61,10 @@ namespace WebsitePanel.Portal
|
|||
}
|
||||
}
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -163,7 +167,7 @@ namespace WebsitePanel.Portal
|
|||
|
||||
private void RedirectBack()
|
||||
{
|
||||
HttpContext.Current.Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
HttpContext.Current.Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
|
||||
protected void chkZipBackup_CheckedChanged(object sender, EventArgs e)
|
||||
|
|
|
@ -30,6 +30,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.DNS;
|
||||
|
@ -43,6 +44,11 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
SharePointSiteCollection item = null;
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
private int OrganizationId
|
||||
{
|
||||
get
|
||||
|
@ -224,7 +230,7 @@ namespace WebsitePanel.Portal
|
|||
/// <returns> Reserved disk space vallue.</returns>
|
||||
private int GetReservedDiskStorageSpace()
|
||||
{
|
||||
var existingCollections = ES.Services.HostedSharePointServers.GetSiteCollections(PanelSecurity.PackageId, false);
|
||||
var existingCollections = ES.Services.HostedSharePointServers.GetSiteCollections(PanelSecurity.PackageId, false, GroupName);
|
||||
|
||||
return (int)existingCollections.Sum(siteCollection => siteCollection.MaxSiteStorage);
|
||||
}
|
||||
|
@ -251,9 +257,20 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
item = new SharePointSiteCollection();
|
||||
|
||||
if (!UseSharedSLL(PanelSecurity.PackageId))
|
||||
string groupName = GroupName;
|
||||
|
||||
if (ResourceGroups.SharepointFoundationServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue);
|
||||
groupName = ResourceGroups.SharepointFoundationServer;
|
||||
}
|
||||
else if (ResourceGroups.SharepointServer.Replace(" ", "").Equals(groupName))
|
||||
{
|
||||
groupName = ResourceGroups.SharepointServer;
|
||||
}
|
||||
|
||||
if (!UseSharedSLL(PanelSecurity.PackageId))
|
||||
{
|
||||
SharePointSiteCollectionListPaged existentSiteCollections = ES.Services.HostedSharePointServers.GetSiteCollectionsPaged(PanelSecurity.PackageId, this.OrganizationId, "ItemName", String.Format("%{0}", this.domain.DomainName), String.Empty, 0, Int32.MaxValue, groupName);
|
||||
foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections)
|
||||
{
|
||||
Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name);
|
||||
|
@ -284,9 +301,9 @@ namespace WebsitePanel.Portal
|
|||
|
||||
|
||||
item.MaxSiteStorage = maxStorage.QuotaValue;
|
||||
item.WarningStorage = warningStorage.QuotaValue;
|
||||
item.WarningStorage = warningStorage.QuotaValue;
|
||||
|
||||
int result = ES.Services.HostedSharePointServers.AddSiteCollection(item);
|
||||
int result = ES.Services.HostedSharePointServers.AddSiteCollection(item, groupName);
|
||||
if (result < 0)
|
||||
{
|
||||
localMessageBox.ShowResultMessage(result);
|
||||
|
@ -373,19 +390,19 @@ namespace WebsitePanel.Portal
|
|||
|
||||
protected void btnBackup_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_backup_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
|
||||
protected void btnRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_restore_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void RedirectToSiteCollectionsList()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_sitecollections", "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
|
||||
private bool UseSharedSLL(int packageID)
|
||||
|
|
|
@ -59,6 +59,11 @@ namespace WebsitePanel.Portal
|
|||
}
|
||||
}
|
||||
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
|
@ -166,7 +171,7 @@ namespace WebsitePanel.Portal
|
|||
|
||||
private void RedirectBack()
|
||||
{
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString()));
|
||||
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection", "SiteCollectionID=" + this.SiteCollectionId, "ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
protected void radioUpload_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
|
|
@ -76,6 +76,7 @@ function confirmation()
|
|||
<SelectParameters>
|
||||
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="-1" />
|
||||
<asp:QueryStringParameter Name="organizationId" QueryStringField="ItemID" DefaultValue="0" />
|
||||
<asp:QueryStringParameter Name="groupName" QueryStringField="GroupName" DefaultValue="" />
|
||||
<asp:ControlParameter Name="filterColumn" ControlID="ddlSearchColumn" PropertyName="SelectedValue" />
|
||||
<asp:ControlParameter Name="filterValue" ControlID="txtSearchValue" PropertyName="Text" />
|
||||
</SelectParameters>
|
||||
|
|
|
@ -44,6 +44,11 @@ namespace WebsitePanel.Portal
|
|||
{
|
||||
public partial class HostedSharePointSiteCollections : WebsitePanelModuleBase
|
||||
{
|
||||
public static string GroupName
|
||||
{
|
||||
get { return HttpContext.Current.Request["GroupName"]; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.BindStats();
|
||||
|
@ -62,14 +67,14 @@ namespace WebsitePanel.Portal
|
|||
|
||||
protected void btnCreateSiteCollection_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_edit_sitecollection", "SpaceID=" + PanelSecurity.PackageId.ToString()));
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "sharepoint_edit_sitecollection", "SpaceID=" + PanelSecurity.PackageId.ToString(), "GroupName=" + GroupName));
|
||||
}
|
||||
|
||||
public string GetSiteCollectionEditUrl(string siteCollectionId)
|
||||
{
|
||||
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "sharepoint_edit_sitecollection",
|
||||
"SiteCollectionID=" + siteCollectionId,
|
||||
"ItemID=" + PanelRequest.ItemID.ToString());
|
||||
"ItemID=" + PanelRequest.ItemID.ToString(), "GroupName=" + GroupName);
|
||||
}
|
||||
|
||||
protected void odsSharePointSiteCollectionPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
|
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
</asp:hyperlink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="gvUsersEmail" meta:resourcekey="gvUsersEmail" DataField="SipAddress" SortExpression="PrimaryUri" ItemStyle-Width="25%" />
|
||||
<asp:BoundField HeaderText="gvUsersEmail" meta:resourcekey="gvUsersEmail" DataField="SipAddress" SortExpression="SipAddress" ItemStyle-Width="25%" />
|
||||
<asp:BoundField HeaderText="gvLyncUserPlan" meta:resourcekey="gvLyncUserPlan" DataField="LyncUserPlanName" SortExpression="LyncUserPlanName" ItemStyle-Width="25%" />
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
|
|
|
@ -0,0 +1,404 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="chkVpsFolderIncludesUsername.Text" xml:space="preserve">
|
||||
<value>User name</value>
|
||||
</data>
|
||||
<data name="ComparePasswordsValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Both reseller account passwords should match</value>
|
||||
</data>
|
||||
<data name="DefaultGatewayValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter default gateway IP</value>
|
||||
</data>
|
||||
<data name="DvdLibraryPathValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter DVD library folder</value>
|
||||
</data>
|
||||
<data name="ExportedVpsPathValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter path for storing exported VPS</value>
|
||||
</data>
|
||||
<data name="HostnamePatternValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter host name pattern</value>
|
||||
</data>
|
||||
<data name="locAlternateNameServer.Text" xml:space="preserve">
|
||||
<value>Alternate Name Server:</value>
|
||||
</data>
|
||||
<data name="locDefaultGateway.Text" xml:space="preserve">
|
||||
<value>Default Gateway:</value>
|
||||
</data>
|
||||
<data name="locDiskType.Text" xml:space="preserve">
|
||||
<value>Disk Type:</value>
|
||||
</data>
|
||||
<data name="locWspResellerAccount.Text" xml:space="preserve">
|
||||
<value>WebsitePanel Reseller Account</value>
|
||||
</data>
|
||||
<data name="locDvdIsoPath.Text" xml:space="preserve">
|
||||
<value>DVD Library path:</value>
|
||||
</data>
|
||||
<data name="locExistingPassword.Text" xml:space="preserve">
|
||||
<value>Existing password:</value>
|
||||
</data>
|
||||
<data name="locExportedVpsPath.Text" xml:space="preserve">
|
||||
<value>Exported VPS path:</value>
|
||||
</data>
|
||||
<data name="locExternalNetwork.Text" xml:space="preserve">
|
||||
<value>External Network</value>
|
||||
</data>
|
||||
<data name="locExternalNetworkName.Text" xml:space="preserve">
|
||||
<value>Connect to Network:</value>
|
||||
</data>
|
||||
<data name="locGeneralSettings.Text" xml:space="preserve">
|
||||
<value>General Settings</value>
|
||||
</data>
|
||||
<data name="locHostname.Text" xml:space="preserve">
|
||||
<value>VPS Host name</value>
|
||||
</data>
|
||||
<data name="locHostnamePattern.Text" xml:space="preserve">
|
||||
<value>Host name pattern:</value>
|
||||
</data>
|
||||
<data name="locIPFormat.Text" xml:space="preserve">
|
||||
<value>IP Addresses Format:</value>
|
||||
</data>
|
||||
<data name="locMediaLibrary.Text" xml:space="preserve">
|
||||
<value>DVD Media Library</value>
|
||||
</data>
|
||||
<data name="locNetworkAdapter.Text" xml:space="preserve">
|
||||
<value>Network Adapter</value>
|
||||
</data>
|
||||
<data name="locOSTemplatesPath.Text" xml:space="preserve">
|
||||
<value>OS Templates path:</value>
|
||||
</data>
|
||||
<data name="locPatternText.Text" xml:space="preserve">
|
||||
<value>When user is not allowed to specify their custom host name the system will generate the host name for new VPS based on this pattern.<br/><br/>
|
||||
The following substitution variables can be used in the pattern:<br/>
|
||||
[USERNAME], [USER_ID], [SPACE_ID]</value>
|
||||
</data>
|
||||
<data name="locPreferredNameServer.Text" xml:space="preserve">
|
||||
<value>Preferred Name Server:</value>
|
||||
</data>
|
||||
<data name="locPrivateNetwork.Text" xml:space="preserve">
|
||||
<value>Private Network</value>
|
||||
</data>
|
||||
<data name="locResellerAccountText.Text" xml:space="preserve">
|
||||
<value>For automatic provisioning of WebsitePanel control panel inside VPS please enter WebsitePanel reseller account details below:</value>
|
||||
</data>
|
||||
<data name="locResellerConfirmPassword.Text" xml:space="preserve">
|
||||
<value>Confirm password:</value>
|
||||
</data>
|
||||
<data name="locResellerPassword.Text" xml:space="preserve">
|
||||
<value>Password:</value>
|
||||
</data>
|
||||
<data name="locResellerUsername.Text" xml:space="preserve">
|
||||
<value>Username:</value>
|
||||
</data>
|
||||
<data name="locSeconds.Text" xml:space="preserve">
|
||||
<value>seconds</value>
|
||||
</data>
|
||||
<data name="locStartAction.Text" xml:space="preserve">
|
||||
<value>Automatic Start Action</value>
|
||||
</data>
|
||||
<data name="locStartOptionsText.Text" xml:space="preserve">
|
||||
<value>What do you want VPS to do when the physical computer starts?</value>
|
||||
</data>
|
||||
<data name="locStartupDelay.Text" xml:space="preserve">
|
||||
<value>Startup delay:</value>
|
||||
</data>
|
||||
<data name="locStartupDelayText.Text" xml:space="preserve">
|
||||
<value>Specify a startup delay to reduce resource contention between virtual machines.</value>
|
||||
</data>
|
||||
<data name="locStopAction.Text" xml:space="preserve">
|
||||
<value>Automatic Stop Action</value>
|
||||
</data>
|
||||
<data name="locStopActionText.Text" xml:space="preserve">
|
||||
<value>What do you want VPS to do when the physical shuts down?</value>
|
||||
</data>
|
||||
<data name="locSubnetMask.Text" xml:space="preserve">
|
||||
<value>Subnet Mask:</value>
|
||||
</data>
|
||||
<data name="locVhd.Text" xml:space="preserve">
|
||||
<value>Virtual Hard Drive</value>
|
||||
</data>
|
||||
<data name="locVpsFolderIncludes.Text" xml:space="preserve">
|
||||
<value>VPS folder includes:</value>
|
||||
</data>
|
||||
<data name="locVpsRootFolder.Text" xml:space="preserve">
|
||||
<value>VPS root folder:</value>
|
||||
</data>
|
||||
<data name="ddlPrivateNetworkFormat10.Text" xml:space="preserve">
|
||||
<value>10.0.0.1/8</value>
|
||||
</data>
|
||||
<data name="ddlPrivateNetworkFormat172.Text" xml:space="preserve">
|
||||
<value>172.16.0.1/12</value>
|
||||
</data>
|
||||
<data name="ddlPrivateNetworkFormat192.Text" xml:space="preserve">
|
||||
<value>192.168.0.1/16</value>
|
||||
</data>
|
||||
<data name="radioStartActionAlwaysStart.Text" xml:space="preserve">
|
||||
<value>Always start VPS automatically</value>
|
||||
</data>
|
||||
<data name="radioStartActionNothing.Text" xml:space="preserve">
|
||||
<value>Nothing</value>
|
||||
</data>
|
||||
<data name="radioStartActionStart.Text" xml:space="preserve">
|
||||
<value>Automatically start if it was running when the service stopped</value>
|
||||
</data>
|
||||
<data name="radioStopActionSave.Text" xml:space="preserve">
|
||||
<value>Save VPS state</value>
|
||||
</data>
|
||||
<data name="radioStopActionShutDown.Text" xml:space="preserve">
|
||||
<value>Shut down VPS operating system</value>
|
||||
</data>
|
||||
<data name="radioStopActionTurnOff.Text" xml:space="preserve">
|
||||
<value>Turn off VPS</value>
|
||||
</data>
|
||||
<data name="radioVirtualDiskTypeDynamic.Text" xml:space="preserve">
|
||||
<value>Dynamically expanding</value>
|
||||
</data>
|
||||
<data name="radioVirtualDiskTypeFixed.Text" xml:space="preserve">
|
||||
<value>Fixed size</value>
|
||||
</data>
|
||||
<data name="radioVpsFolderIncludesID.Text" xml:space="preserve">
|
||||
<value>VPS identifier, for example "843FA-A0B2-34404"</value>
|
||||
</data>
|
||||
<data name="radioVpsFolderIncludesName.Text" xml:space="preserve">
|
||||
<value>VPS host name, for example "vps1.domain.com"</value>
|
||||
</data>
|
||||
<data name="RootFolderValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter VPS root folder</value>
|
||||
</data>
|
||||
<data name="StartupDelayValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Startup delay could not be blank</value>
|
||||
</data>
|
||||
<data name="SubnetMaskValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter subnet mask</value>
|
||||
</data>
|
||||
<data name="TemplatesPathValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter OS templates folder</value>
|
||||
</data>
|
||||
<data name="CpuLimitValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter processor limit per VPS</value>
|
||||
</data>
|
||||
<data name="CpuReserveValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter processor reserve per VPS</value>
|
||||
</data>
|
||||
<data name="CpuWeightValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter relative processor weight per VPS</value>
|
||||
</data>
|
||||
<data name="locCpuLimit.Text" xml:space="preserve">
|
||||
<value>Virtual machine limit:</value>
|
||||
</data>
|
||||
<data name="locCpuReserve.Text" xml:space="preserve">
|
||||
<value>Virtual machine reserve:</value>
|
||||
</data>
|
||||
<data name="locCpuWeight.Text" xml:space="preserve">
|
||||
<value>Relative weight:</value>
|
||||
</data>
|
||||
<data name="locFolderVariables.Text" xml:space="preserve">
|
||||
<value>The following variables are supported: [VPS_HOSTNAME], [USERNAME], [USER_ID], [SPACE_ID]</value>
|
||||
</data>
|
||||
<data name="locProcessorSettings.Text" xml:space="preserve">
|
||||
<value>Processor Resource Settings</value>
|
||||
</data>
|
||||
<data name="btnConnect.Text" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="ErrorReadingNetworksList.Text" xml:space="preserve">
|
||||
<value><Cannot read networks list></value>
|
||||
</data>
|
||||
<data name="locErrorReadingNetworksList.Text" xml:space="preserve">
|
||||
<value><br/><b>Unable to connect to Hyper-V server</b><br/><br/>Possible reasons:<ol><li>You are going to manage remote Hyper-V server (either Server Core or Hyper-V Server 2008 machine) where WebsitePanel Server is not installed. Type the correct server name at the top of this form and then click "Connect" button.</li><li>WebsitePanel Server has insufficient permissions to connect remote Hyper-V server. Please refer administrator guide for client and server setup instructions.</li><li>Lost connectivity with WebsitePanel Server installed on Hyper-V virtualization server. Check connectivity and open service properties page once again.</li></ol></value>
|
||||
</data>
|
||||
<data name="locHyperVServer.Text" xml:space="preserve">
|
||||
<value>Hyper-V Server</value>
|
||||
</data>
|
||||
<data name="locServerName.Text" xml:space="preserve">
|
||||
<value>Server name:</value>
|
||||
</data>
|
||||
<data name="radioServerLocal.Text" xml:space="preserve">
|
||||
<value><b>Local</b> - Hyper-V role is installed on this server</value>
|
||||
</data>
|
||||
<data name="radioServerRemote.Text" xml:space="preserve">
|
||||
<value><b>Remote</b> - Remote Windows 2008 Server Core or Hyper-V Server 2008</value>
|
||||
</data>
|
||||
<data name="ServerNameValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter server name</value>
|
||||
</data>
|
||||
<data name="ddlManagementNetworks.Text" xml:space="preserve">
|
||||
<value><Do not connect VPS to Management Network></value>
|
||||
</data>
|
||||
<data name="locManagementNetwork.Text" xml:space="preserve">
|
||||
<value>Management Network</value>
|
||||
</data>
|
||||
<data name="locManagementNetworkName.Text" xml:space="preserve">
|
||||
<value>Connect to Network:</value>
|
||||
</data>
|
||||
<data name="ddlManageNicConfigDhcp.Text" xml:space="preserve">
|
||||
<value>DHCP</value>
|
||||
</data>
|
||||
<data name="ddlManageNicConfigPool.Text" xml:space="preserve">
|
||||
<value>IP Addresses Pool</value>
|
||||
</data>
|
||||
<data name="ddlPrivateNetworkFormatCustom.Text" xml:space="preserve">
|
||||
<value>Custom</value>
|
||||
</data>
|
||||
<data name="locManageNicConfig.Text" xml:space="preserve">
|
||||
<value>Network Card Configuration:</value>
|
||||
</data>
|
||||
<data name="locPrivCustomFormat.Text" xml:space="preserve">
|
||||
<value>IP Address / CIDR:</value>
|
||||
</data>
|
||||
<data name="privateSubnetMaskValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter subnet mask in CIDR format</value>
|
||||
</data>
|
||||
<data name="chkAssignIPAutomatically.Text" xml:space="preserve">
|
||||
<value>Automatically assign IP addresses to the space on creation</value>
|
||||
</data>
|
||||
<data name="lblCoreSvcEndpoint.Text" xml:space="preserve">
|
||||
<value>Core Svc Endpoint</value>
|
||||
</data>
|
||||
<data name="lblSCCMEndPoint.Text" xml:space="preserve">
|
||||
<value>SCCM Endpoint</value>
|
||||
</data>
|
||||
<data name="lblSCCMServer.Text" xml:space="preserve">
|
||||
<value>SCCM Server</value>
|
||||
</data>
|
||||
<data name="lblSCDPMEndPoint.Text" xml:space="preserve">
|
||||
<value>SCDPM Endpoint</value>
|
||||
</data>
|
||||
<data name="lblSCDPMServer.Text" xml:space="preserve">
|
||||
<value>SCDPM Server</value>
|
||||
</data>
|
||||
<data name="lblSCOMEndPoint.Text" xml:space="preserve">
|
||||
<value>SCOM Endpoint</value>
|
||||
</data>
|
||||
<data name="lblSCOMServer.Text" xml:space="preserve">
|
||||
<value>SCOM Server</value>
|
||||
</data>
|
||||
<data name="lblSCVMMEndPoint.Text" xml:space="preserve">
|
||||
<value>SCVMM Endpoint</value>
|
||||
</data>
|
||||
<data name="lblSCVMMServer.Text" xml:space="preserve">
|
||||
<value>SCVMM Server</value>
|
||||
</data>
|
||||
<data name="lblStorageEndPoint.Text" xml:space="preserve">
|
||||
<value>Storage Endpoint</value>
|
||||
</data>
|
||||
<data name="locHyperVCloud.Text" xml:space="preserve">
|
||||
<value>Hyper-V Cloud</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,408 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HyperV2012R2_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.HyperV2012R2_Settings" %>
|
||||
<%@ Register Src="../UserControls/EditIPAddressControl.ascx" TagName="EditIPAddressControl" TagPrefix="wsp" %>
|
||||
|
||||
<asp:ValidationSummary ID="ValidationSummary" runat="server" ShowMessageBox="true" ShowSummary="false" />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locHyperVServer" runat="server" meta:resourcekey="locHyperVServer" Text="Hyper-V Server"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" style="margin: 10px;">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:RadioButtonList ID="radioServer" runat="server" AutoPostBack="true"
|
||||
onselectedindexchanged="radioServer_SelectedIndexChanged">
|
||||
<asp:ListItem Value="local" meta:resourcekey="radioServerLocal" Selected="True">Local</asp:ListItem>
|
||||
<asp:ListItem Value="remote" meta:resourcekey="radioServerRemote">Remote</asp:ListItem>
|
||||
</asp:RadioButtonList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ServerNameRow" runat="server">
|
||||
<td class="SubHead" style="padding-left:30px;" colspan="2">
|
||||
<asp:Localize ID="locServerName" runat="server" meta:resourcekey="locServerName" Text="Server name:"></asp:Localize>
|
||||
<asp:TextBox Width="200px" CssClass="NormalTextBox" Runat="server" ID="txtServerName"></asp:TextBox>
|
||||
<asp:Button ID="btnConnect" runat="server" meta:resourcekey="btnConnect"
|
||||
CssClass="Button1" Text="Connect" CausesValidation="false"
|
||||
onclick="btnConnect_Click" />
|
||||
|
||||
<asp:RequiredFieldValidator ID="ServerNameValidator" runat="server" ControlToValidate="txtServerName"
|
||||
Text="*" meta:resourcekey="ServerNameValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ServerErrorRow" runat="server">
|
||||
<td colspan="2">
|
||||
<asp:Label ID="locErrorReadingNetworksList" runat="server"
|
||||
meta:resourcekey="locErrorReadingNetworksList" ForeColor="Red"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locGeneralSettings" runat="server" meta:resourcekey="locGeneralSettings" Text="General Settings"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locVpsRootFolder" runat="server" meta:resourcekey="locVpsRootFolder" Text="VPS root folder:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="400px" CssClass="NormalTextBox" Runat="server" ID="txtVpsRootFolder"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RootFolderValidator" runat="server" ControlToValidate="txtVpsRootFolder"
|
||||
Text="*" meta:resourcekey="RootFolderValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<asp:Localize ID="locFolderVariables" runat="server" meta:resourcekey="locFolderVariables" Text="The following variables..."></asp:Localize>
|
||||
<br />
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locOSTemplatesPath" runat="server" meta:resourcekey="locOSTemplatesPath" Text="OS Templates path:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="300px" CssClass="NormalTextBox" Runat="server" ID="txtOSTemplatesPath"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="TemplatesPathValidator" runat="server" ControlToValidate="txtOSTemplatesPath"
|
||||
Text="*" meta:resourcekey="TemplatesPathValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locExportedVpsPath" runat="server" meta:resourcekey="locExportedVpsPath" Text="Exported VPS path:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="300px" CssClass="NormalTextBox" Runat="server" ID="txtExportedVpsPath"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="ExportedVpsPathValidator" runat="server" ControlToValidate="txtExportedVpsPath"
|
||||
Text="*" meta:resourcekey="ExportedVpsPathValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locProcessorSettings" runat="server" meta:resourcekey="locProcessorSettings" Text="Processor Resource Settings"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locCpuReserve" runat="server" meta:resourcekey="locCpuReserve" Text="Virtual machine reserve:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="50px" CssClass="NormalTextBox" Runat="server" ID="txtCpuReserve"></asp:TextBox>
|
||||
%
|
||||
<asp:RequiredFieldValidator ID="CpuReserveValidator" runat="server" ControlToValidate="txtCpuReserve"
|
||||
Text="*" meta:resourcekey="CpuReserveValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locCpuLimit" runat="server" meta:resourcekey="locCpuLimit" Text="Virtual machine limit:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="50px" CssClass="NormalTextBox" Runat="server" ID="txtCpuLimit"></asp:TextBox>
|
||||
%
|
||||
<asp:RequiredFieldValidator ID="CpuLimitValidator" runat="server" ControlToValidate="txtCpuLimit"
|
||||
Text="*" meta:resourcekey="CpuLimitValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locCpuWeight" runat="server" meta:resourcekey="locCpuWeight" Text="Relative weight:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="50px" CssClass="NormalTextBox" Runat="server" ID="txtCpuWeight"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="CpuWeightValidator" runat="server" ControlToValidate="txtCpuWeight"
|
||||
Text="*" meta:resourcekey="CpuWeightValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locMediaLibrary" runat="server" meta:resourcekey="locMediaLibrary" Text="DVD Media Library"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locDvdIsoPath" runat="server" meta:resourcekey="locDvdIsoPath" Text="Path to DVD ISO files:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="300px" CssClass="NormalTextBox" Runat="server" ID="txtDvdLibraryPath"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="DvdLibraryPathValidator" runat="server" ControlToValidate="txtDvdLibraryPath"
|
||||
Text="*" meta:resourcekey="DvdLibraryPathValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locVhd" runat="server" meta:resourcekey="locVhd" Text="Virtual Hard Drive"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;" valign="top">
|
||||
<asp:Localize ID="locDiskType" runat="server" meta:resourcekey="locDiskType" Text="Disk Type:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:RadioButtonList ID="radioVirtualDiskType" runat="server">
|
||||
<asp:ListItem Value="dynamic" meta:resourcekey="radioVirtualDiskTypeDynamic" Selected="True">Dynamic</asp:ListItem>
|
||||
<asp:ListItem Value="fixed" meta:resourcekey="radioVirtualDiskTypeFixed">Fixed</asp:ListItem>
|
||||
</asp:RadioButtonList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locExternalNetwork" runat="server" meta:resourcekey="locExternalNetwork" Text="External Network"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locExternalNetworkName" runat="server" meta:resourcekey="locExternalNetworkName" Text="Connect to Network:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlExternalNetworks" runat="server" CssClass="NormalTextBox" Width="450"
|
||||
DataValueField="SwitchId" DataTextField="Name"></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locPreferredNameServer" runat="server" meta:resourcekey="locPreferredNameServer" Text="Preferred Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="externalPreferredNameServer" runat="server" Required="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locAlternateNameServer" runat="server" meta:resourcekey="locAlternateNameServer" Text="Alternate Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="externalAlternateNameServer" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:CheckBox ID="chkAssignIPAutomatically" runat="server" meta:resourcekey="chkAssignIPAutomatically" Text="Assign IP addresses to the space on creation" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<asp:UpdatePanel ID="ManageUpdatePanel" runat="server" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locManagementNetwork" runat="server" meta:resourcekey="locManagementNetwork" Text="Management Network"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td style="width:200px;">
|
||||
<asp:Localize ID="locManagementNetworkName" runat="server" meta:resourcekey="locManagementNetworkName" Text="Connect to Network:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlManagementNetworks" runat="server"
|
||||
CssClass="NormalTextBox" Width="450"
|
||||
DataValueField="SwitchId" DataTextField="Name" AutoPostBack="true"
|
||||
onselectedindexchanged="ddlManagementNetworks_SelectedIndexChanged"></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ManageNicConfigRow" runat="server">
|
||||
<td>
|
||||
<asp:Localize ID="locManageNicConfig" runat="server" meta:resourcekey="locManageNicConfig" Text="Network Adapter Configuration:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlManageNicConfig" runat="server" AutoPostBack="true"
|
||||
onselectedindexchanged="ddlManageNicConfig_SelectedIndexChanged">
|
||||
<asp:ListItem Value="Pool" meta:resourcekey="ddlManageNicConfigPool" Selected="True">POOL</asp:ListItem>
|
||||
<asp:ListItem Value="DHCP" meta:resourcekey="ddlManageNicConfigDhcp">DHCP</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ManagePreferredNameServerRow" runat="server">
|
||||
<td>
|
||||
<asp:Localize ID="locManagePreferredNameServer" runat="server" meta:resourcekey="locPreferredNameServer" Text="Preferred Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="managePreferredNameServer" runat="server" Required="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ManageAlternateNameServerRow" runat="server">
|
||||
<td>
|
||||
<asp:Localize ID="locManageAlternateNameServer" runat="server" meta:resourcekey="locAlternateNameServer" Text="Alternate Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="manageAlternateNameServer" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<br />
|
||||
|
||||
<asp:UpdatePanel ID="PrivUpdatePanel" runat="server" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locPrivateNetwork" runat="server" meta:resourcekey="locPrivateNetwork" Text="Private Network"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locIPFormat" runat="server" meta:resourcekey="locIPFormat" Text="IP addresses format:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlPrivateNetworkFormat" runat="server"
|
||||
AutoPostBack="true" onselectedindexchanged="ddlPrivateNetworkFormat_SelectedIndexChanged">
|
||||
<asp:ListItem Value="" meta:resourcekey="ddlPrivateNetworkFormatCustom">Custom</asp:ListItem>
|
||||
<asp:ListItem Value="192.168.0.1/16" meta:resourcekey="ddlPrivateNetworkFormat192" Selected="True">192.168.0.1</asp:ListItem>
|
||||
<asp:ListItem Value="172.16.0.1/12" meta:resourcekey="ddlPrivateNetworkFormat172">172.16.0.1</asp:ListItem>
|
||||
<asp:ListItem Value="10.0.0.1/8" meta:resourcekey="ddlPrivateNetworkFormat10">10.0.0.1</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="PrivCustomFormatRow" runat="server">
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locPrivCustomFormat" runat="server" meta:resourcekey="locPrivCustomFormat" Text="Start IP Address:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="privateIPAddress" runat="server" Required="true" />
|
||||
/
|
||||
<asp:TextBox ID="privateSubnetMask" runat="server" MaxLength="3" Width="40px" CssClass="NormalTextBox"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="privateSubnetMaskValidator" runat="server" ControlToValidate="privateSubnetMask"
|
||||
Text="*" meta:resourcekey="privateSubnetMaskValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locPrivDefaultGateway" runat="server" meta:resourcekey="locDefaultGateway" Text="Default Gateway:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="privateDefaultGateway" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locPrivPreferredNameServer" runat="server" meta:resourcekey="locPreferredNameServer" Text="Preferred Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="privatePreferredNameServer" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Localize ID="locPrivAlternateNameServer" runat="server" meta:resourcekey="locAlternateNameServer" Text="Alternate Name Server:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:EditIPAddressControl id="privateAlternateNameServer" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locHostname" runat="server" meta:resourcekey="locHostname" Text="Host name"></asp:Localize>
|
||||
</legend>
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Localize ID="locHostnamePattern" runat="server" meta:resourcekey="locHostnamePattern" Text="VPS host name pattern:"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox Width="200px" CssClass="NormalTextBox" Runat="server" ID="txtHostnamePattern"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="HostnamePatternValidator" runat="server" ControlToValidate="txtHostnamePattern"
|
||||
Text="*" meta:resourcekey="HostnamePatternValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p style="margin: 10px;">
|
||||
<asp:Localize ID="locPatternText" runat="server" meta:resourcekey="locPatternText" Text="Help text goes here..."></asp:Localize>
|
||||
</p>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locStartAction" runat="server" meta:resourcekey="locStartAction" Text="Automatic Start Action"></asp:Localize>
|
||||
</legend>
|
||||
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Localize ID="locStartOptionsText" runat="server" meta:resourcekey="locStartOptionsText" Text="What do you want VPS to do when the physical computer starts?"></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:RadioButtonList ID="radioStartAction" runat="server">
|
||||
<asp:ListItem Value="0" meta:resourcekey="radioStartActionNothing">Nothing</asp:ListItem>
|
||||
<asp:ListItem Value="1" meta:resourcekey="radioStartActionStart" Selected="True">Start</asp:ListItem>
|
||||
<asp:ListItem Value="2" meta:resourcekey="radioStartActionAlwaysStart">AlwaysStart</asp:ListItem>
|
||||
</asp:RadioButtonList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Localize ID="locStartupDelayText" runat="server" meta:resourcekey="locStartupDelayText" Text="Specify a startup delay to reduce resource contention between virtual machines."></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Localize ID="locStartupDelay" runat="server" meta:resourcekey="locStartupDelay" Text="Startup delay:"></asp:Localize>
|
||||
<asp:TextBox ID="txtStartupDelay" runat="server" Width="30px"></asp:TextBox>
|
||||
<asp:Localize ID="locSeconds" runat="server" meta:resourcekey="locSeconds" Text="seconds"></asp:Localize>
|
||||
<asp:RequiredFieldValidator ID="StartupDelayValidator" runat="server" ControlToValidate="txtStartupDelay"
|
||||
Text="*" meta:resourcekey="StartupDelayValidator" Display="Dynamic" SetFocusOnError="true" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
||||
|
||||
<fieldset>
|
||||
<legend>
|
||||
<asp:Localize ID="locStopAction" runat="server" meta:resourcekey="locStopAction" Text="Automatic Stop Action"></asp:Localize>
|
||||
</legend>
|
||||
|
||||
<table cellpadding="2" cellspacing="0" width="100%" style="margin: 10px;">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Localize ID="locStopActionText" runat="server" meta:resourcekey="locStopActionText" Text="What do you want VPS to do when the physical shuts down?"></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:RadioButtonList ID="radioStopAction" runat="server">
|
||||
<asp:ListItem Value="1" meta:resourcekey="radioStopActionSave">Save</asp:ListItem>
|
||||
<asp:ListItem Value="0" meta:resourcekey="radioStopActionTurnOff">TurnOff</asp:ListItem>
|
||||
<asp:ListItem Value="2" meta:resourcekey="radioStopActionShutDown" Selected="True">ShutDown</asp:ListItem>
|
||||
</asp:RadioButtonList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<br />
|
|
@ -0,0 +1,227 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Collections.Specialized;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using System.Web.UI.MobileControls;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls
|
||||
{
|
||||
public partial class HyperV2012R2_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
void IHostingServiceProviderSettings.BindSettings(StringDictionary settings)
|
||||
{
|
||||
txtServerName.Text = settings["ServerName"];
|
||||
radioServer.SelectedIndex = (txtServerName.Text == "") ? 0 : 1;
|
||||
|
||||
// bind networks
|
||||
BindNetworksList();
|
||||
|
||||
// general settings
|
||||
txtVpsRootFolder.Text = settings["RootFolder"];
|
||||
txtOSTemplatesPath.Text = settings["OsTemplatesPath"];
|
||||
txtExportedVpsPath.Text = settings["ExportedVpsPath"];
|
||||
|
||||
// CPU
|
||||
txtCpuLimit.Text = settings["CpuLimit"];
|
||||
txtCpuReserve.Text = settings["CpuReserve"];
|
||||
txtCpuWeight.Text = settings["CpuWeight"];
|
||||
|
||||
// DVD library
|
||||
txtDvdLibraryPath.Text = settings["DvdLibraryPath"];
|
||||
|
||||
// VHD type
|
||||
radioVirtualDiskType.SelectedValue = settings["VirtualDiskType"];
|
||||
|
||||
// External network
|
||||
ddlExternalNetworks.SelectedValue = settings["ExternalNetworkId"];
|
||||
externalPreferredNameServer.Text = settings["ExternalPreferredNameServer"];
|
||||
externalAlternateNameServer.Text = settings["ExternalAlternateNameServer"];
|
||||
chkAssignIPAutomatically.Checked = Utils.ParseBool(settings["AutoAssignExternalIP"], true);
|
||||
|
||||
// Private network
|
||||
ddlPrivateNetworkFormat.SelectedValue = settings["PrivateNetworkFormat"];
|
||||
privateIPAddress.Text = settings["PrivateIPAddress"];
|
||||
privateSubnetMask.Text = settings["PrivateSubnetMask"];
|
||||
privateDefaultGateway.Text = settings["PrivateDefaultGateway"];
|
||||
privatePreferredNameServer.Text = settings["PrivatePreferredNameServer"];
|
||||
privateAlternateNameServer.Text = settings["PrivateAlternateNameServer"];
|
||||
|
||||
// Management network
|
||||
ddlManagementNetworks.SelectedValue = settings["ManagementNetworkId"];
|
||||
ddlManageNicConfig.SelectedValue = settings["ManagementNicConfig"];
|
||||
managePreferredNameServer.Text = settings["ManagementPreferredNameServer"];
|
||||
manageAlternateNameServer.Text = settings["ManagementAlternateNameServer"];
|
||||
|
||||
// host name
|
||||
txtHostnamePattern.Text = settings["HostnamePattern"];
|
||||
|
||||
// start action
|
||||
radioStartAction.SelectedValue = settings["StartAction"];
|
||||
txtStartupDelay.Text = settings["StartupDelay"];
|
||||
|
||||
// stop
|
||||
radioStopAction.SelectedValue = settings["StopAction"];
|
||||
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
void IHostingServiceProviderSettings.SaveSettings(StringDictionary settings)
|
||||
{
|
||||
settings["ServerName"] = txtServerName.Text.Trim();
|
||||
|
||||
// general settings
|
||||
settings["RootFolder"] = txtVpsRootFolder.Text.Trim();
|
||||
settings["OsTemplatesPath"] = txtOSTemplatesPath.Text.Trim();
|
||||
settings["ExportedVpsPath"] = txtExportedVpsPath.Text.Trim();
|
||||
|
||||
// CPU
|
||||
settings["CpuLimit"] = txtCpuLimit.Text.Trim();
|
||||
settings["CpuReserve"] = txtCpuReserve.Text.Trim();
|
||||
settings["CpuWeight"] = txtCpuWeight.Text.Trim();
|
||||
|
||||
// DVD library
|
||||
settings["DvdLibraryPath"] = txtDvdLibraryPath.Text.Trim();
|
||||
|
||||
// VHD type
|
||||
settings["VirtualDiskType"] = radioVirtualDiskType.SelectedValue;
|
||||
|
||||
// External network
|
||||
settings["ExternalNetworkId"] = ddlExternalNetworks.SelectedValue;
|
||||
settings["ExternalPreferredNameServer"] = externalPreferredNameServer.Text;
|
||||
settings["ExternalAlternateNameServer"] = externalAlternateNameServer.Text;
|
||||
settings["AutoAssignExternalIP"] = chkAssignIPAutomatically.Checked.ToString();
|
||||
|
||||
// Private network
|
||||
settings["PrivateNetworkFormat"] = ddlPrivateNetworkFormat.SelectedValue;
|
||||
settings["PrivateIPAddress"] = ddlPrivateNetworkFormat.SelectedIndex == 0 ? privateIPAddress.Text : "";
|
||||
settings["PrivateSubnetMask"] = ddlPrivateNetworkFormat.SelectedIndex == 0 ? privateSubnetMask.Text : "";
|
||||
settings["PrivateDefaultGateway"] = privateDefaultGateway.Text;
|
||||
settings["PrivatePreferredNameServer"] = privatePreferredNameServer.Text;
|
||||
settings["PrivateAlternateNameServer"] = privateAlternateNameServer.Text;
|
||||
|
||||
// Management network
|
||||
settings["ManagementNetworkId"] = ddlManagementNetworks.SelectedValue;
|
||||
settings["ManagementNicConfig"] = ddlManageNicConfig.SelectedValue;
|
||||
settings["ManagementPreferredNameServer"] = ddlManageNicConfig.SelectedIndex == 0 ? managePreferredNameServer.Text : "";
|
||||
settings["ManagementAlternateNameServer"] = ddlManageNicConfig.SelectedIndex == 0 ? manageAlternateNameServer.Text : "";
|
||||
|
||||
// host name
|
||||
settings["HostnamePattern"] = txtHostnamePattern.Text.Trim();
|
||||
|
||||
// start action
|
||||
settings["StartAction"] = radioStartAction.SelectedValue;
|
||||
settings["StartupDelay"] = Utils.ParseInt(txtStartupDelay.Text.Trim(), 0).ToString();
|
||||
|
||||
// stop
|
||||
settings["StopAction"] = radioStopAction.SelectedValue;
|
||||
}
|
||||
|
||||
private void BindNetworksList()
|
||||
{
|
||||
try
|
||||
{
|
||||
VirtualSwitch[] switches = ES.Services.VPS.GetExternalSwitches(PanelRequest.ServiceId, txtServerName.Text.Trim());
|
||||
|
||||
ddlExternalNetworks.DataSource = switches;
|
||||
ddlExternalNetworks.DataBind();
|
||||
|
||||
ddlManagementNetworks.DataSource = switches;
|
||||
ddlManagementNetworks.DataBind();
|
||||
ddlManagementNetworks.Items.Insert(0, new ListItem(GetLocalizedString("ddlManagementNetworks.Text"), ""));
|
||||
|
||||
locErrorReadingNetworksList.Visible = false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
ddlExternalNetworks.Items.Add(new ListItem(GetLocalizedString("ErrorReadingNetworksList.Text"), ""));
|
||||
ddlManagementNetworks.Items.Add(new ListItem(GetLocalizedString("ErrorReadingNetworksList.Text"), ""));
|
||||
locErrorReadingNetworksList.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
ServerNameRow.Visible = (radioServer.SelectedIndex == 1);
|
||||
|
||||
if (radioServer.SelectedIndex == 0)
|
||||
{
|
||||
txtServerName.Text = "";
|
||||
}
|
||||
|
||||
// private network
|
||||
PrivCustomFormatRow.Visible = (ddlPrivateNetworkFormat.SelectedIndex == 0);
|
||||
|
||||
// management network
|
||||
ManageNicConfigRow.Visible = (ddlManagementNetworks.SelectedIndex > 0);
|
||||
ManageAlternateNameServerRow.Visible = ManageNicConfigRow.Visible && (ddlManageNicConfig.SelectedIndex == 0);
|
||||
ManagePreferredNameServerRow.Visible = ManageNicConfigRow.Visible && (ddlManageNicConfig.SelectedIndex == 0);
|
||||
}
|
||||
|
||||
protected void radioServer_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
protected void btnConnect_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindNetworksList();
|
||||
}
|
||||
|
||||
protected void ddlPrivateNetworkFormat_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
protected void ddlManageNicConfig_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
protected void ddlManagementNetworks_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,825 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls {
|
||||
|
||||
|
||||
public partial class HyperV2012R2_Settings {
|
||||
|
||||
/// <summary>
|
||||
/// ValidationSummary 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.ValidationSummary ValidationSummary;
|
||||
|
||||
/// <summary>
|
||||
/// locHyperVServer 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 locHyperVServer;
|
||||
|
||||
/// <summary>
|
||||
/// radioServer 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.RadioButtonList radioServer;
|
||||
|
||||
/// <summary>
|
||||
/// ServerNameRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ServerNameRow;
|
||||
|
||||
/// <summary>
|
||||
/// locServerName 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 locServerName;
|
||||
|
||||
/// <summary>
|
||||
/// txtServerName 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.TextBox txtServerName;
|
||||
|
||||
/// <summary>
|
||||
/// btnConnect 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 btnConnect;
|
||||
|
||||
/// <summary>
|
||||
/// ServerNameValidator 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.RequiredFieldValidator ServerNameValidator;
|
||||
|
||||
/// <summary>
|
||||
/// ServerErrorRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ServerErrorRow;
|
||||
|
||||
/// <summary>
|
||||
/// locErrorReadingNetworksList 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.Label locErrorReadingNetworksList;
|
||||
|
||||
/// <summary>
|
||||
/// locGeneralSettings 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 locGeneralSettings;
|
||||
|
||||
/// <summary>
|
||||
/// locVpsRootFolder 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 locVpsRootFolder;
|
||||
|
||||
/// <summary>
|
||||
/// txtVpsRootFolder 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.TextBox txtVpsRootFolder;
|
||||
|
||||
/// <summary>
|
||||
/// RootFolderValidator 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.RequiredFieldValidator RootFolderValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locFolderVariables 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 locFolderVariables;
|
||||
|
||||
/// <summary>
|
||||
/// locOSTemplatesPath 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 locOSTemplatesPath;
|
||||
|
||||
/// <summary>
|
||||
/// txtOSTemplatesPath 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.TextBox txtOSTemplatesPath;
|
||||
|
||||
/// <summary>
|
||||
/// TemplatesPathValidator 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.RequiredFieldValidator TemplatesPathValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locExportedVpsPath 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 locExportedVpsPath;
|
||||
|
||||
/// <summary>
|
||||
/// txtExportedVpsPath 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.TextBox txtExportedVpsPath;
|
||||
|
||||
/// <summary>
|
||||
/// ExportedVpsPathValidator 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.RequiredFieldValidator ExportedVpsPathValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locProcessorSettings 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 locProcessorSettings;
|
||||
|
||||
/// <summary>
|
||||
/// locCpuReserve 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 locCpuReserve;
|
||||
|
||||
/// <summary>
|
||||
/// txtCpuReserve 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.TextBox txtCpuReserve;
|
||||
|
||||
/// <summary>
|
||||
/// CpuReserveValidator 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.RequiredFieldValidator CpuReserveValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locCpuLimit 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 locCpuLimit;
|
||||
|
||||
/// <summary>
|
||||
/// txtCpuLimit 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.TextBox txtCpuLimit;
|
||||
|
||||
/// <summary>
|
||||
/// CpuLimitValidator 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.RequiredFieldValidator CpuLimitValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locCpuWeight 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 locCpuWeight;
|
||||
|
||||
/// <summary>
|
||||
/// txtCpuWeight 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.TextBox txtCpuWeight;
|
||||
|
||||
/// <summary>
|
||||
/// CpuWeightValidator 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.RequiredFieldValidator CpuWeightValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locMediaLibrary 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 locMediaLibrary;
|
||||
|
||||
/// <summary>
|
||||
/// locDvdIsoPath 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 locDvdIsoPath;
|
||||
|
||||
/// <summary>
|
||||
/// txtDvdLibraryPath 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.TextBox txtDvdLibraryPath;
|
||||
|
||||
/// <summary>
|
||||
/// DvdLibraryPathValidator 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.RequiredFieldValidator DvdLibraryPathValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locVhd 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 locVhd;
|
||||
|
||||
/// <summary>
|
||||
/// locDiskType 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 locDiskType;
|
||||
|
||||
/// <summary>
|
||||
/// radioVirtualDiskType 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.RadioButtonList radioVirtualDiskType;
|
||||
|
||||
/// <summary>
|
||||
/// locExternalNetwork 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 locExternalNetwork;
|
||||
|
||||
/// <summary>
|
||||
/// locExternalNetworkName 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 locExternalNetworkName;
|
||||
|
||||
/// <summary>
|
||||
/// ddlExternalNetworks 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.DropDownList ddlExternalNetworks;
|
||||
|
||||
/// <summary>
|
||||
/// locPreferredNameServer 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 locPreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// externalPreferredNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl externalPreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// locAlternateNameServer 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 locAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// externalAlternateNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl externalAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// chkAssignIPAutomatically 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.CheckBox chkAssignIPAutomatically;
|
||||
|
||||
/// <summary>
|
||||
/// ManageUpdatePanel 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 ManageUpdatePanel;
|
||||
|
||||
/// <summary>
|
||||
/// locManagementNetwork 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 locManagementNetwork;
|
||||
|
||||
/// <summary>
|
||||
/// locManagementNetworkName 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 locManagementNetworkName;
|
||||
|
||||
/// <summary>
|
||||
/// ddlManagementNetworks 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.DropDownList ddlManagementNetworks;
|
||||
|
||||
/// <summary>
|
||||
/// ManageNicConfigRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ManageNicConfigRow;
|
||||
|
||||
/// <summary>
|
||||
/// locManageNicConfig 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 locManageNicConfig;
|
||||
|
||||
/// <summary>
|
||||
/// ddlManageNicConfig 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.DropDownList ddlManageNicConfig;
|
||||
|
||||
/// <summary>
|
||||
/// ManagePreferredNameServerRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ManagePreferredNameServerRow;
|
||||
|
||||
/// <summary>
|
||||
/// locManagePreferredNameServer 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 locManagePreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// managePreferredNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl managePreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// ManageAlternateNameServerRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ManageAlternateNameServerRow;
|
||||
|
||||
/// <summary>
|
||||
/// locManageAlternateNameServer 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 locManageAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// manageAlternateNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl manageAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// PrivUpdatePanel 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 PrivUpdatePanel;
|
||||
|
||||
/// <summary>
|
||||
/// locPrivateNetwork 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 locPrivateNetwork;
|
||||
|
||||
/// <summary>
|
||||
/// locIPFormat 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 locIPFormat;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPrivateNetworkFormat 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.DropDownList ddlPrivateNetworkFormat;
|
||||
|
||||
/// <summary>
|
||||
/// PrivCustomFormatRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow PrivCustomFormatRow;
|
||||
|
||||
/// <summary>
|
||||
/// locPrivCustomFormat 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 locPrivCustomFormat;
|
||||
|
||||
/// <summary>
|
||||
/// privateIPAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl privateIPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// privateSubnetMask 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.TextBox privateSubnetMask;
|
||||
|
||||
/// <summary>
|
||||
/// privateSubnetMaskValidator 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.RequiredFieldValidator privateSubnetMaskValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locPrivDefaultGateway 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 locPrivDefaultGateway;
|
||||
|
||||
/// <summary>
|
||||
/// privateDefaultGateway control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl privateDefaultGateway;
|
||||
|
||||
/// <summary>
|
||||
/// locPrivPreferredNameServer 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 locPrivPreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// privatePreferredNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl privatePreferredNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// locPrivAlternateNameServer 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 locPrivAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// privateAlternateNameServer control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EditIPAddressControl privateAlternateNameServer;
|
||||
|
||||
/// <summary>
|
||||
/// locHostname 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 locHostname;
|
||||
|
||||
/// <summary>
|
||||
/// locHostnamePattern 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 locHostnamePattern;
|
||||
|
||||
/// <summary>
|
||||
/// txtHostnamePattern 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.TextBox txtHostnamePattern;
|
||||
|
||||
/// <summary>
|
||||
/// HostnamePatternValidator 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.RequiredFieldValidator HostnamePatternValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locPatternText 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 locPatternText;
|
||||
|
||||
/// <summary>
|
||||
/// locStartAction 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 locStartAction;
|
||||
|
||||
/// <summary>
|
||||
/// locStartOptionsText 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 locStartOptionsText;
|
||||
|
||||
/// <summary>
|
||||
/// radioStartAction 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.RadioButtonList radioStartAction;
|
||||
|
||||
/// <summary>
|
||||
/// locStartupDelayText 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 locStartupDelayText;
|
||||
|
||||
/// <summary>
|
||||
/// locStartupDelay 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 locStartupDelay;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartupDelay 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.TextBox txtStartupDelay;
|
||||
|
||||
/// <summary>
|
||||
/// locSeconds 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 locSeconds;
|
||||
|
||||
/// <summary>
|
||||
/// StartupDelayValidator 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.RequiredFieldValidator StartupDelayValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locStopAction 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 locStopAction;
|
||||
|
||||
/// <summary>
|
||||
/// locStopActionText 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 locStopActionText;
|
||||
|
||||
/// <summary>
|
||||
/// radioStopAction 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.RadioButtonList radioStopAction;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="cbAdministrators.Text" xml:space="preserve">
|
||||
<value>Administrators</value>
|
||||
</data>
|
||||
<data name="cbUsers.Text" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
<data name="secDriveSpace.Text" xml:space="preserve">
|
||||
<value>Drive Space Threshold</value>
|
||||
</data>
|
||||
<data name="secHideCDrive.Text" xml:space="preserve">
|
||||
<value>Hide C: Drive</value>
|
||||
</data>
|
||||
<data name="secPowershellCommand.Text" xml:space="preserve">
|
||||
<value>Remove "Powershell" Command</value>
|
||||
</data>
|
||||
<data name="secRunCommand.Text" xml:space="preserve">
|
||||
<value>Remove "Run" Command</value>
|
||||
</data>
|
||||
<data name="secScreenSaver.Text" xml:space="preserve">
|
||||
<value>Disable Screen Saver</value>
|
||||
</data>
|
||||
<data name="secShutdown.Text" xml:space="preserve">
|
||||
<value>Remove Shutdown and Restart</value>
|
||||
</data>
|
||||
<data name="secTaskManager.Text" xml:space="preserve">
|
||||
<value>Disable Task Manager</value>
|
||||
</data>
|
||||
<data name="secTimeout.Text" xml:space="preserve">
|
||||
<value>Lock Screen Timeout</value>
|
||||
</data>
|
||||
<data name="sekChangeDesktop.Text" xml:space="preserve">
|
||||
<value>Changing Desktop Disabled</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,163 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RDSEditUserExperience.ascx.cs" Inherits="WebsitePanel.Portal.RDS.RDSEditUserExperience" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/RDSCollectionTabs.ascx" TagName="CollectionTabs" TagPrefix="wsp" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
|
||||
<%@ Register Src="../UserControls/ItemButtonPanel.ascx" TagName="ItemButtonPanel" TagPrefix="wsp" %>
|
||||
<script type="text/javascript" src="/JavaScript/jquery.min.js?v=1.4.4"></script>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Left">
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="imgEditRDSCollection" SkinID="EnterpriseStorageSpace48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Edit RDS Collection"></asp:Localize>
|
||||
-
|
||||
<asp:Literal ID="litCollectionName" runat="server" Text="" />
|
||||
</div>
|
||||
<div class="FormContentRDS">
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<wsp:CollectionTabs id="tabs" runat="server" SelectedTab="rds_collection_user_experience" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secTimeout" runat="server" TargetControlID="timeoutPanel" meta:resourcekey="secTimeout" Text="Lock Screen Timeout"/>
|
||||
<asp:Panel ID="timeoutPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtTimeout" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbTimeoutUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbTimeoutAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secRunCommand" runat="server" TargetControlID="runCommandPanel" meta:resourcekey="secRunCommand" Text="Remove Run Command"/>
|
||||
<asp:Panel ID="runCommandPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbRunCommandUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbRunCommandAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secPowershellCommand" runat="server" TargetControlID="powershellCommandPanel" meta:resourcekey="secPowershellCommand" Text="Remove Powershell Command"/>
|
||||
<asp:Panel ID="powershellCommandPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbPowershellUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbPowershellAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secHideCDrive" runat="server" TargetControlID="hideCDrivePanel" meta:resourcekey="secHideCDrive" Text="Hide C: Drive"/>
|
||||
<asp:Panel ID="hideCDrivePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbHideCDriveUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbHideCDriveAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secShutdown" runat="server" TargetControlID="shutdownPanel" meta:resourcekey="secShutdown" Text="Remove Shutdown and Restart"/>
|
||||
<asp:Panel ID="shutdownPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbShutdownUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbShutdownAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secTaskManager" runat="server" TargetControlID="taskManagerPanel" meta:resourcekey="secTaskManager" Text="Disable Task Manager"/>
|
||||
<asp:Panel ID="taskManagerPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbTaskManagerUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbTaskManagerAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secChangeDesktop" runat="server" TargetControlID="desktopPanel" meta:resourcekey="secChangeDesktop" Text="Changing Desktop Disabled"/>
|
||||
<asp:Panel ID="desktopPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbDesktopUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDesktopAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secScreenSaver" runat="server" TargetControlID="screenSaverPanel" meta:resourcekey="secScreenSaver" Text="Disable Screen Saver"/>
|
||||
<asp:Panel ID="screenSaverPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbScreenSaverUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbScreenSaverAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secDriveSpace" runat="server" TargetControlID="driveSpacePanel" meta:resourcekey="secDriveSpace" Text="Drive Space Threshold"/>
|
||||
<asp:Panel ID="driveSpacePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtThreshold" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<div class="FormFooterClean">
|
||||
<wsp:ItemButtonPanel id="buttonPanel" runat="server" ValidationGroup="SaveRDSCollection"
|
||||
OnSaveClick="btnSave_Click" OnSaveExitClick="btnSaveExit_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,230 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.EnterpriseServer.Base.RDS;
|
||||
|
||||
namespace WebsitePanel.Portal.RDS
|
||||
{
|
||||
public partial class RDSEditUserExperience : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
var collection = ES.Services.RDS.GetRdsCollection(PanelRequest.CollectionID);
|
||||
litCollectionName.Text = collection.DisplayName;
|
||||
BindSettings();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindSettings()
|
||||
{
|
||||
var serverSettings = ES.Services.RDS.GetRdsServerSettings(PanelRequest.CollectionID, string.Format("Collection-{0}-Settings", PanelRequest.CollectionID));
|
||||
|
||||
if (serverSettings == null || !serverSettings.Settings.Any())
|
||||
{
|
||||
var defaultSettings = ES.Services.Users.GetUserSettings(PanelSecurity.LoggedUserId, UserSettings.RDS_POLICY);
|
||||
BindDefaultSettings(defaultSettings);
|
||||
}
|
||||
else
|
||||
{
|
||||
BindSettings(serverSettings);
|
||||
}
|
||||
}
|
||||
|
||||
private void BindSettings(RdsServerSettings settings)
|
||||
{
|
||||
var setting = GetServerSetting(settings, RdsServerSettings.LOCK_SCREEN_TIMEOUT);
|
||||
txtTimeout.Text = setting.PropertyValue;
|
||||
cbTimeoutAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbTimeoutUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_RUN_COMMAND);
|
||||
cbRunCommandAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbRunCommandUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_POWERSHELL_COMMAND);
|
||||
cbPowershellAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbPowershellUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.HIDE_C_DRIVE);
|
||||
cbHideCDriveAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbHideCDriveUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.REMOVE_SHUTDOWN_RESTART);
|
||||
cbShutdownAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbShutdownUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.DISABLE_TASK_MANAGER);
|
||||
cbTaskManagerAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbTaskManagerUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.CHANGE_DESKTOP_DISABLED);
|
||||
cbDesktopAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbDesktopUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.SCREEN_SAVER_DISABLED);
|
||||
cbScreenSaverAdministrators.Checked = setting.ApplyAdministrators;
|
||||
cbScreenSaverUsers.Checked = setting.ApplyUsers;
|
||||
|
||||
setting = GetServerSetting(settings, RdsServerSettings.DRIVE_SPACE_THRESHOLD);
|
||||
txtThreshold.Text = setting.PropertyValue;
|
||||
}
|
||||
|
||||
private RdsServerSetting GetServerSetting(RdsServerSettings settings, string propertyName)
|
||||
{
|
||||
return settings.Settings.First(s => s.PropertyName.Equals(propertyName));
|
||||
}
|
||||
|
||||
private RdsServerSettings GetSettings()
|
||||
{
|
||||
var settings = new RdsServerSettings();
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT,
|
||||
PropertyValue = txtTimeout.Text,
|
||||
ApplyAdministrators = cbTimeoutAdministrators.Checked,
|
||||
ApplyUsers = cbTimeoutUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_RUN_COMMAND,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbRunCommandAdministrators.Checked,
|
||||
ApplyUsers = cbRunCommandUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_POWERSHELL_COMMAND,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbPowershellAdministrators.Checked,
|
||||
ApplyUsers = cbPowershellUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.HIDE_C_DRIVE,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbHideCDriveAdministrators.Checked,
|
||||
ApplyUsers = cbHideCDriveUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_SHUTDOWN_RESTART,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbShutdownAdministrators.Checked,
|
||||
ApplyUsers = cbShutdownUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.DISABLE_TASK_MANAGER,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbTaskManagerAdministrators.Checked,
|
||||
ApplyUsers = cbTaskManagerUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.CHANGE_DESKTOP_DISABLED,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbDesktopAdministrators.Checked,
|
||||
ApplyUsers = cbDesktopUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.SCREEN_SAVER_DISABLED,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = cbScreenSaverAdministrators.Checked,
|
||||
ApplyUsers = cbScreenSaverUsers.Checked
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.DRIVE_SPACE_THRESHOLD,
|
||||
PropertyValue = txtThreshold.Text,
|
||||
ApplyAdministrators = true,
|
||||
ApplyUsers = true
|
||||
});
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
private void BindDefaultSettings(UserSettings settings)
|
||||
{
|
||||
txtTimeout.Text = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
||||
cbTimeoutAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]);
|
||||
cbTimeoutUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]);
|
||||
|
||||
cbRunCommandAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]);
|
||||
cbRunCommandUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS]);
|
||||
|
||||
cbPowershellAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]);
|
||||
cbPowershellUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS]);
|
||||
|
||||
cbHideCDriveAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]);
|
||||
cbHideCDriveUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_USERS]);
|
||||
|
||||
cbShutdownAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]);
|
||||
cbShutdownUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS]);
|
||||
|
||||
cbTaskManagerAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]);
|
||||
cbTaskManagerUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS]);
|
||||
|
||||
cbDesktopAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]);
|
||||
cbDesktopUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS]);
|
||||
|
||||
cbScreenSaverAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]);
|
||||
cbScreenSaverUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]);
|
||||
|
||||
txtThreshold.Text = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||
}
|
||||
|
||||
private bool SaveServerSettings()
|
||||
{
|
||||
try
|
||||
{
|
||||
ES.Services.RDS.UpdateRdsServerSettings(PanelRequest.CollectionID, string.Format("Collection-{0}-Settings", PanelRequest.CollectionID), GetSettings());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowErrorMessage("RDSLOCALADMINS_NOT_ADDED", ex);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SaveServerSettings();
|
||||
}
|
||||
|
||||
protected void btnSaveExit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!Page.IsValid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (SaveServerSettings())
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "rds_collections", "SpaceID=" + PanelSecurity.PackageId));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,402 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.RDS {
|
||||
|
||||
|
||||
public partial class RDSEditUserExperience {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// imgEditRDSCollection 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.Image imgEditRDSCollection;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle 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 locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// litCollectionName 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 litCollectionName;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// tabs control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.RDS.UserControls.RdsServerTabs tabs;
|
||||
|
||||
/// <summary>
|
||||
/// secTimeout control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// timeoutPanel 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 timeoutPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtTimeout 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.TextBox txtTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutUsers 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.CheckBox cbTimeoutUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutAdministrators 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.CheckBox cbTimeoutAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secRunCommand control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secRunCommand;
|
||||
|
||||
/// <summary>
|
||||
/// runCommandPanel 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 runCommandPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbRunCommandUsers 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.CheckBox cbRunCommandUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbRunCommandAdministrators 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.CheckBox cbRunCommandAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secPowershellCommand control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secPowershellCommand;
|
||||
|
||||
/// <summary>
|
||||
/// powershellCommandPanel 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 powershellCommandPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbPowershellUsers 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.CheckBox cbPowershellUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbPowershellAdministrators 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.CheckBox cbPowershellAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secHideCDrive control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secHideCDrive;
|
||||
|
||||
/// <summary>
|
||||
/// hideCDrivePanel 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 hideCDrivePanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbHideCDriveUsers 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.CheckBox cbHideCDriveUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbHideCDriveAdministrators 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.CheckBox cbHideCDriveAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secShutdown control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secShutdown;
|
||||
|
||||
/// <summary>
|
||||
/// shutdownPanel 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 shutdownPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbShutdownUsers 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.CheckBox cbShutdownUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbShutdownAdministrators 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.CheckBox cbShutdownAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secTaskManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secTaskManager;
|
||||
|
||||
/// <summary>
|
||||
/// taskManagerPanel 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 taskManagerPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbTaskManagerUsers 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.CheckBox cbTaskManagerUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbTaskManagerAdministrators 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.CheckBox cbTaskManagerAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secChangeDesktop control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secChangeDesktop;
|
||||
|
||||
/// <summary>
|
||||
/// desktopPanel 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 desktopPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbDesktopUsers 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.CheckBox cbDesktopUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbDesktopAdministrators 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.CheckBox cbDesktopAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secScreenSaver control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secScreenSaver;
|
||||
|
||||
/// <summary>
|
||||
/// screenSaverPanel 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 screenSaverPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbScreenSaverUsers 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.CheckBox cbScreenSaverUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbScreenSaverAdministrators 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.CheckBox cbScreenSaverAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secDriveSpace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secDriveSpace;
|
||||
|
||||
/// <summary>
|
||||
/// driveSpacePanel 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 driveSpacePanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtThreshold 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.TextBox txtThreshold;
|
||||
|
||||
/// <summary>
|
||||
/// buttonPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ItemButtonPanel buttonPanel;
|
||||
}
|
||||
}
|
|
@ -138,4 +138,7 @@
|
|||
<data name="Tab.RdsSetupLetter" xml:space="preserve">
|
||||
<value>Setup Instructions</value>
|
||||
</data>
|
||||
<data name="Tab.UserExperience" xml:space="preserve">
|
||||
<value>User Experience</value>
|
||||
</data>
|
||||
</root>
|
|
@ -26,7 +26,8 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
tabsList.Add(CreateTab("rds_collection_edit_users", "Tab.RdsUsers"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_sessions", "Tab.UserSessions"));
|
||||
tabsList.Add(CreateTab("rds_collection_local_admins", "Tab.LocalAdmins"));
|
||||
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
||||
tabsList.Add(CreateTab("rds_collection_user_experience", "Tab.UserExperience"));
|
||||
tabsList.Add(CreateTab("rds_setup_letter", "Tab.RdsSetupLetter"));
|
||||
|
||||
int idx = 0;
|
||||
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SettingsRdsPolicy.ascx.cs" Inherits="WebsitePanel.Portal.SettingsRdsPolicy" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="UserControls/CollapsiblePanel.ascx" %>
|
||||
|
||||
<wsp:CollapsiblePanel id="secTimeout" runat="server" TargetControlID="timeoutPanel" meta:resourcekey="secTimeout" Text="Lock Screen Timeout"/>
|
||||
<asp:Panel ID="timeoutPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtTimeout" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbTimeoutUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbTimeoutAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secRunCommand" runat="server" TargetControlID="runCommandPanel" meta:resourcekey="secRunCommand" Text="Remove Run Command"/>
|
||||
<asp:Panel ID="runCommandPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbRunCommandUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbRunCommandAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secPowershellCommand" runat="server" TargetControlID="powershellCommandPanel" meta:resourcekey="secPowershellCommand" Text="Remove Powershell Command"/>
|
||||
<asp:Panel ID="powershellCommandPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbPowershellUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbPowershellAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secHideCDrive" runat="server" TargetControlID="hideCDrivePanel" meta:resourcekey="secHideCDrive" Text="Hide C: Drive"/>
|
||||
<asp:Panel ID="hideCDrivePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbHideCDriveUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbHideCDriveAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secShutdown" runat="server" TargetControlID="shutdownPanel" meta:resourcekey="secShutdown" Text="Remove Shutdown and Restart"/>
|
||||
<asp:Panel ID="shutdownPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbShutdownUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbShutdownAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secTaskManager" runat="server" TargetControlID="taskManagerPanel" meta:resourcekey="secTaskManager" Text="Disable Task Manager"/>
|
||||
<asp:Panel ID="taskManagerPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbTaskManagerUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbTaskManagerAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secChangeDesktop" runat="server" TargetControlID="desktopPanel" meta:resourcekey="secChangeDesktop" Text="Changing Desktop Disabled"/>
|
||||
<asp:Panel ID="desktopPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbDesktopUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbDesktopAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secScreenSaver" runat="server" TargetControlID="screenSaverPanel" meta:resourcekey="secScreenSaver" Text="Disable Screen Saver"/>
|
||||
<asp:Panel ID="screenSaverPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Users" ID="cbScreenSaverUsers" meta:resourcekey="cbUsers" Checked="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:CheckBox runat="server" Text="Administrators" meta:resourcekey="cbAdministrators" ID="cbScreenSaverAdministrators" Checked="false" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
<wsp:CollapsiblePanel id="secDriveSpace" runat="server" TargetControlID="driveSpacePanel" meta:resourcekey="secDriveSpace" Text="Drive Space Threshold"/>
|
||||
<asp:Panel ID="driveSpacePanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:TextBox ID="txtThreshold" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.EnterpriseServer.Base.RDS;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class SettingsRdsPolicy : WebsitePanelControlBase, IUserSettingsEditorControl
|
||||
{
|
||||
public void BindSettings(UserSettings settings)
|
||||
{
|
||||
txtTimeout.Text = settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE];
|
||||
cbTimeoutAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]);
|
||||
cbTimeoutUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS]);
|
||||
|
||||
cbRunCommandAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]);
|
||||
cbRunCommandUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS]);
|
||||
|
||||
cbPowershellAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]);
|
||||
cbPowershellUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS]);
|
||||
|
||||
cbHideCDriveAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]);
|
||||
cbHideCDriveUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.HIDE_C_DRIVE_USERS]);
|
||||
|
||||
cbShutdownAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]);
|
||||
cbShutdownUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS]);
|
||||
|
||||
cbTaskManagerAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]);
|
||||
cbTaskManagerUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS]);
|
||||
|
||||
cbDesktopAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]);
|
||||
cbDesktopUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS]);
|
||||
|
||||
cbScreenSaverAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]);
|
||||
cbScreenSaverUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS]);
|
||||
|
||||
txtThreshold.Text = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
|
||||
}
|
||||
|
||||
public void SaveSettings(UserSettings settings)
|
||||
{
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE] = txtTimeout.Text;
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS] = cbTimeoutAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS] = cbTimeoutUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS] = cbRunCommandAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS] = cbRunCommandUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS] = cbPowershellAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS] = cbPowershellUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS] = cbHideCDriveAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.HIDE_C_DRIVE_USERS] = cbHideCDriveUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS] = cbShutdownAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS] = cbShutdownUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS] = cbTaskManagerAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS] = cbTaskManagerUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS] = cbDesktopAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS] = cbDesktopUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS] = cbScreenSaverAdministrators.Checked.ToString();
|
||||
settings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS] = cbScreenSaverUsers.Checked.ToString();
|
||||
settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE] = txtThreshold.Text;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,339 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class SettingsRdsPolicy {
|
||||
|
||||
/// <summary>
|
||||
/// secTimeout control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// timeoutPanel 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 timeoutPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtTimeout 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.TextBox txtTimeout;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutUsers 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.CheckBox cbTimeoutUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbTimeoutAdministrators 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.CheckBox cbTimeoutAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secRunCommand control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secRunCommand;
|
||||
|
||||
/// <summary>
|
||||
/// runCommandPanel 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 runCommandPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbRunCommandUsers 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.CheckBox cbRunCommandUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbRunCommandAdministrators 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.CheckBox cbRunCommandAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secPowershellCommand control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secPowershellCommand;
|
||||
|
||||
/// <summary>
|
||||
/// powershellCommandPanel 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 powershellCommandPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbPowershellUsers 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.CheckBox cbPowershellUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbPowershellAdministrators 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.CheckBox cbPowershellAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secHideCDrive control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secHideCDrive;
|
||||
|
||||
/// <summary>
|
||||
/// hideCDrivePanel 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 hideCDrivePanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbHideCDriveUsers 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.CheckBox cbHideCDriveUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbHideCDriveAdministrators 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.CheckBox cbHideCDriveAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secShutdown control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secShutdown;
|
||||
|
||||
/// <summary>
|
||||
/// shutdownPanel 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 shutdownPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbShutdownUsers 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.CheckBox cbShutdownUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbShutdownAdministrators 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.CheckBox cbShutdownAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secTaskManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secTaskManager;
|
||||
|
||||
/// <summary>
|
||||
/// taskManagerPanel 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 taskManagerPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbTaskManagerUsers 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.CheckBox cbTaskManagerUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbTaskManagerAdministrators 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.CheckBox cbTaskManagerAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secChangeDesktop control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secChangeDesktop;
|
||||
|
||||
/// <summary>
|
||||
/// desktopPanel 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 desktopPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbDesktopUsers 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.CheckBox cbDesktopUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbDesktopAdministrators 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.CheckBox cbDesktopAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secScreenSaver control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secScreenSaver;
|
||||
|
||||
/// <summary>
|
||||
/// screenSaverPanel 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 screenSaverPanel;
|
||||
|
||||
/// <summary>
|
||||
/// cbScreenSaverUsers 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.CheckBox cbScreenSaverUsers;
|
||||
|
||||
/// <summary>
|
||||
/// cbScreenSaverAdministrators 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.CheckBox cbScreenSaverAdministrators;
|
||||
|
||||
/// <summary>
|
||||
/// secDriveSpace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secDriveSpace;
|
||||
|
||||
/// <summary>
|
||||
/// driveSpacePanel 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 driveSpacePanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtThreshold 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.TextBox txtThreshold;
|
||||
}
|
||||
}
|
|
@ -63,6 +63,10 @@
|
|||
<asp:HyperLink ID="lnkVpsPolicy" runat="server" meta:resourcekey="lnkVpsPolicy"
|
||||
Text="Virtual Private Servers Policy" NavigateUrl='<%# GetSettingsLink("VpsPolicy", "SettingsVpsPolicy") %>'></asp:HyperLink>
|
||||
</li>
|
||||
<li>
|
||||
<asp:HyperLink ID="lnkRdsPolicy" runat="server" meta:resourcekey="lnkRdsPolicy"
|
||||
Text="Remote Desktop Servers Policy" NavigateUrl='<%# GetSettingsLink("RdsPolicy", "SettingsRdsPolicy") %>'></asp:HyperLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="FormFooter">
|
||||
|
|
|
@ -1,31 +1,3 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
|
@ -175,6 +147,15 @@ namespace WebsitePanel.Portal {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkVpsPolicy;
|
||||
|
||||
/// <summary>
|
||||
/// lnkRdsPolicy 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.HyperLink lnkRdsPolicy;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
|
|
|
@ -56,15 +56,15 @@ namespace WebsitePanel.Portal
|
|||
set { ViewState["DisplayText"] = value; }
|
||||
}
|
||||
|
||||
public long Progress
|
||||
public int Progress
|
||||
{
|
||||
get { return (ViewState["Progress"] != null) ? (long)ViewState["Progress"] : 0; }
|
||||
get { return (ViewState["Progress"] != null) ? (int)ViewState["Progress"] : 0; }
|
||||
set { ViewState["Progress"] = value; }
|
||||
}
|
||||
|
||||
public long Total
|
||||
public int Total
|
||||
{
|
||||
get { return (ViewState["Total"] != null) ? (long)ViewState["Total"] : 0; }
|
||||
get { return (ViewState["Total"] != null) ? (int)ViewState["Total"] : 0; }
|
||||
set { ViewState["Total"] = value; }
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ namespace WebsitePanel.Portal
|
|||
string bkgSrc = Page.ResolveUrl(PortalUtils.GetThemedImage("gauge_bkg.gif"));
|
||||
|
||||
// calculate the width of the gauge
|
||||
long fTotal = Total;
|
||||
int fTotal = Total;
|
||||
int percent = (fTotal > 0) ? Convert.ToInt32(Math.Round((double)Progress / (double)fTotal * 100)) : 0;
|
||||
|
||||
double fFilledWidth = (fTotal > 0) ? ((double)Progress / (double)fTotal * Width) : 0;
|
||||
|
|
|
@ -96,10 +96,10 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
//SharePoint menu group;
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.SharepointFoundationServer))
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointFoundationServerGroup"));
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointFoundationServerGroup"), ResourceGroups.SharepointFoundationServer.Replace(" ", ""));
|
||||
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.SharepointServer))
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointServerGroup"));
|
||||
PrepareSharePointMenuRoot(items, GetLocalizedString("Text.SharePointServerGroup"), ResourceGroups.SharepointServer.Replace(" ", ""));
|
||||
|
||||
//CRM Menu
|
||||
if (Cntx.Groups.ContainsKey(ResourceGroups.HostedCRM2013))
|
||||
|
@ -362,11 +362,11 @@ namespace WebsitePanel.Portal.UserControls
|
|||
bbItems.Add(CreateMenuItem("BlackBerryUsers", "blackberry_users", @"Icons/blackberry_users_48.png"));
|
||||
}
|
||||
|
||||
private void PrepareSharePointMenuRoot(MenuItemCollection items, string menuItemText)
|
||||
private void PrepareSharePointMenuRoot(MenuItemCollection items, string menuItemText, string group)
|
||||
{
|
||||
if (ShortMenu)
|
||||
{
|
||||
PrepareSharePointMenu(items);
|
||||
PrepareSharePointMenu(items, group);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -374,7 +374,7 @@ namespace WebsitePanel.Portal.UserControls
|
|||
|
||||
item.Selectable = false;
|
||||
|
||||
PrepareSharePointMenu(item.ChildItems);
|
||||
PrepareSharePointMenu(item.ChildItems, group);
|
||||
|
||||
if (item.ChildItems.Count > 0)
|
||||
{
|
||||
|
@ -383,14 +383,28 @@ namespace WebsitePanel.Portal.UserControls
|
|||
}
|
||||
}
|
||||
|
||||
private void PrepareSharePointMenu(MenuItemCollection spItems)
|
||||
private void PrepareSharePointMenu(MenuItemCollection spItems, string group)
|
||||
{
|
||||
spItems.Add(CreateSharepointMenuItem("Text.SiteCollections", "sharepoint_sitecollections", @"Icons/sharepoint_sitecollections_48.png", group));
|
||||
spItems.Add(CreateSharepointMenuItem("Text.StorageUsage", "sharepoint_storage_usage", @"Icons/sharepoint_storage_usage_48.png", group));
|
||||
spItems.Add(CreateSharepointMenuItem("Text.StorageLimits", "sharepoint_storage_settings", @"Icons/sharepoint_storage_settings_48.png", group));
|
||||
}
|
||||
|
||||
private MenuItem CreateSharepointMenuItem(string text, string key, string img, string group)
|
||||
{
|
||||
spItems.Add(CreateMenuItem("SiteCollections", "sharepoint_sitecollections", @"Icons/sharepoint_sitecollections_48.png"));
|
||||
MenuItem item = new MenuItem();
|
||||
string PID_SPACE_EXCHANGE_SERVER = "SpaceExchangeServer";
|
||||
item.Text = GetLocalizedString(text);
|
||||
item.NavigateUrl = PortalUtils.NavigatePageURL(PID_SPACE_EXCHANGE_SERVER, "ItemID", ItemID.ToString(),
|
||||
PortalUtils.SPACE_ID_PARAM + "=" + PackageId, DefaultPage.CONTROL_ID_PARAM + "=" + key, "GroupName=" + group,
|
||||
"moduleDefId=exchangeserver");
|
||||
|
||||
//if (ShortMenu) return;
|
||||
if (ShowImg)
|
||||
{
|
||||
item.ImageUrl = PortalUtils.GetThemedIcon(img);
|
||||
}
|
||||
|
||||
spItems.Add(CreateMenuItem("StorageUsage", "sharepoint_storage_usage", @"Icons/sharepoint_storage_usage_48.png"));
|
||||
spItems.Add(CreateMenuItem("StorageLimits", "sharepoint_storage_settings", @"Icons/sharepoint_storage_settings_48.png"));
|
||||
return item;
|
||||
}
|
||||
|
||||
private void PrepareOCSMenuRoot(MenuItemCollection items)
|
||||
|
|
|
@ -92,7 +92,7 @@ namespace WebsitePanel.Portal
|
|||
|
||||
private void UpdateControl()
|
||||
{
|
||||
long total = gauge.Total;
|
||||
int total = gauge.Total;
|
||||
if (QuotaTypeId == 1)
|
||||
{
|
||||
litValue.Text = (total == 0) ? GetLocalizedString("Text.Disabled") : GetLocalizedString("Text.Enabled");
|
||||
|
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ddlGenerationItem.1" xml:space="preserve">
|
||||
<value>First</value>
|
||||
</data>
|
||||
<data name="ddlGenerationItem.2" xml:space="preserve">
|
||||
<value>Second</value>
|
||||
</data>
|
||||
<data name="locGeneration.Text" xml:space="preserve">
|
||||
<value>Generation:</value>
|
||||
</data>
|
||||
<data name="secGeneration.Text" xml:space="preserve">
|
||||
<value>Generation</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,20 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HyperV2012R2_Create.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.HyperV2012R2_Create" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../../UserControls/CollapsiblePanel.ascx" %>
|
||||
|
||||
<wsp:CollapsiblePanel id="secGeneration" runat="server" TargetControlID="GenerationPanel" meta:resourcekey="secGeneration" Text="Generation">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="GenerationPanel" runat="server" Height="0" Style="overflow: hidden; padding: 5px;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="FormLabel150">
|
||||
<asp:Localize ID="locGeneration" runat="server"
|
||||
meta:resourcekey="locGeneration" Text="Generation:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlGeneration" runat="server" CssClass="NormalTextBox" resourcekey="ddlGeneration">
|
||||
<asp:ListItem Value="1">1</asp:ListItem>
|
||||
<asp:ListItem Value="2">2</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
|
@ -0,0 +1,51 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.Providers.Virtualization;
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls
|
||||
{
|
||||
public partial class HyperV2012R2_Create : WebsitePanelControlBase, IVirtualMachineCreateControl
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
public void BindItem(VirtualMachine item)
|
||||
{
|
||||
var generation = item.Generation > 1 ? item.Generation : 1;
|
||||
ddlGeneration.SelectedValue = generation.ToString();
|
||||
}
|
||||
|
||||
public void SaveItem(VirtualMachine item)
|
||||
{
|
||||
item.Generation = Convert.ToInt32(ddlGeneration.SelectedValue);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls {
|
||||
|
||||
|
||||
public partial class HyperV2012R2_Create {
|
||||
|
||||
/// <summary>
|
||||
/// secGeneration control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secGeneration;
|
||||
|
||||
/// <summary>
|
||||
/// GenerationPanel 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 GenerationPanel;
|
||||
|
||||
/// <summary>
|
||||
/// locGeneration 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 locGeneration;
|
||||
|
||||
/// <summary>
|
||||
/// ddlGeneration 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.DropDownList ddlGeneration;
|
||||
}
|
||||
}
|
|
@ -189,6 +189,8 @@
|
|||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
<asp:PlaceHolder ID="providerControl" runat="server"></asp:PlaceHolder>
|
||||
|
||||
<wsp:CollapsiblePanel id="secSnapshots" runat="server"
|
||||
TargetControlID="SnapshotsPanel" meta:resourcekey="secSnapshots" Text="Snapshots">
|
||||
</wsp:CollapsiblePanel>
|
||||
|
|
|
@ -42,6 +42,8 @@ namespace WebsitePanel.Portal.VPS
|
|||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
LoadCustomProviderControl();
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindFormControls();
|
||||
|
@ -54,6 +56,26 @@ namespace WebsitePanel.Portal.VPS
|
|||
ToggleControls();
|
||||
}
|
||||
|
||||
private void LoadCustomProviderControl()
|
||||
{
|
||||
try
|
||||
{
|
||||
LoadProviderControl(PanelSecurity.PackageId, "VPS", providerControl, "Create.ascx");
|
||||
}
|
||||
catch { /* skip */ }
|
||||
}
|
||||
|
||||
private IVirtualMachineCreateControl CustomProviderControl
|
||||
{
|
||||
get
|
||||
{
|
||||
if (providerControl.Controls.Count == 0)
|
||||
return null;
|
||||
|
||||
return (IVirtualMachineCreateControl)providerControl.Controls[0];
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleWizardSteps()
|
||||
{
|
||||
// external network
|
||||
|
@ -113,6 +135,13 @@ namespace WebsitePanel.Portal.VPS
|
|||
|
||||
ddlCpu.SelectedIndex = ddlCpu.Items.Count - 1; // select last (maximum) item
|
||||
|
||||
// the custom provider control
|
||||
if (CustomProviderControl != null)
|
||||
{
|
||||
IVirtualMachineCreateControl ctrl = (IVirtualMachineCreateControl)providerControl.Controls[0];
|
||||
ctrl.BindItem(new VirtualMachine());
|
||||
}
|
||||
|
||||
// external network details
|
||||
if (PackagesHelper.IsQuotaEnabled(PanelSecurity.PackageId, Quotas.VPS_EXTERNAL_NETWORK_ENABLED))
|
||||
{
|
||||
|
@ -287,6 +316,15 @@ namespace WebsitePanel.Portal.VPS
|
|||
|
||||
try
|
||||
{
|
||||
VirtualMachine virtualMachine = new VirtualMachine();
|
||||
|
||||
// the custom provider control
|
||||
if (CustomProviderControl != null)
|
||||
{
|
||||
IVirtualMachineCreateControl ctrl = (IVirtualMachineCreateControl)providerControl.Controls[0];
|
||||
ctrl.SaveItem(virtualMachine);
|
||||
}
|
||||
|
||||
// collect and prepare data
|
||||
string hostname = String.Format("{0}.{1}", txtHostname.Text.Trim(), txtDomain.Text.Trim());
|
||||
|
||||
|
@ -305,7 +343,7 @@ namespace WebsitePanel.Portal.VPS
|
|||
// create virtual machine
|
||||
IntResult res = ES.Services.VPS.CreateVirtualMachine(PanelSecurity.PackageId,
|
||||
hostname, listOperatingSystems.SelectedValue, adminPassword, summaryEmail,
|
||||
Utils.ParseInt(ddlCpu.SelectedValue), Utils.ParseInt(txtRam.Text.Trim()),
|
||||
virtualMachine.Generation, Utils.ParseInt(ddlCpu.SelectedValue), Utils.ParseInt(txtRam.Text.Trim()),
|
||||
Utils.ParseInt(txtHdd.Text.Trim()), Utils.ParseInt(txtSnapshots.Text.Trim()),
|
||||
chkDvdInstalled.Checked, chkBootFromCd.Checked, chkNumLock.Checked,
|
||||
chkStartShutdown.Checked, chkPauseResume.Checked, chkReboot.Checked, chkReset.Checked, chkReinstall.Checked,
|
||||
|
|
|
@ -1,38 +1,9 @@
|
|||
// Copyright (c) 2015, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
@ -401,6 +372,15 @@ namespace WebsitePanel.Portal.VPS {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locGB;
|
||||
|
||||
/// <summary>
|
||||
/// providerControl 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.PlaceHolder providerControl;
|
||||
|
||||
/// <summary>
|
||||
/// secSnapshots control.
|
||||
/// </summary>
|
||||
|
@ -1354,14 +1334,5 @@ namespace WebsitePanel.Portal.VPS {
|
|||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litPrivateAddressesList;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments 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 FormComments;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -195,6 +195,7 @@
|
|||
<Compile Include="Code\ProviderControls\IDatabaseEditUserControl.cs" />
|
||||
<Compile Include="Code\ProviderControls\IFtpEditAccountControl.cs" />
|
||||
<Compile Include="Code\ProviderControls\IHostingServiceProviderSettings.cs" />
|
||||
<Compile Include="Code\ProviderControls\IVirtualMachineCreateControl.cs" />
|
||||
<Compile Include="Code\ProviderControls\IMailEditAccountControl.cs" />
|
||||
<Compile Include="Code\ProviderControls\IMailEditDomainControl.cs" />
|
||||
<Compile Include="Code\ProviderControls\IMailEditForwardingControl.cs" />
|
||||
|
@ -257,6 +258,20 @@
|
|||
<Compile Include="ExchangeServer\UserControls\EnterpriseStorageOwaUsersList.ascx.designer.cs">
|
||||
<DependentUpon>EnterpriseStorageOwaUsersList.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ProviderControls\HyperV2012R2_Settings.ascx.cs">
|
||||
<DependentUpon>HyperV2012R2_Settings.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ProviderControls\HyperV2012R2_Settings.ascx.designer.cs">
|
||||
<DependentUpon>HyperV2012R2_Settings.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="VPS\ProviderControls\HyperV2012R2_Create.ascx.cs">
|
||||
<DependentUpon>HyperV2012R2_Create.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="VPS\ProviderControls\HyperV2012R2_Create.ascx.designer.cs">
|
||||
<DependentUpon>HyperV2012R2_Create.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ProviderControls\SmarterMail100_EditAccount.ascx.cs">
|
||||
<DependentUpon>SmarterMail100_EditAccount.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -428,6 +443,13 @@
|
|||
<Compile Include="RDS\RDSCollections.ascx.designer.cs">
|
||||
<DependentUpon>RDSCollections.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSEditUserExperience.ascx.cs">
|
||||
<DependentUpon>RDSEditUserExperience.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSEditUserExperience.ascx.designer.cs">
|
||||
<DependentUpon>RDSEditUserExperience.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RDS\RDSLocalAdmins.ascx.cs">
|
||||
<DependentUpon>RDSLocalAdmins.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -517,6 +539,13 @@
|
|||
<Compile Include="SettingsDomainLookupLetter.ascx.designer.cs">
|
||||
<DependentUpon>SettingsDomainLookupLetter.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsRdsPolicy.ascx.cs">
|
||||
<DependentUpon>SettingsRdsPolicy.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettingsRdsPolicy.ascx.designer.cs">
|
||||
<DependentUpon>SettingsRdsPolicy.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettingsRdsSetupLetter.ascx.cs">
|
||||
<DependentUpon>SettingsRdsSetupLetter.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -4509,6 +4538,8 @@
|
|||
<Content Include="ExchangeServer\ExchangeCheckDomainName.ascx" />
|
||||
<Content Include="ExchangeServer\UserControls\EnterpriseStorageEditFolderTabs.ascx" />
|
||||
<Content Include="ExchangeServer\UserControls\EnterpriseStorageOwaUsersList.ascx" />
|
||||
<Content Include="ProviderControls\HyperV2012R2_Settings.ascx" />
|
||||
<Content Include="VPS\ProviderControls\HyperV2012R2_Create.ascx" />
|
||||
<Content Include="ProviderControls\SmarterMail100_EditAccount.ascx" />
|
||||
<Content Include="ProviderControls\SmarterMail100_EditDomain.ascx" />
|
||||
<Content Include="ProviderControls\SmarterMail100_EditDomain_Features.ascx" />
|
||||
|
@ -4558,6 +4589,13 @@
|
|||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageFolderSettingsFolderPermissions.ascx.resx" />
|
||||
<Content Include="ExchangeServer\UserControls\App_LocalResources\EnterpriseStorageOwaUsersList.ascx.resx" />
|
||||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageFolderSettingsOwaEditing.ascx.resx" />
|
||||
<Content Include="App_LocalResources\SettingsRdsPolicy.ascx.resx" />
|
||||
<Content Include="VPS\ProviderControls\App_LocalResources\HyperV2012R2_Create.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="ProviderControls\App_LocalResources\HyperV2012R2_Settings.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<EmbeddedResource Include="RDS\App_LocalResources\RDSEditCollectionSettings.ascx.resx" />
|
||||
<Content Include="RDSServersEditServer.ascx" />
|
||||
<Content Include="RDS\AssignedRDSServers.ascx" />
|
||||
|
@ -4569,6 +4607,7 @@
|
|||
<Content Include="RDS\RDSEditCollectionUsers.ascx" />
|
||||
<Content Include="RDS\RDSCreateCollection.ascx" />
|
||||
<Content Include="RDS\RDSCollections.ascx" />
|
||||
<Content Include="RDS\RDSEditUserExperience.ascx" />
|
||||
<Content Include="RDS\RDSLocalAdmins.ascx" />
|
||||
<Content Include="RDS\RDSSetupLetter.ascx" />
|
||||
<Content Include="RDS\RDSUserSessions.ascx" />
|
||||
|
@ -4596,6 +4635,7 @@
|
|||
<Content Include="RDS\App_LocalResources\RDSUserSessions.ascx.resx" />
|
||||
<Content Include="RDS\App_LocalResources\RDSLocalAdmins.ascx.resx" />
|
||||
<Content Include="RDS\App_LocalResources\RDSSetupLetter.ascx.resx" />
|
||||
<Content Include="RDS\App_LocalResources\RDSEditUserExperience.ascx.resx" />
|
||||
<EmbeddedResource Include="ScheduleTaskControls\App_LocalResources\DomainLookupView.ascx.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>DomainLookupView.ascx.Designer.cs</LastGenOutput>
|
||||
|
@ -4604,6 +4644,7 @@
|
|||
<Content Include="ScheduleTaskControls\DomainLookupView.ascx" />
|
||||
<Content Include="SettingsDomainExpirationLetter.ascx" />
|
||||
<Content Include="SettingsDomainLookupLetter.ascx" />
|
||||
<Content Include="SettingsRdsPolicy.ascx" />
|
||||
<Content Include="SettingsRdsSetupLetter.ascx" />
|
||||
<Content Include="SettingsServiceLevels.ascx" />
|
||||
<Content Include="CRM\CRMStorageSettings.ascx" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue