password reset fixes
This commit is contained in:
parent
69b1bc2f16
commit
087697ba7f
18 changed files with 133 additions and 46 deletions
|
@ -9850,7 +9850,7 @@ Hello #user.FirstName#,
|
||||||
Your password expiration date is #user.PasswordExpirationDateTime#. You can reset your own password by visiting the following page:
|
Your password expiration date is #user.PasswordExpirationDateTime#. You can reset your own password by visiting the following page:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<a href="#passwordResetLink#">#passwordResetLink#</a>
|
<a href="#passwordResetLink#" target="_blank">#passwordResetLink#</a>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -9963,7 +9963,7 @@ Hello #user.FirstName#,
|
||||||
We received a request to reset the password for your account. If you made this request, click the link below. If you did not make this request, you can ignore this email.
|
We received a request to reset the password for your account. If you made this request, click the link below. If you did not make this request, you can ignore this email.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<a href="#passwordResetLink#">#passwordResetLink#</a>
|
<a href="#passwordResetLink#" target="_blank">#passwordResetLink#</a>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -10139,10 +10139,12 @@ Set @ExchangeMailboxSetupLetterHtmlBody = N'<html xmlns="http://www.w3.org/1999/
|
||||||
<td class="Label">E-mail:</td>
|
<td class="Label">E-mail:</td>
|
||||||
<td>#Account.PrimaryEmailAddress#</td>
|
<td>#Account.PrimaryEmailAddress#</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<ad:if test="#PswResetUrl#">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="Label">Password Reset Url:</td>
|
<td class="Label">Password Reset Url:</td>
|
||||||
<td><a href="#PswResetUrl#">Click here</a></td>
|
<td><a href="#PswResetUrl#" target="_blank">Click here</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
</ad:if>
|
||||||
</table>
|
</table>
|
||||||
</ad:if>
|
</ad:if>
|
||||||
<h1>DNS</h1>
|
<h1>DNS</h1>
|
||||||
|
@ -10308,8 +10310,10 @@ The following user accounts have been created for you.
|
||||||
|
|
||||||
Username: #Account.UserPrincipalName#
|
Username: #Account.UserPrincipalName#
|
||||||
E-mail: #Account.PrimaryEmailAddress#
|
E-mail: #Account.PrimaryEmailAddress#
|
||||||
|
<ad:if test="#PswResetUrl#">
|
||||||
Password Reset Url: #PswResetUrl#
|
Password Reset Url: #PswResetUrl#
|
||||||
</ad:if>
|
</ad:if>
|
||||||
|
</ad:if>
|
||||||
|
|
||||||
=================================
|
=================================
|
||||||
DNS
|
DNS
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
@ -46,6 +47,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
public const string PACKAGE_DISPLAY_SETTINGS = "PackageDisplaySettings";
|
public const string PACKAGE_DISPLAY_SETTINGS = "PackageDisplaySettings";
|
||||||
public const string RDS_SETTINGS = "RdsSettings";
|
public const string RDS_SETTINGS = "RdsSettings";
|
||||||
public const string WEBDAV_PORTAL_SETTINGS = "WebdavPortalSettings";
|
public const string WEBDAV_PORTAL_SETTINGS = "WebdavPortalSettings";
|
||||||
|
public const string WEBDAV_PASSWORD_RESET_ENABLED_KEY = "WebdavPasswordResetEnabled";
|
||||||
|
|
||||||
// key to access to wpi main & custom feed in wpi settings
|
// key to access to wpi main & custom feed in wpi settings
|
||||||
public const string WPI_MAIN_FEED_KEY = "WpiMainFeedUrl";
|
public const string WPI_MAIN_FEED_KEY = "WpiMainFeedUrl";
|
||||||
|
@ -98,6 +100,24 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Contains(string settingName)
|
||||||
|
{
|
||||||
|
return Settings.AllKeys.Any(x => x.ToLowerInvariant() == (settingName ?? string.Empty).ToLowerInvariant());
|
||||||
|
}
|
||||||
|
|
||||||
|
public T GetValueOrDefault<T>(string settingName, T defaultValue)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return (T)Convert.ChangeType(Settings[settingName], typeof(T));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
public int GetInt(string settingName)
|
public int GetInt(string settingName)
|
||||||
{
|
{
|
||||||
return Int32.Parse(Settings[settingName]);
|
return Int32.Parse(Settings[settingName]);
|
||||||
|
|
|
@ -2613,10 +2613,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
// add account
|
// add account
|
||||||
items["Account"] = account;
|
items["Account"] = account;
|
||||||
items["PswResetUrl"] = OrganizationController.GenerateUserPasswordResetLink(account.ItemId, account.AccountId);
|
|
||||||
items["AccountDomain"] = account.PrimaryEmailAddress.Substring(account.PrimaryEmailAddress.IndexOf("@") + 1);
|
items["AccountDomain"] = account.PrimaryEmailAddress.Substring(account.PrimaryEmailAddress.IndexOf("@") + 1);
|
||||||
items["DefaultDomain"] = org.DefaultDomain;
|
items["DefaultDomain"] = org.DefaultDomain;
|
||||||
|
|
||||||
|
var passwordResetUrl = OrganizationController.GenerateUserPasswordResetLink(account.ItemId, account.AccountId);
|
||||||
|
if (!string.IsNullOrEmpty(passwordResetUrl))
|
||||||
|
{
|
||||||
|
items["PswResetUrl"] = passwordResetUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!String.IsNullOrEmpty(account.SamAccountName))
|
if (!String.IsNullOrEmpty(account.SamAccountName))
|
||||||
{
|
{
|
||||||
int idx = account.SamAccountName.IndexOf("\\");
|
int idx = account.SamAccountName.IndexOf("\\");
|
||||||
|
|
|
@ -1684,6 +1684,11 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
throw new Exception("Webdav portal system settings are not set");
|
throw new Exception("Webdav portal system settings are not set");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!settings.GetValueOrDefault(SystemSettings.WEBDAV_PASSWORD_RESET_ENABLED_KEY, false) ||!settings.Contains("WebdavPortalUrl"))
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
var webdavPortalUrl = new Uri(settings["WebdavPortalUrl"]);
|
var webdavPortalUrl = new Uri(settings["WebdavPortalUrl"]);
|
||||||
|
|
||||||
var token = CreateAccessToken(itemId, accountId, AccessTokenTypes.PasswrodReset);
|
var token = CreateAccessToken(itemId, accountId, AccessTokenTypes.PasswrodReset);
|
||||||
|
@ -1794,11 +1799,12 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
NumbersCount = Utils.ParseInt(parts[4], 0),
|
NumbersCount = Utils.ParseInt(parts[4], 0),
|
||||||
SymbolsCount = Utils.ParseInt(parts[5], 0),
|
SymbolsCount = Utils.ParseInt(parts[5], 0),
|
||||||
AccountLockoutThreshold = Utils.ParseInt(parts[7], 0),
|
AccountLockoutThreshold = Utils.ParseInt(parts[7], 0),
|
||||||
EnforcePasswordHistory = Utils.ParseInt(parts[8], 0),
|
|
||||||
AccountLockoutDuration = Utils.ParseInt(parts[9], 0),
|
EnforcePasswordHistory = GetValueSafe(parts, 8, 0),
|
||||||
ResetAccountLockoutCounterAfter = Utils.ParseInt(parts[10], 0),
|
AccountLockoutDuration = GetValueSafe(parts, 9, 0),
|
||||||
LockoutSettingsEnabled = Utils.ParseBool(parts[11], false),
|
ResetAccountLockoutCounterAfter = GetValueSafe(parts, 10, 0),
|
||||||
PasswordComplexityEnabled = Utils.ParseBool(parts[12], true),
|
LockoutSettingsEnabled = GetValueSafe(parts, 11, false),
|
||||||
|
PasswordComplexityEnabled = GetValueSafe(parts, 11, true),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1821,6 +1827,21 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return passwordSettings;
|
return passwordSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static T GetValueSafe<T>(string[] array, int index, T defaultValue)
|
||||||
|
{
|
||||||
|
if (array.Length > index)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(array[index]))
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (T)Convert.ChangeType(array[index], typeof(T));
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
public static void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings)
|
public static void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings)
|
||||||
{
|
{
|
||||||
TaskManager.StartTask("ORGANIZATION", "UPDATE_GENERAL_SETTINGS");
|
TaskManager.StartTask("ORGANIZATION", "UPDATE_GENERAL_SETTINGS");
|
||||||
|
|
|
@ -44,7 +44,17 @@ namespace WebsitePanel.WebDavPortal.Controllers
|
||||||
return RedirectToRoute(FileSystemRouteNames.ShowContentPath, new { org = WspContext.User.OrganizationId });
|
return RedirectToRoute(FileSystemRouteNames.ShowContentPath, new { org = WspContext.User.OrganizationId });
|
||||||
}
|
}
|
||||||
|
|
||||||
return View();
|
var model = new AccountModel();
|
||||||
|
|
||||||
|
var settings = WspContext.Services.System.GetSystemSettings(EnterpriseServer.SystemSettings.WEBDAV_PORTAL_SETTINGS);
|
||||||
|
|
||||||
|
if (settings != null)
|
||||||
|
{
|
||||||
|
model.PasswordResetEnabled = settings.GetValueOrDefault(EnterpriseServer.SystemSettings.WEBDAV_PASSWORD_RESET_ENABLED_KEY, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
|
|
@ -17,5 +17,7 @@ namespace WebsitePanel.WebDavPortal.Models
|
||||||
public string Password { get; set; }
|
public string Password { get; set; }
|
||||||
|
|
||||||
public string LdapError { get; set; }
|
public string LdapError { get; set; }
|
||||||
|
|
||||||
|
public bool PasswordResetEnabled { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,6 +9,7 @@
|
||||||
<br/>
|
<br/>
|
||||||
<div class="container row">
|
<div class="container row">
|
||||||
<form class="form-horizontal" method="POST" role="form">
|
<form class="form-horizontal" method="POST" role="form">
|
||||||
|
@Html.HiddenFor(x=>x.PasswordResetEnabled)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<h3 class="col-sm-offset-1">Sign In</h3>
|
<h3 class="col-sm-offset-1">Sign In</h3>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +34,10 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-sm-offset-2 col-sm-10">
|
<div class="col-sm-offset-2 col-sm-10">
|
||||||
<button type="submit" class="btn btn-default">Sign in</button>
|
<button type="submit" class="btn btn-default">Sign in</button>
|
||||||
|
@if (Model.PasswordResetEnabled)
|
||||||
|
{
|
||||||
<a href="@Url.RouteUrl(AccountRouteNames.PasswordResetEmail)" class="forgot-your-password-link">@UI.ForgotYourPassword</a>
|
<a href="@Url.RouteUrl(AccountRouteNames.PasswordResetEmail)" class="forgot-your-password-link">@UI.ForgotYourPassword</a>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -28,11 +28,14 @@
|
||||||
<div class="navbar navbar-inverse navbar-fixed-top prevent-deselect">
|
<div class="navbar navbar-inverse navbar-fixed-top prevent-deselect">
|
||||||
<div class="container top-container">
|
<div class="container top-container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
|
@if (WspContext.User != null)
|
||||||
|
{
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
|
}
|
||||||
<a href="/">
|
<a href="/">
|
||||||
<img class="header-logo processing-dialog" src="@Url.Content("~/Content/Images/logo.png")" />
|
<img class="header-logo processing-dialog" src="@Url.Content("~/Content/Images/logo.png")" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -174,4 +174,10 @@
|
||||||
<data name="WebdavPortalSettings.Text" xml:space="preserve">
|
<data name="WebdavPortalSettings.Text" xml:space="preserve">
|
||||||
<value>Webdav Portal</value>
|
<value>Webdav Portal</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="chkEnablePasswordReset.Text" xml:space="preserve">
|
||||||
|
<value>Yes</value>
|
||||||
|
</data>
|
||||||
|
<data name="locEnablePasswordReset.Text" xml:space="preserve">
|
||||||
|
<value>Enable password reset:</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -267,4 +267,7 @@
|
||||||
<data name="Text.DeletedUsers" xml:space="preserve">
|
<data name="Text.DeletedUsers" xml:space="preserve">
|
||||||
<value>Deleted Users</value>
|
<value>Deleted Users</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Text.PasswordPolicy" xml:space="preserve">
|
||||||
|
<value>Password Policy</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -37,14 +37,6 @@
|
||||||
<asp:Label runat="server" ID="lblCreatedValue" />
|
<asp:Label runat="server" ID="lblCreatedValue" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td class="OrgStatsRow">
|
|
||||||
<asp:Label runat="server" meta:resourcekey="OrganizationSettings" ID="Label1" />
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<asp:HyperLink ID="lnkEditOrganizationSettings" runat="server" meta:resourcekey="lnkEditOrganizationSettings"></asp:HyperLink>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
<br />
|
<br />
|
||||||
<table width="100%">
|
<table width="100%">
|
||||||
|
|
|
@ -175,9 +175,6 @@ namespace WebsitePanel.Portal.ExchangeServer
|
||||||
lblOrganizationNameValue.Text = org.Name;
|
lblOrganizationNameValue.Text = org.Name;
|
||||||
lblOrganizationIDValue.Text = org.OrganizationId;
|
lblOrganizationIDValue.Text = org.OrganizationId;
|
||||||
lblCreatedValue.Text = org.CreatedDate.Date.ToShortDateString();
|
lblCreatedValue.Text = org.CreatedDate.Date.ToShortDateString();
|
||||||
lnkEditOrganizationSettings.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "organization_settings_password_settings",
|
|
||||||
"SpaceID=" + PanelSecurity.PackageId);
|
|
||||||
|
|
||||||
|
|
||||||
OrganizationStatistics orgStats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
|
OrganizationStatistics orgStats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
|
||||||
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
|
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||||
|
|
|
@ -84,24 +84,6 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label lblCreatedValue;
|
protected global::System.Web.UI.WebControls.Label lblCreatedValue;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Label1 control.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// Auto-generated field.
|
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
|
||||||
/// </remarks>
|
|
||||||
protected global::System.Web.UI.WebControls.Label Label1;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// lnkEditOrganizationSettings control.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// Auto-generated field.
|
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
|
||||||
/// </remarks>
|
|
||||||
protected global::System.Web.UI.WebControls.HyperLink lnkEditOrganizationSettings;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// organizationStatsPanel control.
|
/// organizationStatsPanel control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -221,6 +221,14 @@ namespace WebsitePanel.Portal.HostedSolution
|
||||||
password.ValidationEnabled = true;
|
password.ValidationEnabled = true;
|
||||||
password.Password = string.Empty;
|
password.Password = string.Empty;
|
||||||
|
|
||||||
|
var settings = ES.Services.System.GetSystemSettings(EnterpriseServer.SystemSettings.WEBDAV_PORTAL_SETTINGS);
|
||||||
|
|
||||||
|
if (settings != null)
|
||||||
|
{
|
||||||
|
btnResetUserPassword.Visible = Utils.ParseBool(settings[EnterpriseServer.SystemSettings.WEBDAV_PASSWORD_RESET_ENABLED_KEY], false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
chkUserMustChangePassword.Checked = user.UserMustChangePassword;
|
chkUserMustChangePassword.Checked = user.UserMustChangePassword;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
@ -86,6 +86,12 @@
|
||||||
<wsp:CollapsiblePanel ID="WebdavPortalSettings" runat="server" TargetControlID="PanelWebdavPortalSettings" meta:resourcekey="WebdavPortalSettings" Text="Webdav Portal" />
|
<wsp:CollapsiblePanel ID="WebdavPortalSettings" runat="server" TargetControlID="PanelWebdavPortalSettings" meta:resourcekey="WebdavPortalSettings" Text="Webdav Portal" />
|
||||||
<asp:Panel ID="PanelWebdavPortalSettings" runat="server" Height="0" style="overflow:hidden;">
|
<asp:Panel ID="PanelWebdavPortalSettings" runat="server" Height="0" style="overflow:hidden;">
|
||||||
<table>
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td class="SubHead"><asp:Localize ID="locEnablePasswordReset" runat="server" meta:resourcekey="locEnablePasswordReset" /></td>
|
||||||
|
<td class="Normal">
|
||||||
|
<asp:CheckBox ID="chkEnablePasswordReset" runat="server" Text="Yes" meta:resourcekey="chkEnablePasswordReset" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="SubHead" style="width:200px;"><asp:Localize ID="lblWebdavPortalUrl" runat="server" meta:resourcekey="lblWebdavPortalUrl" />
|
<td class="SubHead" style="width:200px;"><asp:Localize ID="lblWebdavPortalUrl" runat="server" meta:resourcekey="lblWebdavPortalUrl" />
|
||||||
<td><asp:TextBox runat="server" ID="txtWebdavPortalUrl" Width="450px" /></td>
|
<td><asp:TextBox runat="server" ID="txtWebdavPortalUrl" Width="450px" /></td>
|
||||||
|
|
|
@ -53,6 +53,7 @@ namespace WebsitePanel.Portal
|
||||||
public const string FILE_MANAGER_EDITABLE_EXTENSIONS = "EditableExtensions";
|
public const string FILE_MANAGER_EDITABLE_EXTENSIONS = "EditableExtensions";
|
||||||
public const string RDS_MAIN_CONTROLLER = "RdsMainController";
|
public const string RDS_MAIN_CONTROLLER = "RdsMainController";
|
||||||
public const string WEBDAV_PORTAL_URL = "WebdavPortalUrl";
|
public const string WEBDAV_PORTAL_URL = "WebdavPortalUrl";
|
||||||
|
public const string WEBDAV_PASSWORD_RESET_ENABLED = "WebdavPasswordResetEnabled";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public const string FEED_ENABLE_MICROSOFT = "FeedEnableMicrosoft";
|
public const string FEED_ENABLE_MICROSOFT = "FeedEnableMicrosoft";
|
||||||
|
@ -163,6 +164,7 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
if (settings != null)
|
if (settings != null)
|
||||||
{
|
{
|
||||||
|
chkEnablePasswordReset.Checked = Utils.ParseBool(settings[WEBDAV_PASSWORD_RESET_ENABLED], false);
|
||||||
txtWebdavPortalUrl.Text = settings[WEBDAV_PORTAL_URL];
|
txtWebdavPortalUrl.Text = settings[WEBDAV_PORTAL_URL];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -248,6 +250,7 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
settings = new WSP.SystemSettings();
|
settings = new WSP.SystemSettings();
|
||||||
settings[WEBDAV_PORTAL_URL] = txtWebdavPortalUrl.Text;
|
settings[WEBDAV_PORTAL_URL] = txtWebdavPortalUrl.Text;
|
||||||
|
settings[WEBDAV_PASSWORD_RESET_ENABLED] = chkEnablePasswordReset.Checked.ToString();
|
||||||
result = ES.Services.System.SetSystemSettings(WSP.SystemSettings.WEBDAV_PORTAL_SETTINGS, settings);
|
result = ES.Services.System.SetSystemSettings(WSP.SystemSettings.WEBDAV_PORTAL_SETTINGS, settings);
|
||||||
|
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
|
|
|
@ -246,6 +246,24 @@ namespace WebsitePanel.Portal {
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Panel PanelWebdavPortalSettings;
|
protected global::System.Web.UI.WebControls.Panel PanelWebdavPortalSettings;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// locEnablePasswordReset control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Localize locEnablePasswordReset;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// chkEnablePasswordReset control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.CheckBox chkEnablePasswordReset;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lblWebdavPortalUrl control.
|
/// lblWebdavPortalUrl control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -181,6 +181,8 @@ namespace WebsitePanel.Portal.UserControls
|
||||||
|
|
||||||
if (Utils.CheckQouta(Quotas.ORGANIZATION_SECURITYGROUPS, Cntx))
|
if (Utils.CheckQouta(Quotas.ORGANIZATION_SECURITYGROUPS, Cntx))
|
||||||
items.Add(CreateMenuItem("SecurityGroups", "secur_groups", @"Icons/group_48.png"));
|
items.Add(CreateMenuItem("SecurityGroups", "secur_groups", @"Icons/group_48.png"));
|
||||||
|
|
||||||
|
items.Add(CreateMenuItem("PasswordPolicy", "organization_settings_password_settings", @"Icons/user_48.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PrepareExchangeMenuRoot(MenuItemCollection items)
|
private void PrepareExchangeMenuRoot(MenuItemCollection items)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue