webdav portal password change page added
This commit is contained in:
parent
dd15673752
commit
4bae47e17f
35 changed files with 2010 additions and 93 deletions
|
@ -33,6 +33,7 @@ using System.Collections.Specialized;
|
|||
using System.Data;
|
||||
using System.Net.Mail;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WebsitePanel.EnterpriseServer.Code.HostedSolution;
|
||||
using WebsitePanel.EnterpriseServer.Code.SharePoint;
|
||||
using WebsitePanel.EnterpriseServer.Extensions;
|
||||
|
@ -1699,7 +1700,62 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
public static OrganizationPasswordSettings GetOrganizationPasswordSettings(int itemId)
|
||||
{
|
||||
return GetOrganizationSettings<OrganizationPasswordSettings>(itemId, OrganizationSettings.PasswordSettings);
|
||||
var passwordSettings = GetOrganizationSettings<OrganizationPasswordSettings>(itemId, OrganizationSettings.PasswordSettings);
|
||||
|
||||
if (passwordSettings == null)
|
||||
{
|
||||
Organization org = GetOrganization(itemId);
|
||||
|
||||
if (org == null)
|
||||
{
|
||||
throw new Exception(string.Format("Organization not found (ItemId = {0})", itemId));
|
||||
}
|
||||
|
||||
var package = PackageController.GetPackage(org.PackageId);
|
||||
|
||||
UserSettings userSettings = UserController.GetUserSettings(package.UserId, UserSettings.EXCHANGE_POLICY);
|
||||
|
||||
if (userSettings != null)
|
||||
{
|
||||
string policyValue = userSettings["MailboxPasswordPolicy"];
|
||||
|
||||
if (policyValue != null)
|
||||
{
|
||||
string[] parts = policyValue.Split(';');
|
||||
|
||||
passwordSettings = new OrganizationPasswordSettings
|
||||
{
|
||||
MinimumLength = Utils.ParseInt(parts[1], 0),
|
||||
MaximumLength = Utils.ParseInt(parts[2], 0),
|
||||
UppercaseLettersCount = Utils.ParseInt(parts[3], 0),
|
||||
NumbersCount = Utils.ParseInt(parts[4], 0),
|
||||
SymbolsCount = Utils.ParseInt(parts[5], 0),
|
||||
AccountLockoutThreshold = Utils.ParseInt(parts[7], 0),
|
||||
EnforcePasswordHistory = Utils.ParseInt(parts[8], 0),
|
||||
AccountLockoutDuration = Utils.ParseInt(parts[9], 0),
|
||||
ResetAccountLockoutCounterAfter = Utils.ParseInt(parts[10], 0),
|
||||
LockoutSettingsEnabled = Utils.ParseBool(parts[11], false),
|
||||
PasswordComplexityEnabled = Utils.ParseBool(parts[12], true),
|
||||
};
|
||||
|
||||
|
||||
PasswordPolicyResult passwordPolicy = GetPasswordPolicy(itemId);
|
||||
|
||||
if (passwordPolicy.IsSuccess)
|
||||
{
|
||||
passwordSettings.MinimumLength = passwordPolicy.Value.MinLength;
|
||||
if (passwordPolicy.Value.IsComplexityEnable)
|
||||
{
|
||||
passwordSettings.NumbersCount = 1;
|
||||
passwordSettings.SymbolsCount = 1;
|
||||
passwordSettings.UppercaseLettersCount = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return passwordSettings;
|
||||
}
|
||||
|
||||
public static void UpdateOrganizationGeneralSettings(int itemId, OrganizationGeneralSettings settings)
|
||||
|
@ -2740,6 +2796,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "SET_USER_PASSWORD", itemId);
|
||||
|
||||
TaskManager.Write("ItemId: {0}", itemId.ToString());
|
||||
TaskManager.Write("AccountId: {0}", accountId.ToString());
|
||||
|
||||
try
|
||||
{
|
||||
// load organization
|
||||
|
|
|
@ -14,5 +14,6 @@ namespace WebsitePanel.WebDav.Core.Interfaces.Security
|
|||
WspPrincipal LogIn(string login, string password);
|
||||
void CreateAuthenticationTicket(WspPrincipal principal);
|
||||
void LogOut();
|
||||
bool ValidateAuthenticationData(string login, string password);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,14 +26,7 @@ namespace WebsitePanel.WebDav.Core.Security.Authentication
|
|||
|
||||
public WspPrincipal LogIn(string login, string password)
|
||||
{
|
||||
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var user = UserPrincipal.FindByIdentity(_principalContext, IdentityType.UserPrincipalName, login);
|
||||
|
||||
if (user == null || _principalContext.ValidateCredentials(login, password) == false)
|
||||
if (ValidateAuthenticationData(login, password) == false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -83,5 +76,22 @@ namespace WebsitePanel.WebDav.Core.Security.Authentication
|
|||
{
|
||||
FormsAuthentication.SignOut();
|
||||
}
|
||||
|
||||
public bool ValidateAuthenticationData(string login, string password)
|
||||
{
|
||||
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var user = UserPrincipal.FindByIdentity(_principalContext, IdentityType.UserPrincipalName, login);
|
||||
|
||||
if (user == null || _principalContext.ValidateCredentials(login, password) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,8 @@ namespace WebsitePanel.WebDavPortal
|
|||
bundles.Add(jQueryBundle);
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
|
||||
"~/Scripts/jquery.validate*"));
|
||||
"~/Scripts/jquery.validate*",
|
||||
"~/Scripts/appScripts/validation/passwordeditor.unobtrusive.js"));
|
||||
|
||||
// Use the development version of Modernizr to develop with and learn from. Then, when you're
|
||||
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
|
||||
|
|
|
@ -12,6 +12,18 @@ namespace WebsitePanel.WebDavPortal
|
|||
|
||||
#region Account
|
||||
|
||||
routes.MapRoute(
|
||||
name: AccountRouteNames.UserProfile,
|
||||
url: "account/profile",
|
||||
defaults: new { controller = "Account", action = "UserProfile" }
|
||||
);
|
||||
|
||||
routes.MapRoute(
|
||||
name: AccountRouteNames.PasswordChange,
|
||||
url: "account/profile/password-change",
|
||||
defaults: new { controller = "Account", action = "PasswordChange" }
|
||||
);
|
||||
|
||||
routes.MapRoute(
|
||||
name: AccountRouteNames.Logout,
|
||||
url: "account/logout",
|
||||
|
|
|
@ -9,5 +9,8 @@ namespace WebsitePanel.WebDavPortal.UI.Routes
|
|||
{
|
||||
public const string Logout = "AccountLogout";
|
||||
public const string Login = "AccountLogin";
|
||||
public const string UserProfile = "UserProfileRoute";
|
||||
|
||||
public const string PasswordChange = "PasswordChangeRoute";
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
namespace WebsitePanel.WebDavPortal.Constants
|
||||
{
|
||||
public class Formtas
|
||||
public class Formats
|
||||
{
|
||||
public const string DateFormatWithTime = "MM/dd/yyyy hh:mm tt";
|
||||
}
|
|
@ -231,6 +231,23 @@ tr.selected-file {
|
|||
}
|
||||
|
||||
|
||||
.navbar-fixed-top #user-profile {
|
||||
font-size: 18px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.navbar-fixed-top #user-profile:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.user-profile .password-information {
|
||||
padding-top: 7px;
|
||||
}
|
||||
|
||||
.user-profile .login-name {
|
||||
padding-top: 7px;
|
||||
}
|
||||
|
||||
.web-dav-folder-progress {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
|
|
@ -2,11 +2,16 @@
|
|||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using AutoMapper;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.WebDav.Core.Config;
|
||||
using WebsitePanel.WebDav.Core.Security.Authentication;
|
||||
using WebsitePanel.WebDav.Core.Security.Cryptography;
|
||||
using WebsitePanel.WebDavPortal.CustomAttributes;
|
||||
using WebsitePanel.WebDavPortal.Models;
|
||||
using WebsitePanel.WebDavPortal.Models.Account;
|
||||
using WebsitePanel.WebDavPortal.Models.Common;
|
||||
using WebsitePanel.WebDavPortal.Models.Common.EditorTemplates;
|
||||
using WebsitePanel.WebDavPortal.Models.Common.Enums;
|
||||
using WebsitePanel.WebDavPortal.UI.Routes;
|
||||
using WebsitePanel.WebDav.Core.Interfaces.Security;
|
||||
|
@ -14,7 +19,7 @@ using WebsitePanel.WebDav.Core;
|
|||
|
||||
namespace WebsitePanel.WebDavPortal.Controllers
|
||||
{
|
||||
[AllowAnonymous]
|
||||
[LdapAuthorization]
|
||||
public class AccountController : Controller
|
||||
{
|
||||
private readonly ICryptography _cryptography;
|
||||
|
@ -27,6 +32,8 @@ namespace WebsitePanel.WebDavPortal.Controllers
|
|||
}
|
||||
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
|
||||
public ActionResult Login()
|
||||
{
|
||||
if (WspContext.User != null && WspContext.User.Identity.IsAuthenticated)
|
||||
|
@ -38,6 +45,7 @@ namespace WebsitePanel.WebDavPortal.Controllers
|
|||
}
|
||||
|
||||
[HttpPost]
|
||||
[AllowAnonymous]
|
||||
public ActionResult Login(AccountModel model)
|
||||
{
|
||||
var user = _authenticationService.LogIn(model.Login, model.Password);
|
||||
|
@ -63,5 +71,114 @@ namespace WebsitePanel.WebDavPortal.Controllers
|
|||
|
||||
return RedirectToRoute(AccountRouteNames.Login);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public ActionResult UserProfile()
|
||||
{
|
||||
var model = GetUserProfileModel(WspContext.User.ItemId, WspContext.User.AccountId);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ValidateAntiForgeryToken]
|
||||
public ActionResult UserProfile(UserProfile model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return View(model);
|
||||
}
|
||||
|
||||
int result = UpdateUserProfile(WspContext.User.ItemId, WspContext.User.AccountId, model);
|
||||
|
||||
model.AddMessage(MessageType.Success, Resources.UI.UserProfileSuccessfullyUpdated);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public ActionResult PasswordChange()
|
||||
{
|
||||
var model = new PasswordChangeModel();
|
||||
model.PasswordEditor.Settings = WspContext.Services.Organizations.GetOrganizationPasswordSettings(WspContext.User.ItemId);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult PasswordChange(PasswordChangeModel model)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return View(model);
|
||||
}
|
||||
|
||||
if (_authenticationService.ValidateAuthenticationData(WspContext.User.Login, model.OldPassword) == false)
|
||||
{
|
||||
model.AddMessage(MessageType.Error, Resources.Messages.OldPasswordIsNotCorrect);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
WspContext.Services.Organizations.SetUserPassword(
|
||||
WspContext.User.ItemId, WspContext.User.AccountId,
|
||||
model.PasswordEditor.NewPassword);
|
||||
|
||||
return RedirectToRoute(AccountRouteNames.UserProfile);
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
private UserProfile GetUserProfileModel(int itemId, int accountId)
|
||||
{
|
||||
var user = WspContext.Services.Organizations.GetUserGeneralSettings(itemId, accountId);
|
||||
|
||||
return Mapper.Map<OrganizationUser, UserProfile>(user);
|
||||
}
|
||||
|
||||
private int UpdateUserProfile(int itemId, int accountId, UserProfile model)
|
||||
{
|
||||
var user = WspContext.Services.Organizations.GetUserGeneralSettings(itemId, accountId);
|
||||
|
||||
return WspContext.Services.Organizations.SetUserGeneralSettings(
|
||||
itemId, accountId,
|
||||
model.DisplayName,
|
||||
string.Empty,
|
||||
false,
|
||||
user.Disabled,
|
||||
user.Locked,
|
||||
|
||||
model.FirstName,
|
||||
model.Initials,
|
||||
model.LastName,
|
||||
|
||||
model.Address,
|
||||
model.City,
|
||||
model.State,
|
||||
model.Zip,
|
||||
model.Country,
|
||||
|
||||
user.JobTitle,
|
||||
user.Company,
|
||||
user.Department,
|
||||
user.Office,
|
||||
user.Manager == null ? null : user.Manager.AccountName,
|
||||
|
||||
model.BusinessPhone,
|
||||
model.Fax,
|
||||
model.HomePhone,
|
||||
model.MobilePhone,
|
||||
model.Pager,
|
||||
model.WebPage,
|
||||
model.Notes,
|
||||
model.ExternalEmail,
|
||||
user.SubscriberNumber,
|
||||
user.LevelId,
|
||||
user.IsVIP,
|
||||
user.UserMustChangePassword);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.WebDav.Core;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.CustomAttributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
|
||||
public class OrganizationPasswordPolicyAttribute : ValidationAttribute, IClientValidatable
|
||||
{
|
||||
public OrganizationPasswordSettings Settings { get; private set; }
|
||||
|
||||
public OrganizationPasswordPolicyAttribute()
|
||||
{
|
||||
Settings = WspContext.Services.Organizations.GetOrganizationPasswordSettings(WspContext.User.ItemId);
|
||||
}
|
||||
|
||||
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
|
||||
{
|
||||
if (value != null && WspContext.User != null)
|
||||
{
|
||||
|
||||
var resultMessages = new List<string>();
|
||||
|
||||
if (Settings != null)
|
||||
{
|
||||
var valueString = value.ToString();
|
||||
|
||||
if (valueString.Length < Settings.MinimumLength)
|
||||
{
|
||||
resultMessages.Add(string.Format(Resources.Messages.PasswordMinLengthFormat,
|
||||
Settings.MinimumLength));
|
||||
}
|
||||
|
||||
if (valueString.Length > Settings.MaximumLength)
|
||||
{
|
||||
resultMessages.Add(string.Format(Resources.Messages.PasswordMaxLengthFormat,
|
||||
Settings.MaximumLength));
|
||||
}
|
||||
|
||||
if (Settings.PasswordComplexityEnabled)
|
||||
{
|
||||
var symbolsCount = valueString.Count(Char.IsSymbol);
|
||||
var numbersCount = valueString.Count(Char.IsDigit);
|
||||
var upperLetterCount = valueString.Count(Char.IsUpper);
|
||||
|
||||
if (upperLetterCount < Settings.UppercaseLettersCount)
|
||||
{
|
||||
resultMessages.Add(string.Format(Resources.Messages.PasswordUppercaseCountFormat,
|
||||
Settings.UppercaseLettersCount));
|
||||
}
|
||||
|
||||
if (numbersCount < Settings.NumbersCount)
|
||||
{
|
||||
resultMessages.Add(string.Format(Resources.Messages.PasswordNumbersCountFormat,
|
||||
Settings.NumbersCount));
|
||||
}
|
||||
|
||||
if (symbolsCount < Settings.SymbolsCount)
|
||||
{
|
||||
resultMessages.Add(string.Format(Resources.Messages.PasswordSymbolsCountFormat,
|
||||
Settings.SymbolsCount));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return resultMessages.Any()? new ValidationResult(string.Join("<br>", resultMessages)) : ValidationResult.Success;
|
||||
}
|
||||
|
||||
return ValidationResult.Success;
|
||||
}
|
||||
|
||||
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
|
||||
{
|
||||
var rule = new ModelClientValidationRule();
|
||||
|
||||
rule.ErrorMessage = string.Format(Resources.Messages.PasswordMinLengthFormat, Settings.MinimumLength);
|
||||
rule.ValidationParameters.Add("count", Settings.MinimumLength);
|
||||
rule.ValidationType = "minimumlength";
|
||||
|
||||
yield return rule;
|
||||
|
||||
rule = new ModelClientValidationRule();
|
||||
|
||||
rule.ErrorMessage = string.Format(Resources.Messages.PasswordMaxLengthFormat, Settings.MaximumLength);
|
||||
rule.ValidationParameters.Add("count", Settings.MaximumLength);
|
||||
rule.ValidationType = "maximumlength";
|
||||
|
||||
yield return rule;
|
||||
|
||||
if (Settings.PasswordComplexityEnabled)
|
||||
{
|
||||
rule = new ModelClientValidationRule();
|
||||
|
||||
rule.ErrorMessage = string.Format(Resources.Messages.PasswordUppercaseCountFormat, Settings.UppercaseLettersCount);
|
||||
rule.ValidationParameters.Add("count", Settings.UppercaseLettersCount);
|
||||
rule.ValidationType = "uppercasecount";
|
||||
|
||||
yield return rule;
|
||||
|
||||
rule = new ModelClientValidationRule();
|
||||
|
||||
rule.ErrorMessage = string.Format(Resources.Messages.PasswordNumbersCountFormat, Settings.NumbersCount);
|
||||
rule.ValidationParameters.Add("count", Settings.NumbersCount);
|
||||
rule.ValidationType = "numberscount";
|
||||
|
||||
yield return rule;
|
||||
|
||||
rule = new ModelClientValidationRule();
|
||||
|
||||
rule.ErrorMessage = string.Format(Resources.Messages.PasswordSymbolsCountFormat, Settings.SymbolsCount);
|
||||
rule.ValidationParameters.Add("count", Settings.SymbolsCount);
|
||||
rule.ValidationType = "symbolscount";
|
||||
|
||||
yield return rule;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.CustomAttributes
|
||||
{
|
||||
public class PhoneNumberAttribute : RegularExpressionAttribute, IClientValidatable
|
||||
{
|
||||
public const string PhonePattern = @"^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$";
|
||||
|
||||
public PhoneNumberAttribute()
|
||||
: base(PhonePattern)
|
||||
{
|
||||
}
|
||||
|
||||
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
|
||||
{
|
||||
yield return new ModelClientValidationRegexRule(FormatErrorMessage(metadata.GetDisplayName()), Pattern);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,6 +15,7 @@ using WebsitePanel.WebDav.Core.Security.Authentication.Principals;
|
|||
using WebsitePanel.WebDav.Core.Security.Cryptography;
|
||||
using WebsitePanel.WebDavPortal.App_Start;
|
||||
using WebsitePanel.WebDavPortal.Controllers;
|
||||
using WebsitePanel.WebDavPortal.CustomAttributes;
|
||||
using WebsitePanel.WebDavPortal.DependencyInjection;
|
||||
using WebsitePanel.WebDavPortal.HttpHandlers;
|
||||
using WebsitePanel.WebDavPortal.Mapping;
|
||||
|
@ -39,6 +40,10 @@ namespace WebsitePanel.WebDavPortal
|
|||
Mapper.AssertConfigurationIsValid();
|
||||
|
||||
log4net.Config.XmlConfigurator.Configure();
|
||||
|
||||
DataAnnotationsModelValidatorProvider.RegisterAdapter(
|
||||
typeof(PhoneNumberAttribute),
|
||||
typeof(RegularExpressionAttributeAdapter));
|
||||
}
|
||||
|
||||
protected void Application_Error(object sender, EventArgs e)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using AutoMapper;
|
||||
using WebsitePanel.WebDavPortal.Mapping.Profiles.Account;
|
||||
using WebsitePanel.WebDavPortal.Mapping.Profiles.Webdav;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Mapping
|
||||
|
@ -10,6 +11,7 @@ namespace WebsitePanel.WebDavPortal.Mapping
|
|||
Mapper.Initialize(
|
||||
config =>
|
||||
{
|
||||
config.AddProfile<UserProfileProfile>();
|
||||
config.AddProfile<ResourceTableItemProfile>();
|
||||
});
|
||||
}
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using AutoMapper;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.WebDav.Core.Client;
|
||||
using WebsitePanel.WebDav.Core.Config;
|
||||
using WebsitePanel.WebDav.Core.Extensions;
|
||||
using WebsitePanel.WebDavPortal.Constants;
|
||||
using WebsitePanel.WebDavPortal.FileOperations;
|
||||
using WebsitePanel.WebDavPortal.Models.Account;
|
||||
using WebsitePanel.WebDavPortal.Models.FileSystem;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Mapping.Profiles.Account
|
||||
{
|
||||
public class UserProfileProfile : Profile
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the name of the profile.
|
||||
/// </summary>
|
||||
/// <value>
|
||||
/// The name of the profile.
|
||||
/// </value>
|
||||
public override string ProfileName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetType().Name;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this method in a derived class and call the CreateMap method to associate that map with this profile.
|
||||
/// Avoid calling the <see cref="T:AutoMapper.Mapper" /> class from this method.
|
||||
/// </summary>
|
||||
protected override void Configure()
|
||||
{
|
||||
Mapper.CreateMap<OrganizationUser, UserProfile>()
|
||||
.ForMember(ti => ti.PrimaryEmailAddress, x => x.MapFrom(hi => hi.PrimaryEmailAddress))
|
||||
.ForMember(ti => ti.DisplayName, x => x.MapFrom(hi => hi.DisplayName))
|
||||
.ForMember(ti => ti.DisplayName, x => x.MapFrom(hi => hi.DisplayName))
|
||||
.ForMember(ti => ti.AccountName, x => x.MapFrom(hi => hi.AccountName))
|
||||
.ForMember(ti => ti.FirstName, x => x.MapFrom(hi => hi.FirstName))
|
||||
.ForMember(ti => ti.Initials, x => x.MapFrom(hi => hi.Initials))
|
||||
.ForMember(ti => ti.LastName, x => x.MapFrom(hi => hi.LastName))
|
||||
.ForMember(ti => ti.JobTitle, x => x.MapFrom(hi => hi.JobTitle))
|
||||
.ForMember(ti => ti.Company, x => x.MapFrom(hi => hi.Company))
|
||||
.ForMember(ti => ti.Department, x => x.MapFrom(hi => hi.Department))
|
||||
.ForMember(ti => ti.Office, x => x.MapFrom(hi => hi.Office))
|
||||
.ForMember(ti => ti.BusinessPhone, x => x.MapFrom(hi => hi.BusinessPhone))
|
||||
.ForMember(ti => ti.Fax, x => x.MapFrom(hi => hi.Fax))
|
||||
.ForMember(ti => ti.HomePhone, x => x.MapFrom(hi => hi.HomePhone))
|
||||
.ForMember(ti => ti.MobilePhone, x => x.MapFrom(hi => hi.MobilePhone))
|
||||
.ForMember(ti => ti.Pager, x => x.MapFrom(hi => hi.Pager))
|
||||
.ForMember(ti => ti.WebPage, x => x.MapFrom(hi => hi.WebPage))
|
||||
.ForMember(ti => ti.Address, x => x.MapFrom(hi => hi.Address))
|
||||
.ForMember(ti => ti.City, x => x.MapFrom(hi => hi.City))
|
||||
.ForMember(ti => ti.State, x => x.MapFrom(hi => hi.State))
|
||||
.ForMember(ti => ti.Zip, x => x.MapFrom(hi => hi.Zip))
|
||||
.ForMember(ti => ti.Country, x => x.MapFrom(hi => hi.Country))
|
||||
.ForMember(ti => ti.Notes, x => x.MapFrom(hi => hi.Notes))
|
||||
.ForMember(ti => ti.PasswordExpirationDateTime, x => x.MapFrom(hi => hi.PasswordExpirationDateTime))
|
||||
.ForMember(ti => ti.ExternalEmail, x => x.MapFrom(hi => hi.ExternalEmail))
|
||||
.ForMember(ti => ti.Messages, x => x.Ignore());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -44,12 +44,16 @@ namespace WebsitePanel.WebDavPortal.Mapping.Profiles.Webdav
|
|||
.ForMember(ti => ti.IconHref, x => x.MapFrom(hi => hi.ItemType == ItemType.Folder ? WebDavAppConfigManager.Instance.FileIcons.FolderPath.Trim('~') : WebDavAppConfigManager.Instance.FileIcons[Path.GetExtension(hi.DisplayName.Trim('/'))].Trim('~')))
|
||||
.ForMember(ti => ti.IsTargetBlank, x => x.MapFrom(hi => openerManager.GetIsTargetBlank(hi)))
|
||||
.ForMember(ti => ti.LastModified, x => x.MapFrom(hi => hi.LastModified))
|
||||
.ForMember(ti => ti.LastModifiedFormated, x => x.MapFrom(hi => hi.LastModified == DateTime.MinValue ? "--" : (new WebDavResource(null, hi)).LastModified.ToString(Formtas.DateFormatWithTime)))
|
||||
.ForMember(ti => ti.LastModifiedFormated, x => x.MapFrom(hi => hi.LastModified == DateTime.MinValue ? "--" : (new WebDavResource(null, hi)).LastModified.ToString(Formats.DateFormatWithTime)))
|
||||
|
||||
.ForMember(ti => ti.Summary, x => x.MapFrom(hi => hi.Summary))
|
||||
.ForMember(ti => ti.IsRoot, x => x.MapFrom(hi => hi.IsRootItem))
|
||||
.ForMember(ti => ti.Size, x => x.MapFrom(hi => hi.ContentLength))
|
||||
.ForMember(ti => ti.Quota, x => x.MapFrom(hi => hi.AllocatedSpace))
|
||||
.ForMember(ti => ti.Url, x => x.Ignore())
|
||||
.ForMember(ti => ti.FolderUrlAbsoluteString, x => x.Ignore())
|
||||
.ForMember(ti => ti.FolderUrlLocalString, x => x.Ignore())
|
||||
.ForMember(ti => ti.FolderName, x => x.Ignore())
|
||||
.ForMember(ti => ti.IsFolder, x => x.MapFrom(hi => hi.ItemType == ItemType.Folder));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.WebDavPortal.Models.Common;
|
||||
using WebsitePanel.WebDavPortal.Models.Common.EditorTemplates;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models.Account
|
||||
{
|
||||
public class PasswordChangeModel : BaseModel
|
||||
{
|
||||
[Display(ResourceType = typeof (Resources.UI), Name = "OldPassword")]
|
||||
[Required(ErrorMessageResourceType = typeof (Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
public string OldPassword { get; set; }
|
||||
|
||||
[UIHint("PasswordEditor")]
|
||||
public PasswordEditor PasswordEditor { get; set; }
|
||||
|
||||
|
||||
public PasswordChangeModel()
|
||||
{
|
||||
PasswordEditor = new PasswordEditor();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Security.AccessControl;
|
||||
using WebsitePanel.WebDavPortal.CustomAttributes;
|
||||
using WebsitePanel.WebDavPortal.Models.Common;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models.Account
|
||||
{
|
||||
public class UserProfile : BaseModel
|
||||
{
|
||||
[Display(ResourceType = typeof(Resources.UI), Name = "PrimaryEmail")]
|
||||
[Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
[EmailAddress(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "EmailInvalid", ErrorMessage = null)]
|
||||
public string PrimaryEmailAddress { get; set; }
|
||||
|
||||
[Display(ResourceType = typeof(Resources.UI), Name = "DisplayName")]
|
||||
[Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
public string DisplayName { get; set; }
|
||||
public string AccountName { get; set; }
|
||||
public string FirstName { get; set; }
|
||||
public string Initials { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public string JobTitle { get; set; }
|
||||
public string Company { get; set; }
|
||||
public string Department { get; set; }
|
||||
public string Office { get; set; }
|
||||
|
||||
[PhoneNumber(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PhoneNumberInvalid")]
|
||||
public string BusinessPhone { get; set; }
|
||||
|
||||
[PhoneNumber(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PhoneNumberInvalid")]
|
||||
public string Fax { get; set; }
|
||||
|
||||
[PhoneNumber(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PhoneNumberInvalid")]
|
||||
public string HomePhone { get; set; }
|
||||
|
||||
[Display(ResourceType = typeof(Resources.UI), Name = "MobilePhone")]
|
||||
[Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
[PhoneNumber(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PhoneNumberInvalid")]
|
||||
public string MobilePhone { get; set; }
|
||||
|
||||
[PhoneNumber(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PhoneNumberInvalid")]
|
||||
public string Pager { get; set; }
|
||||
|
||||
[Url(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "UrlInvalid", ErrorMessage = null)]
|
||||
public string WebPage { get; set; }
|
||||
public string Address { get; set; }
|
||||
public string City { get; set; }
|
||||
public string State { get; set; }
|
||||
public string Zip { get; set; }
|
||||
|
||||
[EmailAddress(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "EmailInvalid", ErrorMessage = null)]
|
||||
public string ExternalEmail { get; set; }
|
||||
|
||||
[UIHint("CountrySelector")]
|
||||
public string Country { get; set; }
|
||||
|
||||
public string Notes { get; set; }
|
||||
public DateTime PasswordExpirationDateTime { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.WebDavPortal.CustomAttributes;
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Models.Common.EditorTemplates
|
||||
{
|
||||
public class PasswordEditor
|
||||
{
|
||||
|
||||
[Display(ResourceType = typeof(Resources.UI), Name = "NewPassword")]
|
||||
[Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
[OrganizationPasswordPolicy]
|
||||
public string NewPassword { get; set; }
|
||||
|
||||
[Display(ResourceType = typeof(Resources.UI), Name = "NewPasswordConfirmation")]
|
||||
[Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
|
||||
[Compare("NewPassword", ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "PasswordDoesntMatch")]
|
||||
public string NewPasswordConfirmation { get; set; }
|
||||
|
||||
public OrganizationPasswordSettings Settings { get; set; }
|
||||
}
|
||||
}
|
162
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Resources/Messages.Designer.cs
generated
Normal file
162
WebsitePanel/Sources/WebsitePanel.WebDavPortal/Resources/Messages.Designer.cs
generated
Normal file
|
@ -0,0 +1,162 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.33440
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.WebDavPortal.Resources {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class Messages {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Messages() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WebsitePanel.WebDavPortal.Resources.Messages", typeof(Messages).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Email is invalid.
|
||||
/// </summary>
|
||||
public static string EmailInvalid {
|
||||
get {
|
||||
return ResourceManager.GetString("EmailInvalid", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Old password is not correct.
|
||||
/// </summary>
|
||||
public static string OldPasswordIsNotCorrect {
|
||||
get {
|
||||
return ResourceManager.GetString("OldPasswordIsNotCorrect", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The password and confirmation password do not match..
|
||||
/// </summary>
|
||||
public static string PasswordDoesntMatch {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordDoesntMatch", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password should be maximum {0} characters.
|
||||
/// </summary>
|
||||
public static string PasswordMaxLengthFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordMaxLengthFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password should be at least {0} characters.
|
||||
/// </summary>
|
||||
public static string PasswordMinLengthFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordMinLengthFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password should contain at least {0} numbers.
|
||||
/// </summary>
|
||||
public static string PasswordNumbersCountFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordNumbersCountFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password should contain at least {0} non-alphanumeric symbols.
|
||||
/// </summary>
|
||||
public static string PasswordSymbolsCountFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordSymbolsCountFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password should contain at least {0} UPPERCASE characters.
|
||||
/// </summary>
|
||||
public static string PasswordUppercaseCountFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordUppercaseCountFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Phone number is invalid.
|
||||
/// </summary>
|
||||
public static string PhoneNumberInvalid {
|
||||
get {
|
||||
return ResourceManager.GetString("PhoneNumberInvalid", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {0} field is required.
|
||||
/// </summary>
|
||||
public static string Required {
|
||||
get {
|
||||
return ResourceManager.GetString("Required", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Url is invalid.
|
||||
/// </summary>
|
||||
public static string UrlInvalid {
|
||||
get {
|
||||
return ResourceManager.GetString("UrlInvalid", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="EmailInvalid" xml:space="preserve">
|
||||
<value>Email is invalid</value>
|
||||
</data>
|
||||
<data name="OldPasswordIsNotCorrect" xml:space="preserve">
|
||||
<value>Old password is not correct</value>
|
||||
</data>
|
||||
<data name="PasswordDoesntMatch" xml:space="preserve">
|
||||
<value>The password and confirmation password do not match.</value>
|
||||
</data>
|
||||
<data name="PasswordMaxLengthFormat" xml:space="preserve">
|
||||
<value>Password should be maximum {0} characters</value>
|
||||
</data>
|
||||
<data name="PasswordMinLengthFormat" xml:space="preserve">
|
||||
<value>Password should be at least {0} characters</value>
|
||||
</data>
|
||||
<data name="PasswordNumbersCountFormat" xml:space="preserve">
|
||||
<value>Password should contain at least {0} numbers</value>
|
||||
</data>
|
||||
<data name="PasswordSymbolsCountFormat" xml:space="preserve">
|
||||
<value>Password should contain at least {0} non-alphanumeric symbols</value>
|
||||
</data>
|
||||
<data name="PasswordUppercaseCountFormat" xml:space="preserve">
|
||||
<value>Password should contain at least {0} UPPERCASE characters</value>
|
||||
</data>
|
||||
<data name="PhoneNumberInvalid" xml:space="preserve">
|
||||
<value>Phone number is invalid</value>
|
||||
</data>
|
||||
<data name="Required" xml:space="preserve">
|
||||
<value>{0} field is required</value>
|
||||
</data>
|
||||
<data name="UrlInvalid" xml:space="preserve">
|
||||
<value>Url is invalid</value>
|
||||
</data>
|
||||
</root>
|
|
@ -69,6 +69,42 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Address.
|
||||
/// </summary>
|
||||
public static string Address {
|
||||
get {
|
||||
return ResourceManager.GetString("Address", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Address Inforamtion.
|
||||
/// </summary>
|
||||
public static string AddressInforamtion {
|
||||
get {
|
||||
return ResourceManager.GetString("AddressInforamtion", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Back.
|
||||
/// </summary>
|
||||
public static string Back {
|
||||
get {
|
||||
return ResourceManager.GetString("Back", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Business Phone.
|
||||
/// </summary>
|
||||
public static string BusinessPhone {
|
||||
get {
|
||||
return ResourceManager.GetString("BusinessPhone", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Byte.
|
||||
/// </summary>
|
||||
|
@ -105,6 +141,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Change password.
|
||||
/// </summary>
|
||||
public static string ChangePassword {
|
||||
get {
|
||||
return ResourceManager.GetString("ChangePassword", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to City.
|
||||
/// </summary>
|
||||
public static string City {
|
||||
get {
|
||||
return ResourceManager.GetString("City", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Close.
|
||||
/// </summary>
|
||||
|
@ -114,6 +168,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Company Information.
|
||||
/// </summary>
|
||||
public static string CompanyInformation {
|
||||
get {
|
||||
return ResourceManager.GetString("CompanyInformation", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Confirm.
|
||||
/// </summary>
|
||||
|
@ -123,6 +186,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Contact Information.
|
||||
/// </summary>
|
||||
public static string ContactInformation {
|
||||
get {
|
||||
return ResourceManager.GetString("ContactInformation", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Country/Region.
|
||||
/// </summary>
|
||||
public static string Country {
|
||||
get {
|
||||
return ResourceManager.GetString("Country", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Create.
|
||||
/// </summary>
|
||||
|
@ -168,6 +249,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Display Name.
|
||||
/// </summary>
|
||||
public static string DisplayName {
|
||||
get {
|
||||
return ResourceManager.GetString("DisplayName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Email.
|
||||
/// </summary>
|
||||
public static string Email {
|
||||
get {
|
||||
return ResourceManager.GetString("Email", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Please enter file name.
|
||||
/// </summary>
|
||||
|
@ -204,6 +303,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to External Email.
|
||||
/// </summary>
|
||||
public static string ExternalEmail {
|
||||
get {
|
||||
return ResourceManager.GetString("ExternalEmail", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fax.
|
||||
/// </summary>
|
||||
public static string Fax {
|
||||
get {
|
||||
return ResourceManager.GetString("Fax", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to File.
|
||||
/// </summary>
|
||||
|
@ -231,6 +348,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to First Name.
|
||||
/// </summary>
|
||||
public static string FirstName {
|
||||
get {
|
||||
return ResourceManager.GetString("FirstName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to General Information.
|
||||
/// </summary>
|
||||
public static string GeneralInformation {
|
||||
get {
|
||||
return ResourceManager.GetString("GeneralInformation", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Gb.
|
||||
/// </summary>
|
||||
|
@ -240,6 +375,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Here.
|
||||
/// </summary>
|
||||
public static string Here {
|
||||
get {
|
||||
return ResourceManager.GetString("Here", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Home Phone.
|
||||
/// </summary>
|
||||
public static string HomePhone {
|
||||
get {
|
||||
return ResourceManager.GetString("HomePhone", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Info.
|
||||
/// </summary>
|
||||
|
@ -249,6 +402,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Initials.
|
||||
/// </summary>
|
||||
public static string Initials {
|
||||
get {
|
||||
return ResourceManager.GetString("Initials", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to File already exist.
|
||||
/// </summary>
|
||||
|
@ -267,6 +429,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Job Title.
|
||||
/// </summary>
|
||||
public static string JobTitle {
|
||||
get {
|
||||
return ResourceManager.GetString("JobTitle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to KB.
|
||||
/// </summary>
|
||||
|
@ -276,6 +447,33 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Last Name.
|
||||
/// </summary>
|
||||
public static string LastName {
|
||||
get {
|
||||
return ResourceManager.GetString("LastName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Login name.
|
||||
/// </summary>
|
||||
public static string LoginName {
|
||||
get {
|
||||
return ResourceManager.GetString("LoginName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Log out.
|
||||
/// </summary>
|
||||
public static string LogOut {
|
||||
get {
|
||||
return ResourceManager.GetString("LogOut", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to MB.
|
||||
/// </summary>
|
||||
|
@ -285,6 +483,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Mobile Phone.
|
||||
/// </summary>
|
||||
public static string MobilePhone {
|
||||
get {
|
||||
return ResourceManager.GetString("MobilePhone", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Modified.
|
||||
/// </summary>
|
||||
|
@ -303,6 +510,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to New password.
|
||||
/// </summary>
|
||||
public static string NewPassword {
|
||||
get {
|
||||
return ResourceManager.GetString("NewPassword", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Confirm password.
|
||||
/// </summary>
|
||||
public static string NewPasswordConfirmation {
|
||||
get {
|
||||
return ResourceManager.GetString("NewPasswordConfirmation", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to No files are selected..
|
||||
/// </summary>
|
||||
|
@ -321,6 +546,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Notes.
|
||||
/// </summary>
|
||||
public static string Notes {
|
||||
get {
|
||||
return ResourceManager.GetString("Notes", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Old password.
|
||||
/// </summary>
|
||||
public static string OldPassword {
|
||||
get {
|
||||
return ResourceManager.GetString("OldPassword", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to or drag and drop files here..
|
||||
/// </summary>
|
||||
|
@ -330,6 +573,33 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Pager.
|
||||
/// </summary>
|
||||
public static string Pager {
|
||||
get {
|
||||
return ResourceManager.GetString("Pager", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Password.
|
||||
/// </summary>
|
||||
public static string Password {
|
||||
get {
|
||||
return ResourceManager.GetString("Password", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Will expire on {0}. If you want to change password then please click {1}..
|
||||
/// </summary>
|
||||
public static string PasswordExpirationFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("PasswordExpirationFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to PB.
|
||||
/// </summary>
|
||||
|
@ -357,6 +627,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Primary Email.
|
||||
/// </summary>
|
||||
public static string PrimaryEmail {
|
||||
get {
|
||||
return ResourceManager.GetString("PrimaryEmail", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Processing.
|
||||
/// </summary>
|
||||
|
@ -375,6 +654,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Profile.
|
||||
/// </summary>
|
||||
public static string Profile {
|
||||
get {
|
||||
return ResourceManager.GetString("Profile", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Save Changes.
|
||||
/// </summary>
|
||||
public static string SaveChanges {
|
||||
get {
|
||||
return ResourceManager.GetString("SaveChanges", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Search.
|
||||
/// </summary>
|
||||
|
@ -402,6 +699,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Select.
|
||||
/// </summary>
|
||||
public static string Select {
|
||||
get {
|
||||
return ResourceManager.GetString("Select", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Select files to upload.
|
||||
/// </summary>
|
||||
|
@ -420,6 +726,15 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to State/Province.
|
||||
/// </summary>
|
||||
public static string State {
|
||||
get {
|
||||
return ResourceManager.GetString("State", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Table.
|
||||
/// </summary>
|
||||
|
@ -456,6 +771,24 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to User profile successfully updated.
|
||||
/// </summary>
|
||||
public static string UserProfileSuccessfullyUpdated {
|
||||
get {
|
||||
return ResourceManager.GetString("UserProfileSuccessfullyUpdated", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Web Page.
|
||||
/// </summary>
|
||||
public static string WebPage {
|
||||
get {
|
||||
return ResourceManager.GetString("WebPage", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Word document.
|
||||
/// </summary>
|
||||
|
@ -473,5 +806,14 @@ namespace WebsitePanel.WebDavPortal.Resources {
|
|||
return ResourceManager.GetString("Yes", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Zip/Postal Code.
|
||||
/// </summary>
|
||||
public static string Zip {
|
||||
get {
|
||||
return ResourceManager.GetString("Zip", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -120,6 +120,18 @@
|
|||
<data name="Actions" xml:space="preserve">
|
||||
<value>Actions</value>
|
||||
</data>
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Address</value>
|
||||
</data>
|
||||
<data name="AddressInforamtion" xml:space="preserve">
|
||||
<value>Address Inforamtion</value>
|
||||
</data>
|
||||
<data name="Back" xml:space="preserve">
|
||||
<value>Back</value>
|
||||
</data>
|
||||
<data name="BusinessPhone" xml:space="preserve">
|
||||
<value>Business Phone</value>
|
||||
</data>
|
||||
<data name="Byte" xml:space="preserve">
|
||||
<value>Byte</value>
|
||||
</data>
|
||||
|
@ -132,12 +144,27 @@
|
|||
<data name="CancelAll" xml:space="preserve">
|
||||
<value>Cancel All</value>
|
||||
</data>
|
||||
<data name="ChangePassword" xml:space="preserve">
|
||||
<value>Change password</value>
|
||||
</data>
|
||||
<data name="City" xml:space="preserve">
|
||||
<value>City</value>
|
||||
</data>
|
||||
<data name="Close" xml:space="preserve">
|
||||
<value>Close</value>
|
||||
</data>
|
||||
<data name="CompanyInformation" xml:space="preserve">
|
||||
<value>Company Information</value>
|
||||
</data>
|
||||
<data name="Confirm" xml:space="preserve">
|
||||
<value>Confirm</value>
|
||||
</data>
|
||||
<data name="ContactInformation" xml:space="preserve">
|
||||
<value>Contact Information</value>
|
||||
</data>
|
||||
<data name="Country" xml:space="preserve">
|
||||
<value>Country/Region</value>
|
||||
</data>
|
||||
<data name="Create" xml:space="preserve">
|
||||
<value>Create</value>
|
||||
</data>
|
||||
|
@ -153,6 +180,12 @@
|
|||
<data name="DialogsContentConfrimFileDeletion" xml:space="preserve">
|
||||
<value>Are you sure you want to delete {0} item(s)?</value>
|
||||
</data>
|
||||
<data name="DisplayName" xml:space="preserve">
|
||||
<value>Display Name</value>
|
||||
</data>
|
||||
<data name="Email" xml:space="preserve">
|
||||
<value>Email</value>
|
||||
</data>
|
||||
<data name="EnterFileName" xml:space="preserve">
|
||||
<value>Please enter file name</value>
|
||||
</data>
|
||||
|
@ -165,6 +198,12 @@
|
|||
<data name="ExcelWorkbook" xml:space="preserve">
|
||||
<value>Excel workbook</value>
|
||||
</data>
|
||||
<data name="ExternalEmail" xml:space="preserve">
|
||||
<value>External Email</value>
|
||||
</data>
|
||||
<data name="Fax" xml:space="preserve">
|
||||
<value>Fax</value>
|
||||
</data>
|
||||
<data name="File" xml:space="preserve">
|
||||
<value>File</value>
|
||||
</data>
|
||||
|
@ -174,39 +213,90 @@
|
|||
<data name="FileUpload" xml:space="preserve">
|
||||
<value>File Upload</value>
|
||||
</data>
|
||||
<data name="FirstName" xml:space="preserve">
|
||||
<value>First Name</value>
|
||||
</data>
|
||||
<data name="GeneralInformation" xml:space="preserve">
|
||||
<value>General Information</value>
|
||||
</data>
|
||||
<data name="GigabyteShort" xml:space="preserve">
|
||||
<value>Gb</value>
|
||||
</data>
|
||||
<data name="Here" xml:space="preserve">
|
||||
<value>Here</value>
|
||||
</data>
|
||||
<data name="HomePhone" xml:space="preserve">
|
||||
<value>Home Phone</value>
|
||||
</data>
|
||||
<data name="Info" xml:space="preserve">
|
||||
<value>Info</value>
|
||||
</data>
|
||||
<data name="Initials" xml:space="preserve">
|
||||
<value>Initials</value>
|
||||
</data>
|
||||
<data name="ItemExist" xml:space="preserve">
|
||||
<value>File already exist</value>
|
||||
</data>
|
||||
<data name="ItemsWasRemovedFormat" xml:space="preserve">
|
||||
<value>{0} items was removed.</value>
|
||||
</data>
|
||||
<data name="JobTitle" xml:space="preserve">
|
||||
<value>Job Title</value>
|
||||
</data>
|
||||
<data name="KilobyteShort" xml:space="preserve">
|
||||
<value>KB</value>
|
||||
</data>
|
||||
<data name="LastName" xml:space="preserve">
|
||||
<value>Last Name</value>
|
||||
</data>
|
||||
<data name="LoginName" xml:space="preserve">
|
||||
<value>Login name</value>
|
||||
</data>
|
||||
<data name="LogOut" xml:space="preserve">
|
||||
<value>Log out</value>
|
||||
</data>
|
||||
<data name="MegabyteShort" xml:space="preserve">
|
||||
<value>MB</value>
|
||||
</data>
|
||||
<data name="MobilePhone" xml:space="preserve">
|
||||
<value>Mobile Phone</value>
|
||||
</data>
|
||||
<data name="Modified" xml:space="preserve">
|
||||
<value>Modified</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="NewPassword" xml:space="preserve">
|
||||
<value>New password</value>
|
||||
</data>
|
||||
<data name="NewPasswordConfirmation" xml:space="preserve">
|
||||
<value>Confirm password</value>
|
||||
</data>
|
||||
<data name="NoFilesAreSelected" xml:space="preserve">
|
||||
<value>No files are selected.</value>
|
||||
</data>
|
||||
<data name="NotAFile" xml:space="preserve">
|
||||
<value>Not a file.</value>
|
||||
</data>
|
||||
<data name="Notes" xml:space="preserve">
|
||||
<value>Notes</value>
|
||||
</data>
|
||||
<data name="OldPassword" xml:space="preserve">
|
||||
<value>Old password</value>
|
||||
</data>
|
||||
<data name="OrDragAndDropFilesHere" xml:space="preserve">
|
||||
<value>or drag and drop files here.</value>
|
||||
</data>
|
||||
<data name="Pager" xml:space="preserve">
|
||||
<value>Pager</value>
|
||||
</data>
|
||||
<data name="Password" xml:space="preserve">
|
||||
<value>Password</value>
|
||||
</data>
|
||||
<data name="PasswordExpirationFormat" xml:space="preserve">
|
||||
<value>Will expire on {0}. If you want to change password then please click {1}.</value>
|
||||
</data>
|
||||
<data name="PetabyteShort" xml:space="preserve">
|
||||
<value>PB</value>
|
||||
</data>
|
||||
|
@ -216,12 +306,21 @@
|
|||
<data name="PowerPointPresentation" xml:space="preserve">
|
||||
<value>Powerpoint presentation</value>
|
||||
</data>
|
||||
<data name="PrimaryEmail" xml:space="preserve">
|
||||
<value>Primary Email</value>
|
||||
</data>
|
||||
<data name="Processing" xml:space="preserve">
|
||||
<value>Processing</value>
|
||||
</data>
|
||||
<data name="ProcessingWithDots" xml:space="preserve">
|
||||
<value>Processing...</value>
|
||||
</data>
|
||||
<data name="Profile" xml:space="preserve">
|
||||
<value>Profile</value>
|
||||
</data>
|
||||
<data name="SaveChanges" xml:space="preserve">
|
||||
<value>Save Changes</value>
|
||||
</data>
|
||||
<data name="Search" xml:space="preserve">
|
||||
<value>Search</value>
|
||||
</data>
|
||||
|
@ -231,12 +330,18 @@
|
|||
<data name="SearchResults" xml:space="preserve">
|
||||
<value>Search Results</value>
|
||||
</data>
|
||||
<data name="Select" xml:space="preserve">
|
||||
<value>Select</value>
|
||||
</data>
|
||||
<data name="SelectFilesToUpload" xml:space="preserve">
|
||||
<value>Select files to upload</value>
|
||||
</data>
|
||||
<data name="Size" xml:space="preserve">
|
||||
<value>Size</value>
|
||||
</data>
|
||||
<data name="State" xml:space="preserve">
|
||||
<value>State/Province</value>
|
||||
</data>
|
||||
<data name="Table" xml:space="preserve">
|
||||
<value>Table</value>
|
||||
</data>
|
||||
|
@ -249,10 +354,19 @@
|
|||
<data name="Upload" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name="UserProfileSuccessfullyUpdated" xml:space="preserve">
|
||||
<value>User profile successfully updated</value>
|
||||
</data>
|
||||
<data name="WebPage" xml:space="preserve">
|
||||
<value>Web Page</value>
|
||||
</data>
|
||||
<data name="WordDocument" xml:space="preserve">
|
||||
<value>Word document</value>
|
||||
</data>
|
||||
<data name="Yes" xml:space="preserve">
|
||||
<value>Yes</value>
|
||||
</data>
|
||||
<data name="Zip" xml:space="preserve">
|
||||
<value>Zip/Postal Code</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,54 @@
|
|||
/// <reference path="jquery.validate.js" />
|
||||
/// <reference path="jquery.validate.unobtrusive.js" />
|
||||
|
||||
|
||||
$.validator.unobtrusive.adapters.addSingleVal("minimumlength", "count");
|
||||
|
||||
$.validator.addMethod("minimumlength", function (value, element, count) {
|
||||
if (value.length < count) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$.validator.unobtrusive.adapters.addSingleVal("maximumlength", "count");
|
||||
|
||||
$.validator.addMethod("maximumlength", function (value, element, count) {
|
||||
if (value.length > count) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$.validator.unobtrusive.adapters.addSingleVal("uppercasecount", "count");
|
||||
|
||||
$.validator.addMethod("uppercasecount", function (value, element, count) {
|
||||
if (value.replace(/[^A-Z]/g, "").length < count) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$.validator.unobtrusive.adapters.addSingleVal("numberscount", "count");
|
||||
|
||||
$.validator.addMethod("numberscount", function (value, element, count) {
|
||||
if (value.replace(/[^0-9]/g, "").length < count) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$.validator.unobtrusive.adapters.addSingleVal("symbolscount", "count");
|
||||
|
||||
$.validator.addMethod("symbolscount", function (value, element, count) {
|
||||
if (value.replace(/[a-zA-Z0-9_]/g, "").length < count) {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
|
@ -11,24 +11,10 @@ $(document).on('click', '.processing-dialog', function (e) {
|
|||
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
//bootstrap jquery validate styles fix
|
||||
$.validator.setDefaults({
|
||||
highlight: function(element) {
|
||||
$(element).closest('.form-group').addClass('has-error');
|
||||
},
|
||||
unhighlight: function(element) {
|
||||
$(element).closest('.form-group').removeClass('has-error');
|
||||
},
|
||||
errorElement: 'span',
|
||||
errorClass: 'help-block',
|
||||
errorPlacement: function(error, element) {
|
||||
if (element.parent('.input-group').length) {
|
||||
error.insertAfter(element.parent());
|
||||
} else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
}
|
||||
});
|
||||
BindBootstrapValidationStyles();
|
||||
|
||||
|
||||
$.validator.addMethod("synchronousRemote", function(value, element, param) {
|
||||
if (this.optional(element)) {
|
||||
|
@ -86,6 +72,60 @@ $(document).ready(function() {
|
|||
}, "Please fix this field.");
|
||||
});
|
||||
|
||||
function BindBootstrapValidationStyles() {
|
||||
$.validator.setDefaults({
|
||||
highlight: function (element) {
|
||||
$(element).closest('.form-group').addClass('has-error');
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).closest('.form-group').removeClass('has-error');
|
||||
},
|
||||
errorElement: 'span',
|
||||
errorClass: 'help-block',
|
||||
errorPlacement: function (error, element) {
|
||||
if (element.parent('.input-group').length) {
|
||||
error.insertAfter(element.parent());
|
||||
} else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('.bs-val-styles').each(function () {
|
||||
var form = $(this);
|
||||
var formData = $.data(form[0]);
|
||||
if (formData && formData.validator) {
|
||||
|
||||
var settings = formData.validator.settings;
|
||||
// Store existing event handlers in local variables
|
||||
var oldErrorPlacement = settings.errorPlacement;
|
||||
var oldSuccess = settings.success;
|
||||
|
||||
settings.errorPlacement = function (label, element) {
|
||||
|
||||
oldErrorPlacement(label, element);
|
||||
|
||||
element.closest('.form-group').addClass('has-error');
|
||||
label.addClass('text-danger');
|
||||
};
|
||||
|
||||
settings.success = function (label, element) {
|
||||
$(element).closest('.form-group').removeClass('has-error');
|
||||
|
||||
oldSuccess(label);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('.input-validation-error').each(function () {
|
||||
$(this).closest('.form-group').addClass('has-error');
|
||||
});
|
||||
|
||||
$('.field-validation-error').each(function () {
|
||||
$(this).addClass('text-danger');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$.fn.clearValidation = function () { var v = $(this).validate(); $('[name]', this).each(function () { v.successList.push(this); v.showErrors(); }); v.resetForm(); v.reset(); $(this).find('.form-group').removeClass('has-error'); };
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
@using WebsitePanel.WebDavPortal.Resources
|
||||
@using WebsitePanel.WebDavPortal.UI.Routes
|
||||
@model WebsitePanel.WebDavPortal.Models.Account.PasswordChangeModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
<div class="container row">
|
||||
@using (Html.BeginRouteForm(AccountRouteNames.PasswordChange, FormMethod.Post, new { @class = "form-horizontal user-password-change bs-val-styles col-lg-10 col-lg-offset-3", id = "user-password-change" }))
|
||||
{
|
||||
<div class="form-group">
|
||||
<h3>@UI.ChangePassword</h3>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.OldPassword)" class="col-sm-2 control-label">@UI.OldPassword</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.PasswordFor(x => x.OldPassword, new { @class = "form-control", placeholder = UI.OldPassword })
|
||||
@Html.ValidationMessageFor(x => x.OldPassword)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@Html.EditorFor(x=>x.PasswordEditor)
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-4 col-sm-10">
|
||||
<button type="submit" class="btn btn-default">@UI.ChangePassword</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
@using WebsitePanel.WebDavPortal.Constants
|
||||
@using WebsitePanel.WebDavPortal.Resources
|
||||
@using WebsitePanel.WebDavPortal.UI.Routes
|
||||
@model WebsitePanel.WebDavPortal.Models.Account.UserProfile
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
|
||||
var passwordExpriationText = string.Format(UI.PasswordExpirationFormat, Model.PasswordExpirationDateTime.ToString(Formats.DateFormatWithTime), Html.RouteLink(UI.Here.ToLowerInvariant(), AccountRouteNames.PasswordChange));
|
||||
}
|
||||
|
||||
<div class="container row">
|
||||
@using (Html.BeginRouteForm(AccountRouteNames.UserProfile, FormMethod.Post, new { @class = "form-horizontal user-profile bs-val-styles", id = "user-profile-form" }))
|
||||
{
|
||||
@Html.HiddenFor(x => x.PasswordExpirationDateTime)
|
||||
@Html.HiddenFor(x => x.PrimaryEmailAddress)
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="heading-general-information">
|
||||
<h4 class="panel-title">
|
||||
<a data-toggle="collapse" href="#general-information" aria-expanded="true" aria-controls="general-information">
|
||||
@UI.GeneralInformation
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="general-information" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading-general-information">
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x=>x.PrimaryEmailAddress)" class="col-sm-2 control-label">@UI.LoginName</label>
|
||||
<div class="col-sm-10 login-name">
|
||||
<label>@Html.Raw(Model.PrimaryEmailAddress)</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x=>x.DisplayName)" class="col-sm-2 control-label">@UI.DisplayName</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.DisplayName, new { @class = "form-control", placeholder = UI.DisplayName })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x=>x.FirstName)" class="col-sm-2 control-label">@UI.FirstName</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.FirstName, new { @class = "form-control", placeholder = UI.FirstName })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Initials)" class="col-sm-2 control-label">@UI.Initials</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.Initials, new { @class = "form-control", placeholder = UI.Initials })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.LastName)" class="col-sm-2 control-label">@UI.LastName</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.LastName, new { @class = "form-control", placeholder = UI.LastName })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Notes)" class="col-sm-2 control-label">@UI.Notes</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextAreaFor(x => x.Notes, new { @class = "form-control", placeholder = UI.Notes })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">@UI.Password</label>
|
||||
<div class="col-sm-10 password-information">
|
||||
<label>@Html.Raw(passwordExpriationText)</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x=>x.ExternalEmail)" class="col-sm-2 control-label">@UI.ExternalEmail</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.ExternalEmail, new { @class = "form-control", placeholder = UI.ExternalEmail })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="heading-contact-information">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" data-toggle="collapse" href="#contact-information" aria-expanded="false" aria-controls="contact-information">
|
||||
@UI.ContactInformation
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="contact-information" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-contact-information">
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.BusinessPhone)" class="col-sm-2 control-label">@UI.BusinessPhone</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.BusinessPhone, new { @class = "form-control", placeholder = UI.BusinessPhone })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Fax)" class="col-sm-2 control-label">@UI.Fax</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.Fax, new { @class = "form-control", placeholder = UI.Fax })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.HomePhone)" class="col-sm-2 control-label">@UI.HomePhone</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.HomePhone, new { @class = "form-control", placeholder = UI.HomePhone })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.MobilePhone)" class="col-sm-2 control-label">@UI.MobilePhone</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.MobilePhone, new { @class = "form-control", placeholder = UI.MobilePhone })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Pager)" class="col-sm-2 control-label">@UI.Pager</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.Pager, new { @class = "form-control", placeholder = UI.Pager })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.WebPage)" class="col-sm-2 control-label">@UI.WebPage</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.WebPage, new { @class = "form-control", placeholder = UI.WebPage })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab" id="heading-address-information">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" data-toggle="collapse" href="#address-information" aria-expanded="false" aria-controls="address-information">
|
||||
@UI.AddressInforamtion
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="address-information" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading-address-information">
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Address)" class="col-sm-2 control-label">@UI.Address</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.Address, new { @class = "form-control", placeholder = UI.Address })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.City)" class="col-sm-2 control-label">@UI.City</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.City, new { @class = "form-control", placeholder = UI.City })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.State)" class="col-sm-2 control-label">@UI.State</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.State, new { @class = "form-control", placeholder = UI.State })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Zip)" class="col-sm-2 control-label">@UI.Zip</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.TextBoxFor(x => x.Zip, new { @class = "form-control", placeholder = UI.Zip })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.Country)" class="col-sm-2 control-label">@UI.Country</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.EditorFor(x => x.Country)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
<button type="submit" class="btn btn-default pull-right">@UI.SaveChanges</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@section scripts{
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
var validator = $("#user-profile-form").data('validator');
|
||||
validator.settings.ignore = "";
|
||||
});
|
||||
</script>
|
||||
}
|
|
@ -0,0 +1,264 @@
|
|||
@using WebsitePanel.WebDavPortal.Resources
|
||||
@model string
|
||||
|
||||
@{
|
||||
List<SelectListItem> listItems = new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem {Text = "Afghanistan", Value = "AF"},
|
||||
new SelectListItem {Text = "Aland Islands", Value = "AX"},
|
||||
new SelectListItem {Text = "Algeria", Value = "DZ"},
|
||||
new SelectListItem {Text = "American Samoa", Value = "AS"},
|
||||
new SelectListItem {Text = "Andorra", Value = "AD"},
|
||||
new SelectListItem {Text = "Angola", Value = "AO"},
|
||||
new SelectListItem {Text = "Anguilla", Value = "AI"},
|
||||
new SelectListItem {Text = "Antarctica", Value = "AQ"},
|
||||
new SelectListItem {Text = "Antigua and Barbuda", Value = "AG"},
|
||||
new SelectListItem {Text = "Argentina", Value = "AR"},
|
||||
new SelectListItem {Text = "Armenia", Value = "AM"},
|
||||
new SelectListItem {Text = "Aruba", Value = "AW"},
|
||||
new SelectListItem {Text = "Australia", Value = "AU"},
|
||||
};
|
||||
|
||||
var selectedItem = listItems.FirstOrDefault(x => x.Value == Model);
|
||||
|
||||
if (selectedItem != null)
|
||||
{
|
||||
selectedItem.Selected = true;
|
||||
}
|
||||
|
||||
@*<asp:listitem value="AT">Austria</asp:listitem>
|
||||
<asp:listitem value="AZ">Azerbaijan</asp:listitem>
|
||||
<asp:listitem value="BS">Bahamas</asp:listitem>
|
||||
<asp:listitem value="BH">Bahrain</asp:listitem>
|
||||
<asp:listitem value="BD">Bangladesh</asp:listitem>
|
||||
<asp:listitem value="BB">Barbados</asp:listitem>
|
||||
<asp:listitem value="BY">Belarus</asp:listitem>
|
||||
<asp:listitem value="BE">Belgium</asp:listitem>
|
||||
<asp:listitem value="BZ">Belize</asp:listitem>
|
||||
<asp:listitem value="BJ">Benin</asp:listitem>
|
||||
<asp:listitem value="BM">Bermuda</asp:listitem>
|
||||
<asp:listitem value="BT">Bhutan</asp:listitem>
|
||||
<asp:listitem value="BO">Bolivia, Plurinational State of</asp:listitem>
|
||||
<asp:listitem value="BA">Bosnia and Herzegovina</asp:listitem>
|
||||
<asp:listitem value="BW">Botswana</asp:listitem>
|
||||
<asp:listitem value="BV">Bouvet Island</asp:listitem>
|
||||
<asp:listitem value="BR">Brazil</asp:listitem>
|
||||
<asp:listitem value="IO">British Indian Ocean Territory</asp:listitem>
|
||||
<asp:listitem value="BN">Brunei Darussalam</asp:listitem>
|
||||
<asp:listitem value="BG">Bulgaria</asp:listitem>
|
||||
<asp:listitem value="BF">Burkina Faso</asp:listitem>
|
||||
<asp:listitem value="BI">Burundi</asp:listitem>
|
||||
<asp:listitem value="KH">Cambodia</asp:listitem>
|
||||
<asp:listitem value="CM">Cameroon</asp:listitem>
|
||||
<asp:listitem value="CA">Canada</asp:listitem>
|
||||
<asp:listitem value="CV">Cape Verde</asp:listitem>
|
||||
<asp:listitem value="KY">Cayman Islands</asp:listitem>
|
||||
<asp:listitem value="CF">Central African Republic</asp:listitem>
|
||||
<asp:listitem value="TD">Chad</asp:listitem>
|
||||
<asp:listitem value="CL">Chile</asp:listitem>
|
||||
<asp:listitem value="CN">China</asp:listitem>
|
||||
<asp:listitem value="CX">Christmas Island</asp:listitem>
|
||||
<asp:listitem value="CC">Cocos (Keeling) Islands</asp:listitem>
|
||||
<asp:listitem value="CO">Colombia</asp:listitem>
|
||||
<asp:listitem value="KM">Comoros</asp:listitem>
|
||||
<asp:listitem value="CG">Congo</asp:listitem>
|
||||
<asp:listitem value="CD">Congo, the Democratic Republic of the</asp:listitem>
|
||||
<asp:listitem value="CK">Cook Islands</asp:listitem>
|
||||
<asp:listitem value="CR">Costa Rica</asp:listitem>
|
||||
<asp:listitem value="CI">Cote D'Ivoire</asp:listitem>
|
||||
<asp:listitem value="HR">Croatia</asp:listitem>
|
||||
<asp:listitem value="CU">Cuba</asp:listitem>
|
||||
<asp:listitem value="CY">Cyprus</asp:listitem>
|
||||
<asp:listitem value="CZ">Czech Republic</asp:listitem>
|
||||
<asp:listitem value="DK">Denmark</asp:listitem>
|
||||
<asp:listitem value="DJ">Djibouti</asp:listitem>
|
||||
<asp:listitem value="DM">Dominica</asp:listitem>
|
||||
<asp:listitem value="DO">Dominican Republic</asp:listitem>
|
||||
<asp:listitem value="EC">Ecuador</asp:listitem>
|
||||
<asp:listitem value="EG">Egypt</asp:listitem>
|
||||
<asp:listitem value="SV">El Salvador</asp:listitem>
|
||||
<asp:listitem value="GQ">Equatorial Guinea</asp:listitem>
|
||||
<asp:listitem value="ER">Eritrea</asp:listitem>
|
||||
<asp:listitem value="EE">Estonia</asp:listitem>
|
||||
<asp:listitem value="ET">Ethiopia</asp:listitem>
|
||||
<asp:listitem value="FK">Falkland Islands (Malvinas)</asp:listitem>
|
||||
<asp:listitem value="FO">Faroe Islands</asp:listitem>
|
||||
<asp:listitem value="FJ">Fiji</asp:listitem>
|
||||
<asp:listitem value="FI">Finland</asp:listitem>
|
||||
<asp:listitem value="FR">France</asp:listitem>
|
||||
<asp:listitem value="GF">French Guiana</asp:listitem>
|
||||
<asp:listitem value="PF">French Polynesia</asp:listitem>
|
||||
<asp:listitem value="TF">French Southern Territories</asp:listitem>
|
||||
<asp:listitem value="GA">Gabon</asp:listitem>
|
||||
<asp:listitem value="GM">Gambia</asp:listitem>
|
||||
<asp:listitem value="GE">Georgia</asp:listitem>
|
||||
<asp:listitem value="DE">Germany</asp:listitem>
|
||||
<asp:listitem value="GH">Ghana</asp:listitem>
|
||||
<asp:listitem value="GI">Gibraltar</asp:listitem>
|
||||
<asp:listitem value="GR">Greece</asp:listitem>
|
||||
<asp:listitem value="GL">Greenland</asp:listitem>
|
||||
<asp:listitem value="GD">Grenada</asp:listitem>
|
||||
<asp:listitem value="GP">Guadeloupe</asp:listitem>
|
||||
<asp:listitem value="GU">Guam</asp:listitem>
|
||||
<asp:listitem value="GT">Guatemala</asp:listitem>
|
||||
<asp:listitem value="GG">Guernsey</asp:listitem>
|
||||
<asp:listitem value="GN">Guinea</asp:listitem>
|
||||
<asp:listitem value="GW">Guinea-Bissau</asp:listitem>
|
||||
<asp:listitem value="GY">Guyana</asp:listitem>
|
||||
<asp:listitem value="HT">Haiti</asp:listitem>
|
||||
<asp:listitem value="HM">Heard Island and Mcdonald Islands</asp:listitem>
|
||||
<asp:listitem value="VA">Holy See (Vatican City State)</asp:listitem>
|
||||
<asp:listitem value="HN">Honduras</asp:listitem>
|
||||
<asp:listitem value="HK">Hong Kong</asp:listitem>
|
||||
<asp:listitem value="HU">Hungary</asp:listitem>
|
||||
<asp:listitem value="IS">Iceland</asp:listitem>
|
||||
<asp:listitem value="IN">India</asp:listitem>
|
||||
<asp:listitem value="ID">Indonesia</asp:listitem>
|
||||
<asp:listitem value="IR">Iran, Islamic Republic of</asp:listitem>
|
||||
<asp:listitem value="IQ">Iraq</asp:listitem>
|
||||
<asp:listitem value="IE">Ireland</asp:listitem>
|
||||
<asp:listitem value="IM">Isle of Man</asp:listitem>
|
||||
<asp:listitem value="IL">Israel</asp:listitem>
|
||||
<asp:listitem value="IT">Italy</asp:listitem>
|
||||
<asp:listitem value="JM">Jamaica</asp:listitem>
|
||||
<asp:listitem value="JP">Japan</asp:listitem>
|
||||
<asp:listitem value="JE">Jersey</asp:listitem>
|
||||
<asp:listitem value="JO">Jordan</asp:listitem>
|
||||
<asp:listitem value="KZ">Kazakhstan</asp:listitem>
|
||||
<asp:listitem value="KE">Kenya</asp:listitem>
|
||||
<asp:listitem value="KI">Kiribati</asp:listitem>
|
||||
<asp:listitem value="KP">Korea, Democratic People's Republic of</asp:listitem>
|
||||
<asp:listitem value="KR">Korea, Republic of</asp:listitem>
|
||||
<asp:listitem value="KW">Kuwait</asp:listitem>
|
||||
<asp:listitem value="KG">Kyrgyzstan</asp:listitem>
|
||||
<asp:listitem value="LA">Lao People's Democratic Republic</asp:listitem>
|
||||
<asp:listitem value="LV">Latvia</asp:listitem>
|
||||
<asp:listitem value="LB">Lebanon</asp:listitem>
|
||||
<asp:listitem value="LS">Lesotho</asp:listitem>
|
||||
<asp:listitem value="LR">Liberia</asp:listitem>
|
||||
<asp:listitem value="LY">Libyan Arab Jamahiriya</asp:listitem>
|
||||
<asp:listitem value="LI">Liechtenstein</asp:listitem>
|
||||
<asp:listitem value="LT">Lithuania</asp:listitem>
|
||||
<asp:listitem value="LU">Luxembourg</asp:listitem>
|
||||
<asp:listitem value="MO">Macao</asp:listitem>
|
||||
<asp:listitem value="MK">Macedonia, the Former Yugoslav Republic of</asp:listitem>
|
||||
<asp:listitem value="MG">Madagascar</asp:listitem>
|
||||
<asp:listitem value="MW">Malawi</asp:listitem>
|
||||
<asp:listitem value="MY">Malaysia</asp:listitem>
|
||||
<asp:listitem value="MV">Maldives</asp:listitem>
|
||||
<asp:listitem value="ML">Mali</asp:listitem>
|
||||
<asp:listitem value="MT">Malta</asp:listitem>
|
||||
<asp:listitem value="MH">Marshall Islands</asp:listitem>
|
||||
<asp:listitem value="MQ">Martinique</asp:listitem>
|
||||
<asp:listitem value="MR">Mauritania</asp:listitem>
|
||||
<asp:listitem value="MU">Mauritius</asp:listitem>
|
||||
<asp:listitem value="YT">Mayotte</asp:listitem>
|
||||
<asp:listitem value="MX">Mexico</asp:listitem>
|
||||
<asp:listitem value="FM">Micronesia, Federated States of</asp:listitem>
|
||||
<asp:listitem value="MD">Moldova, Republic of</asp:listitem>
|
||||
<asp:listitem value="MC">Monaco</asp:listitem>
|
||||
<asp:listitem value="MN">Mongolia</asp:listitem>
|
||||
<asp:listitem value="ME">Montenegro</asp:listitem>
|
||||
<asp:listitem value="MS">Montserrat</asp:listitem>
|
||||
<asp:listitem value="MA">Morocco</asp:listitem>
|
||||
<asp:listitem value="MZ">Mozambique</asp:listitem>
|
||||
<asp:listitem value="MM">Myanmar</asp:listitem>
|
||||
<asp:listitem value="NA">Namibia</asp:listitem>
|
||||
<asp:listitem value="NR">Nauru</asp:listitem>
|
||||
<asp:listitem value="NP">Nepal</asp:listitem>
|
||||
<asp:listitem value="NL">Netherlands</asp:listitem>
|
||||
<asp:listitem value="AN">Netherlands Antilles</asp:listitem>
|
||||
<asp:listitem value="NC">New Caledonia</asp:listitem>
|
||||
<asp:listitem value="NZ">New Zealand</asp:listitem>
|
||||
<asp:listitem value="NI">Nicaragua</asp:listitem>
|
||||
<asp:listitem value="NE">Niger</asp:listitem>
|
||||
<asp:listitem value="NG">Nigeria</asp:listitem>
|
||||
<asp:listitem value="NU">Niue</asp:listitem>
|
||||
<asp:listitem value="NF">Norfolk Island</asp:listitem>
|
||||
<asp:listitem value="MP">Northern Mariana Islands</asp:listitem>
|
||||
<asp:listitem value="NO">Norway</asp:listitem>
|
||||
<asp:listitem value="OM">Oman</asp:listitem>
|
||||
<asp:listitem value="PK">Pakistan</asp:listitem>
|
||||
<asp:listitem value="PW">Palau</asp:listitem>
|
||||
<asp:listitem value="PS">Palestinian Territory, Occupied</asp:listitem>
|
||||
<asp:listitem value="PA">Panama</asp:listitem>
|
||||
<asp:listitem value="PG">Papua New Guinea</asp:listitem>
|
||||
<asp:listitem value="PY">Paraguay</asp:listitem>
|
||||
<asp:listitem value="PE">Peru</asp:listitem>
|
||||
<asp:listitem value="PH">Philippines</asp:listitem>
|
||||
<asp:listitem value="PN">Pitcairn</asp:listitem>
|
||||
<asp:listitem value="PL">Poland</asp:listitem>
|
||||
<asp:listitem value="PT">Portugal</asp:listitem>
|
||||
<asp:listitem value="PR">Puerto Rico</asp:listitem>
|
||||
<asp:listitem value="QA">Qatar</asp:listitem>
|
||||
<asp:listitem value="RE">Reunion</asp:listitem>
|
||||
<asp:listitem value="RO">Romania</asp:listitem>
|
||||
<asp:listitem value="RU">Russian Federation</asp:listitem>
|
||||
<asp:listitem value="RW">Rwanda</asp:listitem>
|
||||
<asp:listitem value="BL">Saint Barthelemy</asp:listitem>
|
||||
<asp:listitem value="SH">Saint Helena</asp:listitem>
|
||||
<asp:listitem value="KN">Saint Kitts and Nevis</asp:listitem>
|
||||
<asp:listitem value="LC">Saint Lucia</asp:listitem>
|
||||
<asp:listitem value="MF">Saint Martin</asp:listitem>
|
||||
<asp:listitem value="PM">Saint Pierre and Miquelon</asp:listitem>
|
||||
<asp:listitem value="VC">Saint Vincent and the Grenadines</asp:listitem>
|
||||
<asp:listitem value="WS">Samoa</asp:listitem>
|
||||
<asp:listitem value="SM">San Marino</asp:listitem>
|
||||
<asp:listitem value="ST">Sao Tome and Principe</asp:listitem>
|
||||
<asp:listitem value="SA">Saudi Arabia</asp:listitem>
|
||||
<asp:listitem value="SN">Senegal</asp:listitem>
|
||||
<asp:listitem value="RS">Serbia</asp:listitem>
|
||||
<asp:listitem value="SC">Seychelles</asp:listitem>
|
||||
<asp:listitem value="SL">Sierra Leone</asp:listitem>
|
||||
<asp:listitem value="SG">Singapore</asp:listitem>
|
||||
<asp:listitem value="SK">Slovakia</asp:listitem>
|
||||
<asp:listitem value="SI">Slovenia</asp:listitem>
|
||||
<asp:listitem value="SB">Solomon Islands</asp:listitem>
|
||||
<asp:listitem value="SO">Somalia</asp:listitem>
|
||||
<asp:listitem value="ZA">South Africa</asp:listitem>
|
||||
<asp:listitem value="GS">South Georgia and the South Sandwich Islands</asp:listitem>
|
||||
<asp:listitem value="ES">Spain</asp:listitem>
|
||||
<asp:listitem value="LK">Sri Lanka</asp:listitem>
|
||||
<asp:listitem value="SD">Sudan</asp:listitem>
|
||||
<asp:listitem value="SR">Suriname</asp:listitem>
|
||||
<asp:listitem value="SJ">Svalbard and Jan Mayen</asp:listitem>
|
||||
<asp:listitem value="SZ">Swaziland</asp:listitem>
|
||||
<asp:listitem value="SE">Sweden</asp:listitem>
|
||||
<asp:listitem value="CH">Switzerland</asp:listitem>
|
||||
<asp:listitem value="SY">Syrian Arab Republic</asp:listitem>
|
||||
<asp:listitem value="TW">Taiwan, Province of China</asp:listitem>
|
||||
<asp:listitem value="TJ">Tajikistan</asp:listitem>
|
||||
<asp:listitem value="TZ">Tanzania, United Republic of</asp:listitem>
|
||||
<asp:listitem value="TH">Thailand</asp:listitem>
|
||||
<asp:listitem value="TL">Timor-Leste</asp:listitem>
|
||||
<asp:listitem value="TG">Togo</asp:listitem>
|
||||
<asp:listitem value="TK">Tokelau</asp:listitem>
|
||||
<asp:listitem value="TO">Tonga</asp:listitem>
|
||||
<asp:listitem value="TT">Trinidad and Tobago</asp:listitem>
|
||||
<asp:listitem value="TN">Tunisia</asp:listitem>
|
||||
<asp:listitem value="TR">Turkey</asp:listitem>
|
||||
<asp:listitem value="TM">Turkmenistan</asp:listitem>
|
||||
<asp:listitem value="TC">Turks and Caicos Islands</asp:listitem>
|
||||
<asp:listitem value="TV">Tuvalu</asp:listitem>
|
||||
<asp:listitem value="UG">Uganda</asp:listitem>
|
||||
<asp:listitem value="UA">Ukraine</asp:listitem>
|
||||
<asp:listitem value="AE">United Arab Emirates</asp:listitem>
|
||||
<asp:listitem value="GB">United Kingdom</asp:listitem>
|
||||
<asp:listitem value="US">United States</asp:listitem>
|
||||
<asp:listitem value="UM">United States Minor Outlying Islands</asp:listitem>
|
||||
<asp:listitem value="UY">Uruguay</asp:listitem>
|
||||
<asp:listitem value="UZ">Uzbekistan</asp:listitem>
|
||||
<asp:listitem value="VU">Vanuatu</asp:listitem>
|
||||
<asp:listitem value="VE">Venezuela, Bolivarian Republic of</asp:listitem>
|
||||
<asp:listitem value="VN">Viet Nam</asp:listitem>
|
||||
<asp:listitem value="VG">Virgin Islands, British</asp:listitem>
|
||||
<asp:listitem value="VI">Virgin Islands, U.S.</asp:listitem>
|
||||
<asp:listitem value="WF">Wallis and Futuna</asp:listitem>
|
||||
<asp:listitem value="EH">Western Sahara</asp:listitem>
|
||||
<asp:listitem value="YE">Yemen</asp:listitem>
|
||||
<asp:listitem value="ZM">Zambia</asp:listitem>
|
||||
<asp:listitem value="ZW">Zimbabwe</asp:listitem>*@
|
||||
|
||||
}
|
||||
|
||||
@Html.DropDownListFor(model => model, listItems, @UI.Select, new { @class = "form-control" })
|
|
@ -0,0 +1,22 @@
|
|||
@using WebsitePanel.WebDavPortal.Resources
|
||||
@model WebsitePanel.WebDavPortal.Models.Common.EditorTemplates.PasswordEditor
|
||||
|
||||
@{
|
||||
var settings = Model.Settings;
|
||||
var maxlength = settings != null ? settings.MaximumLength : 20;
|
||||
}
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.NewPassword)" class="col-sm-2 control-label">@UI.NewPassword</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.PasswordFor(x => x.NewPassword, new { @class = "form-control", placeholder = UI.NewPassword, maxlength })
|
||||
@Html.Raw(HttpUtility.HtmlDecode(Html.ValidationMessageFor(m => m.NewPassword).ToHtmlString()))
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="@Html.IdFor(x => x.NewPasswordConfirmation)" class="col-sm-2 control-label">@UI.NewPasswordConfirmation</label>
|
||||
<div class="col-sm-10">
|
||||
@Html.PasswordFor(x => x.NewPasswordConfirmation, new { @class = "form-control", placeholder = UI.NewPasswordConfirmation, maxlength })
|
||||
@Html.ValidationMessageFor(x => x.NewPasswordConfirmation)
|
||||
</div>
|
||||
</div>
|
|
@ -4,6 +4,7 @@
|
|||
@using WebsitePanel.WebDav.Core.Config
|
||||
@using WebsitePanel.WebDavPortal.DependencyInjection
|
||||
@using WebsitePanel.WebDavPortal.Models
|
||||
@using WebsitePanel.WebDavPortal.Resources
|
||||
@using WebsitePanel.WebDavPortal.UI.Routes;
|
||||
@model WebsitePanel.WebDavPortal.Models.Common.BaseModel
|
||||
|
||||
|
@ -26,7 +27,7 @@
|
|||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a href="@Url.RouteUrl(FileSystemRouteNames.ShowContentPath, new { pathPart = string.Empty })">
|
||||
<a href="/">
|
||||
<img class="header-logo processing-dialog" src="@Url.Content("~/Content/Images/logo.png")" />
|
||||
</a>
|
||||
</div>
|
||||
|
@ -34,8 +35,8 @@
|
|||
@{
|
||||
if (WspContext.User != null)
|
||||
{
|
||||
<a id="logout" class="nav navbar-text navbar-right" href="@Url.RouteUrl(AccountRouteNames.Logout)" title="Log out"><i class="glyphicon glyphicon-log-out"></i></a>
|
||||
<h4 id="username" class="nav navbar-text navbar-right">@WspContext.User.Login</h4>
|
||||
<a id="logout" class="nav navbar-text navbar-right" href="@Url.RouteUrl(AccountRouteNames.Logout)" title="@UI.LogOut"><i class="glyphicon glyphicon-log-out"></i></a>
|
||||
<a id="user-profile" class="nav navbar-text navbar-right" href="@Url.RouteUrl(AccountRouteNames.UserProfile)" title="@UI.Profile">@WspContext.User.Login</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
|
|
@ -165,13 +165,15 @@
|
|||
<Compile Include="Configurations\ActionSelectors\OwaActionSelector.cs" />
|
||||
<Compile Include="Configurations\Constraints\OrganizationRouteConstraint.cs" />
|
||||
<Compile Include="Configurations\ControllerConfigurations\OwaControllerConfiguration.cs" />
|
||||
<Compile Include="Constants\Formtas.cs" />
|
||||
<Compile Include="Constants\Formats.cs" />
|
||||
<Compile Include="Controllers\AccountController.cs" />
|
||||
<Compile Include="Controllers\ErrorController.cs" />
|
||||
<Compile Include="Controllers\FileSystemController.cs" />
|
||||
<Compile Include="Controllers\Api\OwaController.cs" />
|
||||
<Compile Include="CustomAttributes\FormValueRequiredAttribute.cs" />
|
||||
<Compile Include="CustomAttributes\LdapAuthorizationAttribute.cs" />
|
||||
<Compile Include="CustomAttributes\PhoneNumberAttribute.cs" />
|
||||
<Compile Include="CustomAttributes\OrganizationPasswordPolicyAttribute.cs" />
|
||||
<Compile Include="DependencyInjection\NinjectDependecyResolver.cs" />
|
||||
<Compile Include="DependencyInjection\PortalDependencies.cs" />
|
||||
<Compile Include="DependencyInjection\Providers\HttpSessionStateProvider.cs" />
|
||||
|
@ -188,9 +190,12 @@
|
|||
<Compile Include="HttpHandlers\AccessTokenHandler.cs" />
|
||||
<Compile Include="HttpHandlers\FileTransferRequestHandler.cs" />
|
||||
<Compile Include="Mapping\AutoMapperPortalConfiguration.cs" />
|
||||
<Compile Include="Mapping\Profiles\Account\UserProfileProfile.cs" />
|
||||
<Compile Include="Mapping\Profiles\Webdav\ResourceTableItemProfile.cs" />
|
||||
<Compile Include="ModelBinders\DataTables\JqueryDataTableModelBinder.cs" />
|
||||
<Compile Include="Models\AccountModel.cs" />
|
||||
<Compile Include="Models\Account\PasswordChangeModel.cs" />
|
||||
<Compile Include="Models\Account\UserProfile.cs" />
|
||||
<Compile Include="Models\Common\BaseModel.cs" />
|
||||
<Compile Include="Models\Common\DataTable\JqueryDataTableBaseEntity.cs" />
|
||||
<Compile Include="Models\Common\DataTable\JqueryDataTablesResponse.cs" />
|
||||
|
@ -198,6 +203,7 @@
|
|||
<Compile Include="Models\Common\DataTable\JqueryDataTableOrder.cs" />
|
||||
<Compile Include="Models\Common\DataTable\JqueryDataTableRequest.cs" />
|
||||
<Compile Include="Models\Common\DataTable\JqueryDataTableSearch.cs" />
|
||||
<Compile Include="Models\Common\EditorTemplates\PasswordEditor.cs" />
|
||||
<Compile Include="Models\Common\Enums\MessageType.cs" />
|
||||
<Compile Include="Models\Common\Message.cs" />
|
||||
<Compile Include="Models\DirectoryIdentity.cs" />
|
||||
|
@ -208,6 +214,11 @@
|
|||
<Compile Include="Models\ModelForWebDav.cs" />
|
||||
<Compile Include="Models\OfficeOnlineModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources\Messages.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Messages.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resources\UI.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
|
@ -380,6 +391,7 @@
|
|||
<Content Include="Scripts\appScripts\messages.js" />
|
||||
<Content Include="Scripts\appScripts\recalculateResourseHeight.js" />
|
||||
<Content Include="Scripts\appScripts\uploadingData2.js" />
|
||||
<Content Include="Scripts\appScripts\validation\passwordeditor.unobtrusive.js" />
|
||||
<Content Include="Scripts\appScripts\wsp-webdav.js" />
|
||||
<Content Include="Scripts\appScripts\wsp.js" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
|
@ -465,6 +477,10 @@
|
|||
<Content Include="Views\FileSystem\_ShowContentBigIcons.cshtml" />
|
||||
<Content Include="Views\FileSystem\UploadFiles.cshtml" />
|
||||
<Content Include="Views\FileSystem\ShowContentSearchResultTable.cshtml" />
|
||||
<Content Include="Views\Account\UserProfile.cshtml" />
|
||||
<Content Include="Views\Shared\EditorTemplates\CountrySelector.cshtml" />
|
||||
<Content Include="Views\Account\PasswordChange.cshtml" />
|
||||
<Content Include="Views\Shared\EditorTemplates\PasswordEditor.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Models\FileSystem\Enums\" />
|
||||
|
@ -481,6 +497,10 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\Messages.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Messages.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\UI.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>UI.Designer.cs</LastGenOutput>
|
||||
|
|
|
@ -5716,4 +5716,7 @@
|
|||
<data name="ERROR.ORANIZATIONSETTINGS_NOT_UPDATED" xml:space="preserve">
|
||||
<value>Error during updating settings.</value>
|
||||
</data>
|
||||
<data name="Error.UNABLETOLOADPASSWORDSETTINGS" xml:space="preserve">
|
||||
<value>Unable to load password settings</value>
|
||||
</data>
|
||||
</root>
|
|
@ -129,24 +129,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
}
|
||||
else
|
||||
{
|
||||
password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy");
|
||||
|
||||
PasswordPolicyResult passwordPolicy = ES.Services.Organizations.GetPasswordPolicy(PanelRequest.ItemID);
|
||||
|
||||
if (passwordPolicy.IsSuccess)
|
||||
{
|
||||
password.MinimumLength = passwordPolicy.Value.MinLength;
|
||||
if (passwordPolicy.Value.IsComplexityEnable)
|
||||
{
|
||||
password.MinimumNumbers = 1;
|
||||
password.MinimumSymbols = 1;
|
||||
password.MinimumUppercase = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
messageBox.ShowMessage(passwordPolicy, "CREATE_ORGANIZATION_USER", "HostedOrganization");
|
||||
}
|
||||
messageBox.ShowErrorMessage("UNABLETOLOADPASSWORDSETTINGS");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -82,24 +82,7 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
}
|
||||
else
|
||||
{
|
||||
password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy");
|
||||
|
||||
PasswordPolicyResult passwordPolicy = ES.Services.Organizations.GetPasswordPolicy(PanelRequest.ItemID);
|
||||
|
||||
if (passwordPolicy.IsSuccess)
|
||||
{
|
||||
password.MinimumLength = passwordPolicy.Value.MinLength;
|
||||
if (passwordPolicy.Value.IsComplexityEnable)
|
||||
{
|
||||
password.MinimumNumbers = 1;
|
||||
password.MinimumSymbols = 1;
|
||||
password.MinimumUppercase = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
messageBox.ShowMessage(passwordPolicy, "CREATE_ORGANIZATION_USER", "HostedOrganization");
|
||||
}
|
||||
messageBox.ShowErrorMessage("UNABLETOLOADPASSWORDSETTINGS");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -272,24 +272,7 @@ namespace WebsitePanel.Portal.HostedSolution
|
|||
}
|
||||
else
|
||||
{
|
||||
password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy");
|
||||
|
||||
PasswordPolicyResult passwordPolicy = ES.Services.Organizations.GetPasswordPolicy(PanelRequest.ItemID);
|
||||
|
||||
if (passwordPolicy.IsSuccess)
|
||||
{
|
||||
password.MinimumLength = passwordPolicy.Value.MinLength;
|
||||
if (passwordPolicy.Value.IsComplexityEnable)
|
||||
{
|
||||
password.MinimumNumbers = 1;
|
||||
password.MinimumSymbols = 1;
|
||||
password.MinimumUppercase = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
messageBox.ShowMessage(passwordPolicy, "CREATE_ORGANIZATION_USER", "HostedOrganization");
|
||||
}
|
||||
messageBox.ShowErrorMessage("UNABLETOLOADPASSWORDSETTINGS");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue