diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 4ce245d3..362d6405 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -10031,6 +10031,37 @@ UPDATE [dbo].[UserSettings] SET [PropertyValue] = @UserPasswordResetLetterTextBo GO + + +DECLARE @UserPasswordResetSMSBody nvarchar(2500) + +Set @UserPasswordResetSMSBody = N'Password reset link: +#passwordResetLink# +' + +IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'PasswordResetLinkSmsBody' ) +BEGIN +INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'PasswordResetLinkSmsBody', @UserPasswordResetSMSBody) +END +ELSE +UPDATE [dbo].[UserSettings] SET [PropertyValue] = @UserPasswordResetSMSBody WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'PasswordResetLinkSmsBody' +GO + + +DECLARE @UserPasswordPincodeSMSBody nvarchar(2500) + +Set @UserPasswordPincodeSMSBody = N' +Your password reset pincode: +#passwordResetPincode#' + +IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'PasswordResetPincodeSmsBody' ) +BEGIN +INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'PasswordResetPincodeSmsBody', @UserPasswordPincodeSMSBody) +END +ELSE +UPDATE [dbo].[UserSettings] SET [PropertyValue] = @UserPasswordPincodeSMSBody WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'PasswordResetPincodeSmsBody' +GO + -- Exchange setup EMAIL TEMPLATE @@ -10690,7 +10721,6 @@ GO IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetSearchObject') DROP PROCEDURE GetSearchObject GO - CREATE PROCEDURE [dbo].[GetSearchObject] ( @ActorID int, diff --git a/WebsitePanel/Sources/Tools/.nuget/NuGet.Config b/WebsitePanel/Sources/Tools/.nuget/NuGet.Config new file mode 100644 index 00000000..6a318ad9 --- /dev/null +++ b/WebsitePanel/Sources/Tools/.nuget/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/Tools/.nuget/NuGet.exe b/WebsitePanel/Sources/Tools/.nuget/NuGet.exe new file mode 100644 index 00000000..8dd7e45a Binary files /dev/null and b/WebsitePanel/Sources/Tools/.nuget/NuGet.exe differ diff --git a/WebsitePanel/Sources/Tools/.nuget/NuGet.targets b/WebsitePanel/Sources/Tools/.nuget/NuGet.targets new file mode 100644 index 00000000..428c8dad --- /dev/null +++ b/WebsitePanel/Sources/Tools/.nuget/NuGet.targets @@ -0,0 +1,144 @@ + + + + $(MSBuildProjectDirectory)\..\ + + + false + + + false + + + true + + + false + + + + + + + + + + + $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) + + + + + $(SolutionDir).nuget + + + + $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config + $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config + + + + $(MSBuildProjectDirectory)\packages.config + $(PackagesProjectConfig) + + + + + $(NuGetToolsPath)\NuGet.exe + @(PackageSource) + + "$(NuGetExePath)" + mono --runtime=v4.0.30319 "$(NuGetExePath)" + + $(TargetDir.Trim('\\')) + + -RequireConsent + -NonInteractive + + "$(SolutionDir) " + "$(SolutionDir)" + + + $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) + $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols + + + + RestorePackages; + $(BuildDependsOn); + + + + + $(BuildDependsOn); + BuildPackage; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs index 7af8b4f3..d713ba88 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Base/System/SystemSettings.cs @@ -47,6 +47,14 @@ namespace WebsitePanel.EnterpriseServer public const string PACKAGE_DISPLAY_SETTINGS = "PackageDisplaySettings"; public const string RDS_SETTINGS = "RdsSettings"; public const string WEBDAV_PORTAL_SETTINGS = "WebdavPortalSettings"; + public const string TWILIO_SETTINGS = "TwilioSettings"; + + + //Keys + public const string TWILIO_ACCOUNTSID_KEY = "TwilioAccountSid"; + public const string TWILIO_AUTHTOKEN_KEY = "TwilioAuthToken"; + public const string TWILIO_PHONEFROM_KEY = "TwilioPhoneFrom"; + public const string WEBDAV_PASSWORD_RESET_ENABLED_KEY = "WebdavPswResetEnabled"; // key to access to wpi main & custom feed in wpi settings diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs index dbc4e005..d54d8eb3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ExchangeServerProxy.cs @@ -11,6 +11,12 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.3038. // + +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; + namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; using System.Web.Services; @@ -19,10 +25,6 @@ namespace WebsitePanel.EnterpriseServer { using System; using System.Diagnostics; using System.Data; - using WebsitePanel.Providers.HostedSolution; - using WebsitePanel.Providers.Common; - using WebsitePanel.Providers.ResultObjects; - using WebsitePanel.Providers; /// @@ -4311,24 +4313,26 @@ namespace WebsitePanel.EnterpriseServer { /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetMailboxSetupInstructions", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup) { + public string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string passwordResetUrl) { object[] results = this.Invoke("GetMailboxSetupInstructions", new object[] { itemId, accountId, pmm, emailMode, - signup}); + signup, + passwordResetUrl}); return ((string)(results[0])); } /// - public System.IAsyncResult BeginGetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginGetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string passwordResetUrl, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("GetMailboxSetupInstructions", new object[] { itemId, accountId, pmm, emailMode, - signup}, callback, asyncState); + signup, + passwordResetUrl}, callback, asyncState); } /// @@ -4338,12 +4342,12 @@ namespace WebsitePanel.EnterpriseServer { } /// - public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup) { - this.GetMailboxSetupInstructionsAsync(itemId, accountId, pmm, emailMode, signup, null); + public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string passwordResetUrl) { + this.GetMailboxSetupInstructionsAsync(itemId, accountId, pmm, emailMode, signup, passwordResetUrl, null); } /// - public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, object userState) { + public void GetMailboxSetupInstructionsAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string passwordResetUrl, object userState) { if ((this.GetMailboxSetupInstructionsOperationCompleted == null)) { this.GetMailboxSetupInstructionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailboxSetupInstructionsOperationCompleted); } @@ -4352,7 +4356,8 @@ namespace WebsitePanel.EnterpriseServer { accountId, pmm, emailMode, - signup}, this.GetMailboxSetupInstructionsOperationCompleted, userState); + signup, + passwordResetUrl}, this.GetMailboxSetupInstructionsOperationCompleted, userState); } private void OnGetMailboxSetupInstructionsOperationCompleted(object arg) { diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs index 2976bfe4..05baf043 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs @@ -80,6 +80,12 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { private System.Threading.SendOrPostCallback SetDefaultOrganizationOperationCompleted; + private System.Threading.SendOrPostCallback GetUserGeneralSettingsWithExtraDataOperationCompleted; + + private System.Threading.SendOrPostCallback SendResetUserPasswordLinkSmsOperationCompleted; + + private System.Threading.SendOrPostCallback SendResetUserPasswordPincodeSmsOperationCompleted; + private System.Threading.SendOrPostCallback AddOrganizationDomainOperationCompleted; private System.Threading.SendOrPostCallback ChangeOrganizationDomainTypeOperationCompleted; @@ -229,6 +235,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { /// public event SetDefaultOrganizationCompletedEventHandler SetDefaultOrganizationCompleted; + /// + public event GetUserGeneralSettingsWithExtraDataCompletedEventHandler GetUserGeneralSettingsWithExtraDataCompleted; + + /// + public event SendResetUserPasswordLinkSmsCompletedEventHandler SendResetUserPasswordLinkSmsCompleted; + + /// + public event SendResetUserPasswordPincodeSmsCompletedEventHandler SendResetUserPasswordPincodeSmsCompleted; + /// public event AddOrganizationDomainCompletedEventHandler AddOrganizationDomainCompleted; @@ -1310,6 +1325,144 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettingsWithExtraData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationUser GetUserGeneralSettingsWithExtraData(int itemId, int accountId) { + object[] results = this.Invoke("GetUserGeneralSettingsWithExtraData", new object[] { + itemId, + accountId}); + return ((OrganizationUser)(results[0])); + } + + /// + public System.IAsyncResult BeginGetUserGeneralSettingsWithExtraData(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetUserGeneralSettingsWithExtraData", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public OrganizationUser EndGetUserGeneralSettingsWithExtraData(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((OrganizationUser)(results[0])); + } + + /// + public void GetUserGeneralSettingsWithExtraDataAsync(int itemId, int accountId) { + this.GetUserGeneralSettingsWithExtraDataAsync(itemId, accountId, null); + } + + /// + public void GetUserGeneralSettingsWithExtraDataAsync(int itemId, int accountId, object userState) { + if ((this.GetUserGeneralSettingsWithExtraDataOperationCompleted == null)) { + this.GetUserGeneralSettingsWithExtraDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGeneralSettingsWithExtraDataOperationCompleted); + } + this.InvokeAsync("GetUserGeneralSettingsWithExtraData", new object[] { + itemId, + accountId}, this.GetUserGeneralSettingsWithExtraDataOperationCompleted, userState); + } + + private void OnGetUserGeneralSettingsWithExtraDataOperationCompleted(object arg) { + if ((this.GetUserGeneralSettingsWithExtraDataCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetUserGeneralSettingsWithExtraDataCompleted(this, new GetUserGeneralSettingsWithExtraDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendResetUserPasswordLinkSms", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public ResultObject SendResetUserPasswordLinkSms(int itemId, int accountId, string reason, string phoneTo) { + object[] results = this.Invoke("SendResetUserPasswordLinkSms", new object[] { + itemId, + accountId, + reason, + phoneTo}); + return ((ResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSendResetUserPasswordLinkSms(int itemId, int accountId, string reason, string phoneTo, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SendResetUserPasswordLinkSms", new object[] { + itemId, + accountId, + reason, + phoneTo}, callback, asyncState); + } + + /// + public ResultObject EndSendResetUserPasswordLinkSms(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ResultObject)(results[0])); + } + + /// + public void SendResetUserPasswordLinkSmsAsync(int itemId, int accountId, string reason, string phoneTo) { + this.SendResetUserPasswordLinkSmsAsync(itemId, accountId, reason, phoneTo, null); + } + + /// + public void SendResetUserPasswordLinkSmsAsync(int itemId, int accountId, string reason, string phoneTo, object userState) { + if ((this.SendResetUserPasswordLinkSmsOperationCompleted == null)) { + this.SendResetUserPasswordLinkSmsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendResetUserPasswordLinkSmsOperationCompleted); + } + this.InvokeAsync("SendResetUserPasswordLinkSms", new object[] { + itemId, + accountId, + reason, + phoneTo}, this.SendResetUserPasswordLinkSmsOperationCompleted, userState); + } + + private void OnSendResetUserPasswordLinkSmsOperationCompleted(object arg) { + if ((this.SendResetUserPasswordLinkSmsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SendResetUserPasswordLinkSmsCompleted(this, new SendResetUserPasswordLinkSmsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendResetUserPasswordPincodeSms", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public ResultObject SendResetUserPasswordPincodeSms(System.Guid token, string phoneTo) { + object[] results = this.Invoke("SendResetUserPasswordPincodeSms", new object[] { + token, + phoneTo}); + return ((ResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSendResetUserPasswordPincodeSms(System.Guid token, string phoneTo, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SendResetUserPasswordPincodeSms", new object[] { + token, + phoneTo}, callback, asyncState); + } + + /// + public ResultObject EndSendResetUserPasswordPincodeSms(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ResultObject)(results[0])); + } + + /// + public void SendResetUserPasswordPincodeSmsAsync(System.Guid token, string phoneTo) { + this.SendResetUserPasswordPincodeSmsAsync(token, phoneTo, null); + } + + /// + public void SendResetUserPasswordPincodeSmsAsync(System.Guid token, string phoneTo, object userState) { + if ((this.SendResetUserPasswordPincodeSmsOperationCompleted == null)) { + this.SendResetUserPasswordPincodeSmsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendResetUserPasswordPincodeSmsOperationCompleted); + } + this.InvokeAsync("SendResetUserPasswordPincodeSms", new object[] { + token, + phoneTo}, this.SendResetUserPasswordPincodeSmsOperationCompleted, userState); + } + + private void OnSendResetUserPasswordPincodeSmsOperationCompleted(object arg) { + if ((this.SendResetUserPasswordPincodeSmsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SendResetUserPasswordPincodeSmsCompleted(this, new SendResetUserPasswordPincodeSmsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public int AddOrganizationDomain(int itemId, string domainName) { @@ -2495,21 +2648,23 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendResetUserPasswordEmail", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public void SendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo) { + public void SendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo, bool finalStep) { this.Invoke("SendResetUserPasswordEmail", new object[] { itemId, accountId, reason, - mailTo}); + mailTo, + finalStep}); } /// - public System.IAsyncResult BeginSendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginSendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo, bool finalStep, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("SendResetUserPasswordEmail", new object[] { itemId, accountId, reason, - mailTo}, callback, asyncState); + mailTo, + finalStep}, callback, asyncState); } /// @@ -2518,12 +2673,12 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { } /// - public void SendResetUserPasswordEmailAsync(int itemId, int accountId, string reason, string mailTo) { - this.SendResetUserPasswordEmailAsync(itemId, accountId, reason, mailTo, null); + public void SendResetUserPasswordEmailAsync(int itemId, int accountId, string reason, string mailTo, bool finalStep) { + this.SendResetUserPasswordEmailAsync(itemId, accountId, reason, mailTo, finalStep, null); } /// - public void SendResetUserPasswordEmailAsync(int itemId, int accountId, string reason, string mailTo, object userState) { + public void SendResetUserPasswordEmailAsync(int itemId, int accountId, string reason, string mailTo, bool finalStep, object userState) { if ((this.SendResetUserPasswordEmailOperationCompleted == null)) { this.SendResetUserPasswordEmailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendResetUserPasswordEmailOperationCompleted); } @@ -2531,7 +2686,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { itemId, accountId, reason, - mailTo}, this.SendResetUserPasswordEmailOperationCompleted, userState); + mailTo, + finalStep}, this.SendResetUserPasswordEmailOperationCompleted, userState); } private void OnSendResetUserPasswordEmailOperationCompleted(object arg) { @@ -3816,6 +3972,84 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] public delegate void SetDefaultOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + public delegate void GetUserGeneralSettingsWithExtraDataCompletedEventHandler(object sender, GetUserGeneralSettingsWithExtraDataCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetUserGeneralSettingsWithExtraDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetUserGeneralSettingsWithExtraDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public OrganizationUser Result { + get { + this.RaiseExceptionIfNecessary(); + return ((OrganizationUser)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + public delegate void SendResetUserPasswordLinkSmsCompletedEventHandler(object sender, SendResetUserPasswordLinkSmsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SendResetUserPasswordLinkSmsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SendResetUserPasswordLinkSmsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + public delegate void SendResetUserPasswordPincodeSmsCompletedEventHandler(object sender, SendResetUserPasswordPincodeSmsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SendResetUserPasswordPincodeSmsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SendResetUserPasswordPincodeSmsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ResultObject)(this.results[0])); + } + } + } + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs index 47a17473..28402df7 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/ExchangeServer/ExchangeServerController.cs @@ -2564,7 +2564,7 @@ namespace WebsitePanel.EnterpriseServer } } - public static string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup) + public static string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string passwordResetUrl) { #region Demo Mode if (IsDemoMode) @@ -2589,12 +2589,11 @@ namespace WebsitePanel.EnterpriseServer if (String.IsNullOrEmpty(body)) return null; - string result = EvaluateMailboxTemplate(itemId, accountId, pmm, false, false, body); + string result = EvaluateMailboxTemplate(itemId, accountId, pmm, false, false, body, passwordResetUrl); return user.HtmlMail ? result : result.Replace("\n", "
"); } - private static string EvaluateMailboxTemplate(int itemId, int accountId, - bool pmm, bool emailMode, bool signup, string template) + private static string EvaluateMailboxTemplate(int itemId, int accountId, bool pmm, bool emailMode, bool signup, string template, string passwordResetUrl) { Hashtable items = new Hashtable(); @@ -2616,7 +2615,10 @@ namespace WebsitePanel.EnterpriseServer items["AccountDomain"] = account.PrimaryEmailAddress.Substring(account.PrimaryEmailAddress.IndexOf("@") + 1); items["DefaultDomain"] = org.DefaultDomain; - var passwordResetUrl = OrganizationController.GenerateUserPasswordResetLink(account.ItemId, account.AccountId); + Guid token; + + passwordResetUrl = OrganizationController.GenerateUserPasswordResetLink(account.ItemId, account.AccountId, out token, string.Empty, passwordResetUrl); + if (!string.IsNullOrEmpty(passwordResetUrl)) { items["PswResetUrl"] = passwordResetUrl; @@ -2694,8 +2696,8 @@ namespace WebsitePanel.EnterpriseServer if (to == null) to = user.Email; - subject = EvaluateMailboxTemplate(itemId, accountId, false, true, signup, subject); - body = EvaluateMailboxTemplate(itemId, accountId, false, true, signup, body); + subject = EvaluateMailboxTemplate(itemId, accountId, false, true, signup, subject, string.Empty); + body = EvaluateMailboxTemplate(itemId, accountId, false, true, signup, body, string.Empty); // send message return MailHelper.SendMessage(from, to, cc, subject, body, priority, isHtml); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs index 2622e03f..13d20ed1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs @@ -30,10 +30,13 @@ using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; +using System.Configuration; using System.Data; +using System.Globalization; using System.Net.Mail; using System.Text; using System.Threading.Tasks; +using Twilio; using WebsitePanel.EnterpriseServer.Code.HostedSolution; using WebsitePanel.EnterpriseServer.Code.SharePoint; using WebsitePanel.EnterpriseServer.Extensions; @@ -1560,6 +1563,173 @@ namespace WebsitePanel.EnterpriseServer return expiredUsersDb; } + public static ResultObject SendResetUserPasswordLinkSms(int itemId, int accountId, string reason, + string phoneTo = null) + { + var result = TaskManager.StartResultTask("ORGANIZATION", "SEND_USER_PASSWORD_RESET_SMS", + itemId); + + try + { + + // load organization + Organization org = GetOrganization(itemId); + + if (org == null) + { + throw new Exception(string.Format("Organization not found (ItemId = {0})", itemId)); + } + + UserInfo owner = PackageController.GetPackageOwner(org.PackageId); + OrganizationUser user = OrganizationController.GetUserGeneralSettingsWithExtraData(itemId, accountId); + + user.ItemId = itemId; + + if (string.IsNullOrEmpty(phoneTo)) + { + phoneTo = user.MobilePhone; + } + + UserSettings settings = UserController.GetUserSettings(owner.UserId, + UserSettings.USER_PASSWORD_RESET_LETTER); + + + string body = settings["PasswordResetLinkSmsBody"]; + + var pincode = GeneratePincode(); + Guid token; + + var items = new Hashtable(); + + items["passwordResetLink"] = GenerateUserPasswordResetLink(user.ItemId, user.AccountId, out token, pincode); + + body = PackageController.EvaluateTemplate(body, items); + + TaskManager.Write("Organization ID : " + user.ItemId); + TaskManager.Write("Account : " + user.DisplayName); + TaskManager.Write("Reason : " + reason); + TaskManager.Write("SmsTo : " + phoneTo); + + // send Sms message + var response = SendSms(phoneTo, body); + + if (response.RestException != null) + { + throw new Exception(response.RestException.Message); + } + + SetAccessTokenResponse(token, pincode); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + TaskManager.CompleteResultTask(result); + result.AddError("", ex); + return result; + } + + TaskManager.CompleteResultTask(); + return result; + } + + public static ResultObject SendResetUserPasswordPincodeSms(Guid token, string phoneTo = null) + { + var result = TaskManager.StartResultTask("ORGANIZATION", "SEND_USER_PASSWORD_RESET_SMS_PINCODE"); + + try + { + var accessToken = OrganizationController.GetAccessToken(token, AccessTokenTypes.PasswrodReset); + + if (accessToken == null) + { + throw new Exception(string.Format("Access token not found")); + } + + // load organization + Organization org = GetOrganization(accessToken.ItemId); + + if (org == null) + { + throw new Exception(string.Format("Organization not found")); + } + + UserInfo owner = PackageController.GetPackageOwner(org.PackageId); + OrganizationUser user = OrganizationController.GetUserGeneralSettingsWithExtraData(accessToken.ItemId, + accessToken.AccountId); + + if (string.IsNullOrEmpty(phoneTo)) + { + phoneTo = user.MobilePhone; + } + + UserSettings settings = UserController.GetUserSettings(owner.UserId, UserSettings.USER_PASSWORD_RESET_LETTER); + + string body = settings["PasswordResetPincodeSmsBody"]; + + var items = new Hashtable(); + + var pincode = GeneratePincode(); + + items["passwordResetPincode"] = pincode; + + body = PackageController.EvaluateTemplate(body, items); + + TaskManager.Write("Organization ID : " + user.ItemId); + TaskManager.Write("Account : " + user.DisplayName); + TaskManager.Write("SmsTo : " + phoneTo); + + // send Sms message + var response = SendSms(phoneTo, body); + + if (response.RestException != null) + { + throw new Exception(response.RestException.Message); + } + + SetAccessTokenResponse(token, pincode); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + TaskManager.CompleteResultTask(result); + result.AddError("", ex); + return result; + } + + TaskManager.CompleteResultTask(); + return result; + } + + private static string GeneratePincode() + { + var random = new Random(Guid.NewGuid().GetHashCode()); + + return random.Next(10000, 99999).ToString(CultureInfo.InvariantCulture); + } + + private static SMSMessage SendSms(string to, string body) + { + SystemSettings settings = SystemController.GetSystemSettingsInternal(SystemSettings.TWILIO_SETTINGS, false); + + if (settings == null) + { + throw new Exception("Twilio settings are not set"); + } + + string accountSid = settings.GetValueOrDefault(SystemSettings.TWILIO_ACCOUNTSID_KEY, string.Empty); + string authToken = settings.GetValueOrDefault(SystemSettings.TWILIO_AUTHTOKEN_KEY, string.Empty); + string phoneFrom = settings.GetValueOrDefault(SystemSettings.TWILIO_PHONEFROM_KEY, string.Empty); + + if (string.IsNullOrEmpty(accountSid) || string.IsNullOrEmpty(accountSid) || string.IsNullOrEmpty(accountSid)) + { + throw new Exception("Twilio settings are not set (System settings)"); + } + + var client = new TwilioRestClient(accountSid, authToken); + + return client.SendSmsMessage(phoneFrom, to, body); + } + /// /// Send reset user password email /// @@ -1567,7 +1737,8 @@ namespace WebsitePanel.EnterpriseServer /// User Id /// Reason why reset email is sent. /// Optional, if null accountID user PrimaryEmailAddress will be used - public static void SendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo = null) + /// Url direction + public static void SendResetUserPasswordEmail(int itemId, int accountId, string reason, string mailTo, bool finalStep) { // load organization Organization org = GetOrganization(itemId); @@ -1581,11 +1752,9 @@ namespace WebsitePanel.EnterpriseServer UserInfo owner = PackageController.GetPackageOwner(org.PackageId); - OrganizationUser user = OrganizationController.GetAccount(itemId, accountId); + OrganizationUser user = OrganizationController.GetUserGeneralSettingsWithExtraData(itemId, accountId); - OrganizationUser settings = orgProxy.GetUserGeneralSettings(user.AccountName, org.OrganizationId); - - user.PasswordExpirationDateTime = settings.PasswordExpirationDateTime; + user.ItemId = itemId; if (string.IsNullOrEmpty(mailTo)) { @@ -1596,16 +1765,16 @@ namespace WebsitePanel.EnterpriseServer var logoUrl = generalSettings != null ? generalSettings.OrganizationLogoUrl : string.Empty; - SendUserPasswordEmail(owner, user, reason, mailTo, logoUrl, UserSettings.USER_PASSWORD_RESET_LETTER, "USER_PASSWORD_RESET_LETTER"); + SendUserPasswordEmail(owner, user, reason, mailTo, logoUrl, UserSettings.USER_PASSWORD_RESET_LETTER, "USER_PASSWORD_RESET_LETTER", finalStep); } public static void SendUserExpirationPasswordEmail(UserInfo owner, OrganizationUser user, string reason, string mailTo, string logoUrl) { - SendUserPasswordEmail(owner, user, reason, user.PrimaryEmailAddress, logoUrl, UserSettings.USER_PASSWORD_EXPIRATION_LETTER, "USER_PASSWORD_EXPIRATION_LETTER"); + SendUserPasswordEmail(owner, user, reason, user.PrimaryEmailAddress, logoUrl, UserSettings.USER_PASSWORD_EXPIRATION_LETTER, "USER_PASSWORD_EXPIRATION_LETTER", false); } - public static void SendUserPasswordEmail(UserInfo owner, OrganizationUser user, string reason, string mailTo, string logoUrl, string settingsName, string taskName) + public static void SendUserPasswordEmail(UserInfo owner, OrganizationUser user, string reason, string mailTo, string logoUrl, string settingsName, string taskName, bool finalStep) { UserSettings settings = UserController.GetUserSettings(owner.UserId, settingsName); @@ -1632,14 +1801,23 @@ namespace WebsitePanel.EnterpriseServer priority = (MailPriority) Enum.Parse(typeof (MailPriority), settings["Priority"], true); } + Guid token; + + string pincode = finalStep ? GeneratePincode() : null; + Hashtable items = new Hashtable(); items["user"] = user; items["logoUrl"] = logoUrl; - items["passwordResetLink"] = GenerateUserPasswordResetLink(user.ItemId, user.AccountId); + items["passwordResetLink"] = GenerateUserPasswordResetLink(user.ItemId, user.AccountId, out token, pincode); body = PackageController.EvaluateTemplate(body, items); + if (finalStep) + { + SetAccessTokenResponse(token, pincode); + } + TaskManager.Write("Organization ID : " + user.ItemId); TaskManager.Write("Account : " + user.DisplayName); TaskManager.Write("Reason : " + reason); @@ -1658,6 +1836,8 @@ namespace WebsitePanel.EnterpriseServer } } + + public static AccessToken GetAccessToken(Guid accessToken, AccessTokenTypes type) { return ObjectUtils.FillObjectFromDataReader(DataProvider.GetAccessTokenByAccessToken(accessToken, type)); @@ -1678,23 +1858,38 @@ namespace WebsitePanel.EnterpriseServer return SystemController.GetSystemSettingsInternal(SystemSettings.WEBDAV_PORTAL_SETTINGS, false); } - public static string GenerateUserPasswordResetLink(int itemId, int accountId) + public static string GenerateUserPasswordResetLink(int itemId, int accountId, out Guid tokenGuid, string pincode = null, string resetUrl = null) { - string passwordResetUrlFormat = "account/password-reset/step-2"; - var settings = GetWebDavSystemSettings(); + tokenGuid = new Guid(); - if (settings == null || !settings.GetValueOrDefault(SystemSettings.WEBDAV_PASSWORD_RESET_ENABLED_KEY, false) ||!settings.Contains("WebdavPortalUrl")) + if (settings == null || !settings.GetValueOrDefault(SystemSettings.WEBDAV_PASSWORD_RESET_ENABLED_KEY, false) || !settings.Contains("WebdavPortalUrl")) { return string.Empty; } + if (string.IsNullOrEmpty(resetUrl) == false) + { + return resetUrl; + } + + string passwordResetUrlFormat = string.IsNullOrEmpty(pincode) ? "account/password-reset/step-2" : "account/password-reset/step-final"; + var webdavPortalUrl = new Uri(settings["WebdavPortalUrl"]); var token = CreateAccessToken(itemId, accountId, AccessTokenTypes.PasswrodReset); - return webdavPortalUrl.Append(passwordResetUrlFormat) - .Append(token.AccessTokenGuid.ToString("n")).ToString(); + tokenGuid = token.AccessTokenGuid; + + var resultUrl = webdavPortalUrl.Append(passwordResetUrlFormat) + .Append(token.AccessTokenGuid.ToString("n")); + + if (string.IsNullOrEmpty(pincode) == false) + { + resultUrl = resultUrl.Append(pincode); + } + + return resultUrl.ToString(); } private static AccessToken CreateAccessToken(int itemId, int accountId, AccessTokenTypes type) @@ -1804,7 +1999,8 @@ namespace WebsitePanel.EnterpriseServer AccountLockoutDuration = GetValueSafe(parts, 9, 0), ResetAccountLockoutCounterAfter = GetValueSafe(parts, 10, 0), LockoutSettingsEnabled = GetValueSafe(parts, 11, false), - PasswordComplexityEnabled = GetValueSafe(parts, 11, true), + PasswordComplexityEnabled = GetValueSafe(parts, 12, true), + MaxPasswordAge = GetValueSafe(parts, 13, 42), }; @@ -2668,6 +2864,50 @@ namespace WebsitePanel.EnterpriseServer return (account); } + public static OrganizationUser GetUserGeneralSettingsWithExtraData(int itemId, int accountId) + { + OrganizationUser account = null; + Organization org = null; + + try + { + // load organization + org = GetOrganization(itemId); + if (org == null) + return null; + + // load account + account = GetAccount(itemId, accountId); + } + catch (Exception) { } + + try + { + // get mailbox settings + Organizations orgProxy = GetOrganizationProxy(org.ServiceId); + string accountName = GetAccountName(account.AccountName); + + + OrganizationUser retUser = orgProxy.GetOrganizationUserWithExtraData(accountName, org.OrganizationId); + retUser.AccountId = accountId; + retUser.AccountName = account.AccountName; + retUser.PrimaryEmailAddress = account.PrimaryEmailAddress; + retUser.AccountType = account.AccountType; + retUser.CrmUserId = CRMController.GetCrmUserId(accountId); + retUser.IsOCSUser = DataProvider.CheckOCSUserExists(accountId); + retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); + retUser.IsBlackBerryUser = BlackBerryController.CheckBlackBerryUserExists(accountId); + retUser.SubscriberNumber = account.SubscriberNumber; + retUser.LevelId = account.LevelId; + retUser.IsVIP = account.IsVIP; + + return retUser; + } + catch { } + + return (account); + } + public static int SetUserGeneralSettings(int itemId, int accountId, string displayName, string password, bool hideAddressBook, bool disabled, bool locked, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs index bda161b1..db1b324a 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs @@ -57,11 +57,6 @@ namespace WebsitePanel.EnterpriseServer } } } - - // send mail message - // MailHelper.SendMessage(mailFrom, mailTo, mailSubject, mailBody, false); } - - } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebsitePanel.EnterpriseServer.Code.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebsitePanel.EnterpriseServer.Code.csproj index 7cf712ca..9fa34343 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebsitePanel.EnterpriseServer.Code.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebsitePanel.EnterpriseServer.Code.csproj @@ -12,6 +12,8 @@ WebsitePanel.EnterpriseServer.Code v4.0 512 + ..\ + true true @@ -42,6 +44,9 @@ ..\..\Lib\Microsoft.Web.Services3.dll True + + ..\packages\RestSharp.105.0.1\lib\net4\RestSharp.dll + @@ -55,6 +60,9 @@ + + ..\packages\Twilio.3.6.29\lib\3.5\Twilio.Api.dll + False ..\..\Bin\WebsitePanel.EnterpriseServer.Base.dll @@ -202,8 +210,17 @@ WebsitePanel.Whois - + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config index c7a3c9ff..a18cf691 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Pages.config @@ -660,7 +660,7 @@ -
protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectEnforcePasswordHistory; + /// + /// lblMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMaxPasswordAge; + + /// + /// txtMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMaxPasswordAge; + + /// + /// valRequireMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireMaxPasswordAge; + + /// + /// valCorrectMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectMaxPasswordAge; + /// /// RowChkLockOutSettigns control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx index 7da8a076..b4b70839 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx @@ -4,42 +4,69 @@
-
-
-
-
-
-
- - - - +
+
+
+
+
+
+ + + -
-
- - - - - - - - - -
- - - -
- - -
- -
- -
-
-
-
-
+
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+ + + + +
+ + + + +
+ + + +
+ +
+
+ +
+ +
+
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.cs index 90a5508a..8b5a315d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.cs @@ -26,6 +26,8 @@ namespace WebsitePanel.Portal.ExchangeServer litDisplayName.Text = PortalAntiXSS.Encode(user.DisplayName); txtEmailAddress.Text = user.PrimaryEmailAddress; + + txtMobile.Text = user.MobilePhone; } protected void btnResetPassoword_Click(object sender, EventArgs e) @@ -35,11 +37,31 @@ namespace WebsitePanel.Portal.ExchangeServer return; } - ES.Services.Organizations.SendResetUserPasswordEmail(PanelRequest.ItemID,PanelRequest.AccountID, txtReason.Text, txtEmailAddress.Text); + if (rbtnEmail.Checked) + { + ES.Services.Organizations.SendResetUserPasswordEmail(PanelRequest.ItemID,PanelRequest.AccountID, txtReason.Text, txtEmailAddress.Text, true); + } + else + { + var result = ES.Services.Organizations.SendResetUserPasswordLinkSms(PanelRequest.ItemID, PanelRequest.AccountID, txtReason.Text, txtMobile.Text); + + if (!result.IsSuccess) + { + ShowErrorMessage("SEND_USER_PASSWORD_RESET_SMS"); + + return; + } + } Response.Redirect(PortalUtils.EditUrl("ItemID", PanelRequest.ItemID.ToString(), (PanelRequest.Context == "Mailbox") ? "mailboxes" : "users", "SpaceID=" + PanelSecurity.PackageId)); } + + protected void SendToGroupCheckedChanged(object sender, EventArgs e) + { + EmailRow.Visible = rbtnEmail.Checked; + MobileRow.Visible = !rbtnEmail.Checked; + } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.designer.cs index 5b263a84..7c1339cb 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationUserResetPassword.ascx.designer.cs @@ -39,6 +39,51 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.Literal litDisplayName; + /// + /// PasswrodResetUpdatePanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.UpdatePanel PasswrodResetUpdatePanel; + + /// + /// locSendTo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSendTo; + + /// + /// rbtnEmail control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton rbtnEmail; + + /// + /// rbtnMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton rbtnMobile; + + /// + /// EmailRow control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow EmailRow; + /// /// locEmailAddress control. /// @@ -75,6 +120,51 @@ namespace WebsitePanel.Portal.ExchangeServer { /// protected global::System.Web.UI.WebControls.RegularExpressionValidator regexEmailValid; + /// + /// MobileRow control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow MobileRow; + + /// + /// locMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locMobile; + + /// + /// txtMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMobile; + + /// + /// valMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valMobile; + + /// + /// regexMobileValid control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator regexMobileValid; + /// /// locReason control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs index 5dd96f73..adc6e55e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/MailboxTabs.ascx.cs @@ -70,7 +70,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls if (!hideItems) tabsList.Add(CreateTab("mailbox_mailflow", "Tab.Mailflow")); if (!hideItems) tabsList.Add(CreateTab("mailbox_permissions", "Tab.Permissions")); - string instructions = ES.Services.ExchangeServer.GetMailboxSetupInstructions(PanelRequest.ItemID, PanelRequest.AccountID, false, false, false); + string instructions = ES.Services.ExchangeServer.GetMailboxSetupInstructions(PanelRequest.ItemID, PanelRequest.AccountID, false, false, false, " "); if (!string.IsNullOrEmpty(instructions)) tabsList.Add(CreateTab("mailbox_setup", "Tab.Setup")); diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx index 48251fb0..53935cdd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx @@ -41,5 +41,20 @@ + + +

