diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs index fa3c8d81..8cb893f1 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/OrganizationProxy.cs @@ -36,6 +36,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))] public partial class esOrganizations : Microsoft.Web.Services3.WebServicesClientProtocol { + private System.Threading.SendOrPostCallback UpdateOrganizationGeneralSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback GetOrganizationGeneralSettingsOperationCompleted; + private System.Threading.SendOrPostCallback UpdateOrganizationPasswordSettingsOperationCompleted; private System.Threading.SendOrPostCallback GetOrganizationPasswordSettingsOperationCompleted; @@ -149,6 +153,12 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { this.Url = "http://localhost:9002/esOrganizations.asmx"; } + /// + public event UpdateOrganizationGeneralSettingsCompletedEventHandler UpdateOrganizationGeneralSettingsCompleted; + + /// + public event GetOrganizationGeneralSettingsCompletedEventHandler GetOrganizationGeneralSettingsCompleted; + /// public event UpdateOrganizationPasswordSettingsCompletedEventHandler UpdateOrganizationPasswordSettingsCompleted; @@ -311,6 +321,89 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { /// public event GetSupportServiceLevelCompletedEventHandler GetSupportServiceLevelCompleted; + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateOrganizationGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings) { + this.Invoke("UpdateOrganizationGeneralSettings", new object[] { + itemId, + settings}); + } + + /// + public System.IAsyncResult BeginUpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("UpdateOrganizationGeneralSettings", new object[] { + itemId, + settings}, callback, asyncState); + } + + /// + public void EndUpdateOrganizationGeneralSettings(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void UpdateOrganizationGeneralSettingsAsync(int itemId, OrganizationGeneralSettings settings) { + this.UpdateOrganizationGeneralSettingsAsync(itemId, settings, null); + } + + /// + public void UpdateOrganizationGeneralSettingsAsync(int itemId, OrganizationGeneralSettings settings, object userState) { + if ((this.UpdateOrganizationGeneralSettingsOperationCompleted == null)) { + this.UpdateOrganizationGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateOrganizationGeneralSettingsOperationCompleted); + } + this.InvokeAsync("UpdateOrganizationGeneralSettings", new object[] { + itemId, + settings}, this.UpdateOrganizationGeneralSettingsOperationCompleted, userState); + } + + private void OnUpdateOrganizationGeneralSettingsOperationCompleted(object arg) { + if ((this.UpdateOrganizationGeneralSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.UpdateOrganizationGeneralSettingsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public OrganizationGeneralSettings GetOrganizationGeneralSettings(int itemId) { + object[] results = this.Invoke("GetOrganizationGeneralSettings", new object[] { + itemId}); + return ((OrganizationGeneralSettings)(results[0])); + } + + /// + public System.IAsyncResult BeginGetOrganizationGeneralSettings(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetOrganizationGeneralSettings", new object[] { + itemId}, callback, asyncState); + } + + /// + public OrganizationGeneralSettings EndGetOrganizationGeneralSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((OrganizationGeneralSettings)(results[0])); + } + + /// + public void GetOrganizationGeneralSettingsAsync(int itemId) { + this.GetOrganizationGeneralSettingsAsync(itemId, null); + } + + /// + public void GetOrganizationGeneralSettingsAsync(int itemId, object userState) { + if ((this.GetOrganizationGeneralSettingsOperationCompleted == null)) { + this.GetOrganizationGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationGeneralSettingsOperationCompleted); + } + this.InvokeAsync("GetOrganizationGeneralSettings", new object[] { + itemId}, this.GetOrganizationGeneralSettingsOperationCompleted, userState); + } + + private void OnGetOrganizationGeneralSettingsOperationCompleted(object arg) { + if ((this.GetOrganizationGeneralSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetOrganizationGeneralSettingsCompleted(this, new GetOrganizationGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateOrganizationPasswordSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public void UpdateOrganizationPasswordSettings(int itemId, OrganizationPasswordSettings settings) { @@ -3029,6 +3122,36 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution { } } + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + public delegate void UpdateOrganizationGeneralSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + public delegate void GetOrganizationGeneralSettingsCompletedEventHandler(object sender, GetOrganizationGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetOrganizationGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetOrganizationGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public OrganizationGeneralSettings Result { + get { + this.RaiseExceptionIfNecessary(); + return ((OrganizationGeneralSettings)(this.results[0])); + } + } + } + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] public delegate void UpdateOrganizationPasswordSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs index 5f0a1e59..e87226ba 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs @@ -1685,6 +1685,40 @@ namespace WebsitePanel.EnterpriseServer return GetOrganizationSettings(itemId, OrganizationSettings.PasswordSettings); } + public static void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings) + { + TaskManager.StartTask("ORGANIZATION", "UPDATE_GENERAL_SETTINGS"); + + try + { + // load organization + Organization org = GetOrganization(itemId); + + if (org == null) + { + TaskManager.WriteWarning("Organization with itemId '{0}' not found", itemId.ToString()); + return; + } + + var xml = ObjectUtils.Serialize(settings); + + DataProvider.UpdateOrganizationSettings(itemId, OrganizationSettings.GeneralSettings, xml); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static OrganizationGeneralSettings GetOrganizationGeneralSettings(int itemId) + { + return GetOrganizationSettings(itemId, OrganizationSettings.GeneralSettings); + } + private static T GetOrganizationSettings(int itemId, string settingsName) { var entity = ObjectUtils.FillObjectFromDataReader(DataProvider.GetOrganizationSettings(itemId, settingsName)); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs index afc3b575..4508a845 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/UserPasswordExpirationNotificationTask.cs @@ -39,6 +39,8 @@ namespace WebsitePanel.EnterpriseServer { var usersWithExpiredPasswords = OrganizationController.GetOrganizationUsersWithExpiredPassword(organization.Id, daysBeforeNotify); + var generalSettings = OrganizationController.GetOrganizationGeneralSettings(organization.Id); + foreach (var user in usersWithExpiredPasswords) { user.ItemId = organization.Id; @@ -49,7 +51,7 @@ namespace WebsitePanel.EnterpriseServer continue; } - OrganizationController.SendResetUserPasswordEmail(owner, user, "Scheduler Password Expiration Notification", user.PrimaryEmailAddress, string.Empty); + OrganizationController.SendResetUserPasswordEmail(owner, user, "Scheduler Password Expiration Notification", user.PrimaryEmailAddress, generalSettings.OrganizationLogoUrl); } } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs index 0524c2d8..e26cd9f3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esOrganizations.asmx.cs @@ -47,6 +47,18 @@ namespace WebsitePanel.EnterpriseServer { #region Organizations + [WebMethod] + public void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings) + { + OrganizationController.UpdateOrganizationGeneralSettings(itemId, settings); + } + + [WebMethod] + public OrganizationGeneralSettings GetOrganizationGeneralSettings(int itemId) + { + return OrganizationController.GetOrganizationGeneralSettings(itemId); + } + [WebMethod] public void UpdateOrganizationPasswordSettings(int itemId, OrganizationPasswordSettings settings) { diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationGeneralSettings.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationGeneralSettings.cs new file mode 100644 index 00000000..345fd0e2 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationGeneralSettings.cs @@ -0,0 +1,7 @@ +namespace WebsitePanel.Providers.HostedSolution +{ + public class OrganizationGeneralSettings + { + public string OrganizationLogoUrl { get; set; } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationSettings.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationSettings.cs index 38e01f95..4fe39b96 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationSettings.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationSettings.cs @@ -3,5 +3,6 @@ public class OrganizationSettings { public const string PasswordSettings = "PasswordSettings"; + public const string GeneralSettings = "GeneralSettings"; } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj index a8951639..ce9cc986 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj @@ -119,6 +119,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 4a2b2c76..8e94ffca 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -477,6 +477,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx index 2e38b9a4..d3d1e91f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx @@ -241,6 +241,6 @@ Edit - Organization settings + Organization settings: \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsGeneralSettings.ascx.resx new file mode 100644 index 00000000..5e45627c --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsGeneralSettings.ascx.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + General settings + + + Organization logo URL: + + + Edit settings + + + * + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsPasswordSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsPasswordSettings.ascx.resx index 8387aed9..4aa72a90 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsPasswordSettings.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationSettingsPasswordSettings.ascx.resx @@ -192,6 +192,9 @@ * + + * + * @@ -204,6 +207,9 @@ * + + * + * diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx new file mode 100644 index 00000000..931c6283 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx @@ -0,0 +1,56 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="OrganizationSettingsGeneralSettings.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.OrganizationSettingsGeneralSettings" %> + + + +<%@ Register Src="UserControls/OrganizationSettingsTabs.ascx" TagName="CollectionTabs" TagPrefix="wsp" %> +<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/ItemButtonPanel.ascx" TagName="ItemButtonPanel" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + + +
+
+
+
+
+
+
+ + + + +
+
+ + + + + + + + + + + + +
+ + + +
+
+ +
+ +
+
+
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.cs new file mode 100644 index 00000000..e5777b0a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.cs @@ -0,0 +1,86 @@ +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.Providers.HostedSolution; + +namespace WebsitePanel.Portal.ExchangeServer +{ + public partial class OrganizationSettingsGeneralSettings : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID); + litOrganizationName.Text = org.OrganizationId; + + BindSettings(); + } + + } + + private void BindSettings() + { + var settings = ES.Services.Organizations.GetOrganizationGeneralSettings(PanelRequest.ItemID); + + if (settings != null) + { + txtOrganizationLogoUrl.Text = settings.OrganizationLogoUrl; + } + } + + protected void btnSave_Click(object sender, EventArgs e) + { + if (!Page.IsValid) + { + return; + } + + SaveGeneralSettings(GetSettings()); + } + + protected void btnSaveExit_Click(object sender, EventArgs e) + { + if (!Page.IsValid) + { + return; + } + + if (SaveGeneralSettings(GetSettings())) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "organization_home", + "SpaceID=" + PanelSecurity.PackageId)); + } + } + + private OrganizationGeneralSettings GetSettings() + { + var settings = new OrganizationGeneralSettings + { + OrganizationLogoUrl = txtOrganizationLogoUrl.Text + }; + + return settings; + } + + + private bool SaveGeneralSettings(OrganizationGeneralSettings settings) + { + try + { + ES.Services.Organizations.UpdateOrganizationGeneralSettings(PanelRequest.ItemID, GetSettings()); + } + catch (Exception ex) + { + ShowErrorMessage("ORANIZATIONSETTINGS_NOT_UPDATED", ex); + return false; + } + + return true; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.designer.cs new file mode 100644 index 00000000..b3478050 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsGeneralSettings.ascx.designer.cs @@ -0,0 +1,132 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ExchangeServer { + + + public partial class OrganizationSettingsGeneralSettings { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// 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; + + /// + /// litOrganizationName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Literal litOrganizationName; + + /// + /// tabs control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.OrganizationSettingsTabs tabs; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// colGeneralSettings control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel colGeneralSettings; + + /// + /// panelGeneralSettings control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel panelGeneralSettings; + + /// + /// GenerralSettignsTable control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTable GenerralSettignsTable; + + /// + /// lblOrganizationLogoUrl control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblOrganizationLogoUrl; + + /// + /// txtOrganizationLogoUrl control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtOrganizationLogoUrl; + + /// + /// valRequireMinLength control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireMinLength; + + /// + /// buttonPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ItemButtonPanel buttonPanel; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx index 0b99d95e..f29446db 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx @@ -23,8 +23,8 @@
- + + @@ -86,6 +86,8 @@ meta:resourcekey="lblLockedOut" Text="Account Lockout threshold:"> + @@ -96,6 +98,8 @@ meta:resourcekey="lblResetAccountLockout" Text="Reset account lockout counter after (minutes):"> + @@ -154,7 +158,7 @@
-
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx.designer.cs index 345b5367..0b6398ac 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationSettingsPasswordSettings.ascx.designer.cs @@ -300,6 +300,15 @@ namespace WebsitePanel.Portal.ExchangeServer { ///
protected global::System.Web.UI.WebControls.TextBox txtLockedOut; + /// + /// valRequiredLockedOut control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequiredLockedOut; + /// /// valCorrectLockedOut control. /// @@ -336,6 +345,15 @@ namespace WebsitePanel.Portal.ExchangeServer { ///
protected global::System.Web.UI.WebControls.TextBox txtResetAccountLockout; + /// + /// valRequireResetAccountLockout control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireResetAccountLockout; + /// /// valResetAccountLockout control. /// diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/OrganizationSettingsTabs.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/OrganizationSettingsTabs.ascx.resx index ecbb2a94..13e577fc 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/OrganizationSettingsTabs.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/OrganizationSettingsTabs.ascx.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + General Settings + Password Settings diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/OrganizationSettingsTabs.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/OrganizationSettingsTabs.ascx.cs index 3fa348da..9d8b50bd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/OrganizationSettingsTabs.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/OrganizationSettingsTabs.ascx.cs @@ -20,8 +20,11 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls private void BindTabs() { List tabsList = new List(); + tabsList.Add(CreateTab("organization_settings_general_settings", "Tab.GeneralSettigns")); tabsList.Add(CreateTab("organization_settings_password_settings", "Tab.PasswordSettings")); + + int idx = 0; foreach (Tab tab in tabsList) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index cde0ab55..989d4f45 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -244,6 +244,13 @@ OrganizationDeletedUserGeneralSettings.ascx ASPXCodeBehind + + OrganizationSettingsGeneralSettings.ascx + ASPXCodeBehind + + + OrganizationSettingsGeneralSettings.ascx + OrganizationSettingsPasswordSettings.ascx ASPXCodeBehind @@ -4571,6 +4578,7 @@ + @@ -4640,6 +4648,7 @@ +