+ + + + + + tr> +

+ + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.cs index 12cb669b..597d2d4e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.cs @@ -18,6 +18,9 @@ namespace WebsitePanel.Portal txtHtmlBody.Text = settings["HtmlBody"]; txtTextBody.Text = settings["TextBody"]; txtLogoUrl.Text = settings["LogoUrl"]; + + txtBodyPasswordResetLinkSmsBody.Text = settings["PasswordResetLinkSmsBody"]; + txtPasswordResetPincodeSmsBody.Text = settings["PasswordResetPincodeSmsBody"]; } public void SaveSettings(UserSettings settings) @@ -28,6 +31,9 @@ namespace WebsitePanel.Portal settings["HtmlBody"] = txtHtmlBody.Text; settings["TextBody"] = txtTextBody.Text; settings["LogoUrl"] = txtLogoUrl.Text; + + settings["PasswordResetLinkSmsBody"]= txtBodyPasswordResetLinkSmsBody.Text; + settings["PasswordResetPincodeSmsBody"] =txtPasswordResetPincodeSmsBody.Text; } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.designer.cs index 84c322e1..e4d4f21f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SettingsUserPasswordResetLetter.ascx.designer.cs @@ -119,5 +119,41 @@ namespace WebsitePanel.Portal { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.TextBox txtTextBody; + + /// + /// lblPasswordResetLinkSmsBody control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblPasswordResetLinkSmsBody; + + /// + /// txtBodyPasswordResetLinkSmsBody control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtBodyPasswordResetLinkSmsBody; + + /// + /// lblPasswordResetPincodeSmsBody control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblPasswordResetPincodeSmsBody; + + /// + /// txtPasswordResetPincodeSmsBody control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPasswordResetPincodeSmsBody; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx index a32574c2..83198973 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SystemSettings.ascx @@ -98,6 +98,24 @@ + + + + + + + + + + + + + +
+
+
+
+
protected global::System.Web.UI.WebControls.TextBox txtWebdavPortalUrl; + /// + /// TwilioSettings control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel TwilioSettings; + + /// + /// PanelTwilioSettings control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel PanelTwilioSettings; + + /// + /// lblAccountSid control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize lblAccountSid; + + /// + /// txtAccountSid control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtAccountSid; + + /// + /// lblAuthToken control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize lblAuthToken; + + /// + /// txtAuthToken control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtAuthToken; + + /// + /// lblPhoneFrom control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize lblPhoneFrom; + + /// + /// txtPhoneFrom control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPhoneFrom; + /// /// btnSaveSettings control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/App_LocalResources/PasswordPolicyEditor.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/App_LocalResources/PasswordPolicyEditor.ascx.resx index ea3bf9da..8a6a32e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/App_LocalResources/PasswordPolicyEditor.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/App_LocalResources/PasswordPolicyEditor.ascx.resx @@ -210,4 +210,13 @@ * + + Max Password Age (days): + + + * + + + * + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx index 0180aba1..3f2d00f4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx @@ -37,6 +37,16 @@ + + + + + + + (string[] array, int index, T defaultValue) { - if (array.Length > index) + try { - if (string.IsNullOrEmpty(array[index])) + if (array.Length > index) { - return defaultValue; - } + if (string.IsNullOrEmpty(array[index])) + { + return defaultValue; + } - return (T)Convert.ChangeType(array[index], typeof(T)); + return (T)Convert.ChangeType(array[index], typeof(T)); + } } + catch{} return defaultValue; } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.designer.cs index 557e0e74..ee474023 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/UserControls/PasswordPolicyEditor.ascx.designer.cs @@ -147,6 +147,42 @@ namespace WebsitePanel.Portal { /// protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectEnforcePasswordHistory; + /// + /// lblMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMaxPasswordAge; + + /// + /// txtMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtMaxPasswordAge; + + /// + /// valRequireMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireMaxPasswordAge; + + /// + /// valCorrectMaxPasswordAge control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectMaxPasswordAge; + /// /// RowChkLockOutSettigns control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx index b589e4ec..d9d0b47b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx @@ -6,23 +6,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
- -
-
- diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx.designer.cs index 37393f5f..2f4f9863 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAddExternalAddress.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// allocateAddresses control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx index 3df88dc9..d5eb1842 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx @@ -5,23 +5,8 @@ <%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> <%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
@@ -29,6 +14,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx.designer.cs index 8b560f54..9f52aa8a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcAuditLog.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VdcAuditLog { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// auditLog control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx index 058854d5..d5f52104 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx @@ -11,23 +11,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -576,5 +561,3 @@
-
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx.designer.cs index 4baed83d..d87558f2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcCreateServer.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// messageBox control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx index 7d150f05..75aafe53 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx @@ -6,23 +6,8 @@ <%@ Register Src="../UserControls/PackageIPAddresses.ascx" TagName="PackageIPAddresses" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
@@ -56,6 +41,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx.designer.cs index c31d05c7..8de6f831 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcExternalNetwork.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VdcExternalNetwork { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// Image1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image Image1; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// packageAddresses control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx index 7bde89d3..a2535bd2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx @@ -6,29 +6,15 @@ <%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %> <%@ Register Src="../UserControls/SearchBox.ascx" TagName="SearchBox" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
+
-
-
+
+
@@ -36,7 +22,7 @@ Text="Import VPS" CssClass="Button1" CausesValidation="False" onclick="btnImport_Click" />
-
+
@@ -49,7 +35,7 @@ - + <%# Eval("ItemName") %> @@ -81,7 +67,7 @@ - @@ -140,5 +126,3 @@
-
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx.designer.cs index 0425a5ad..5c597bd6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcHome.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VdcHome { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// messageBox control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx index 65b9f276..361a0ae6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx @@ -11,23 +11,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -284,5 +269,3 @@
-
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx.designer.cs index eb489aea..293f4aaa 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcImportServer.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// messageBox control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx index 60247599..bb14ed5b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx @@ -4,36 +4,15 @@ <%@ Register Src="../UserControls/PackageIPAddresses.ascx" TagName="PackageIPAddresses" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
- - -
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx.designer.cs index 55cc9f69..d230826f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcManagementNetwork.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VdcManagementNetwork { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// packageAddresses control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx index 5e4cbd79..17016257 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx @@ -7,23 +7,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -116,6 +101,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx.designer.cs index 48ccd1ab..4541a8bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPermissions.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// messageBox control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx index 694c1296..f3f23d6a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx @@ -7,26 +7,10 @@ <%@ Register Src="../UserControls/SearchBox.ascx" TagName="SearchBox" TagPrefix="wsp" %> <%@ Register Src="../UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
-
@@ -93,6 +77,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx.designer.cs index 94d7c078..aa16270e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VdcPrivateNetwork.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VdcPrivateNetwork { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Localize locTitle; - /// /// messageBox control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx index 84bcae9d..7008be82 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx @@ -8,23 +8,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -96,6 +81,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx.designer.cs index 3608ce14..a8264687 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddExternalAddress.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.FormTitle locTitle; - /// /// tabs control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx index 868b526e..dcb8eab2 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx @@ -8,23 +8,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -91,6 +76,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx.designer.cs index 3ebff9d0..fdfc7ac5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAddPrivateAddress.ascx.designer.cs @@ -21,42 +21,6 @@ namespace WebsitePanel.Portal.VPS2012 { /// protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// Image1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image Image1; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.FormTitle locTitle; - /// /// tabs control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx index f5036c28..e2d1c34f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx @@ -6,23 +6,8 @@ <%@ Register Src="UserControls/FormTitle.ascx" TagName="FormTitle" TagPrefix="wsp" %> <%@ Register Src="../UserControls/AuditLogControl.ascx" TagName="AuditLogControl" TagPrefix="wsp" %> -
-
- -
- -
- -
- -
-
-
- - -
@@ -32,6 +17,3 @@
- -
-
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx.designer.cs index d629a48c..37b4deff 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsAuditLog.ascx.designer.cs @@ -12,42 +12,6 @@ namespace WebsitePanel.Portal.VPS2012 { public partial class VpsDetailsAuditLog { - /// - /// breadcrumb control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Breadcrumb breadcrumb; - - /// - /// menu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.Menu menu; - - /// - /// imgIcon control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image imgIcon; - - /// - /// locTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::WebsitePanel.Portal.VPS2012.UserControls.FormTitle locTitle; - /// /// tabs control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsConfiguration.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsConfiguration.ascx index 39f25576..6ba4ca40 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsConfiguration.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/VPS2012/VpsDetailsConfiguration.ascx @@ -13,23 +13,8 @@ -
-
- -
- -
- -
- -
-
-
- - -
@@ -209,9 +194,6 @@
-
-
-