public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            ISiteSettingsRepository _SiteSettingsRepo = DependencyResolver.Current.GetService <ISiteSettingsRepository>();
            ISiteRepository         _SiteRepo         = DependencyResolver.Current.GetService <ISiteRepository>();
            var PasswordSettings = _SiteSettingsRepo.GetPasswordPolicy(_SiteRepo.CurrentSiteName());
            List <ModelClientValidationRule> rules = new List <ModelClientValidationRule>();

            if (!PasswordSettings.UsePasswordPolicy)
            {
                return(rules);
            }
            string ErrorMessage = GetErrorMessage(metadata.GetDisplayName());

            if (PasswordSettings.MinLength > 0)
            {
                rules.Add(new ModelClientValidationMinLengthRule(ErrorMessage, PasswordSettings.MinLength));
            }
            // can only have one regex
            if (!string.IsNullOrWhiteSpace(PasswordSettings.Regex))
            {
                rules.Add(new ModelClientValidationRegexRule(ErrorMessage, PasswordSettings.Regex));
            }
            else if (PasswordSettings.NumNonAlphanumericChars > 0)
            {
                rules.Add(new ModelClientValidationRegexRule(ErrorMessage, @"\W{" + PasswordSettings.NumNonAlphanumericChars + ",999}"));
            }
            return(rules);
        }
 public RepositoryManager(
     IGroupsRepository groupsRepository,
     IPersonsRepository personsRepository,
     IUsersRepository usersRepository,
     IFilesRepository filesRepository,
     ISiteSettingsRepository siteSettingsRepository,
     IRightsRepository rightsRepository,
     IPostsRepository postsRepository,
     IPostSeoSettingsRepository postSeoSettingsRepository,
     IPostSettingRepository postSettingRepository,
     IPostTypeRepository postTypeRepository,
     IGroupTypeRepository groupTypeRepository
     )
 {
     GroupsRepository          = groupsRepository;
     PersonsRepository         = personsRepository;
     UsersRepository           = usersRepository;
     FilesRepository           = filesRepository;
     SiteSettingsRepository    = siteSettingsRepository;
     RightsRepository          = rightsRepository;
     PostsRepository           = postsRepository;
     PostSeoSettingsRepository = postSeoSettingsRepository;
     PostSettingRepository     = postSettingRepository;
     PostTypeRepository        = postTypeRepository;
     GroupTypeRepository       = groupTypeRepository;
 }
예제 #3
0
 public SiteSettingsService(
     ISiteSettingsRepository repository,
     IMapper mapper)
 {
     _repository = repository;
     _mapper     = mapper;
 }
예제 #4
0
 public SiteSettingsService(
     ISiteSettingsRepository repository,
     IMapper mapper,
     ISiteProfileRepository profileRepository)
 {
     _repository        = repository;
     _mapper            = mapper;
     _profileRepository = profileRepository;
 }
        /// <summary>
        /// Get localized error message, can be overwritten by Password Policy message in settings
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        private string GetErrorMessage(string name)
        {
            ISiteSettingsRepository _SiteSettingsRepo = DependencyResolver.Current.GetService <ISiteSettingsRepository>();
            ISiteRepository         _SiteRepo         = DependencyResolver.Current.GetService <ISiteRepository>();
            var    PasswordSettings = _SiteSettingsRepo.GetPasswordPolicy(_SiteRepo.CurrentSiteName());
            string NewErrorMessage  = LocalizeString(!string.IsNullOrWhiteSpace(PasswordSettings.ViolationMessage) ? PasswordSettings.ViolationMessage : ErrorMessage);

            return(string.Format(CultureInfo.CurrentCulture, (NewErrorMessage ?? ""), name));
        }
예제 #6
0
 public KenticoUserService(ISiteRepository SiteRepo,
                           ISiteSettingsRepository SiteSettingsRepo,
                           IUserRepository UserRepo,
                           IMapper Mapper)
 {
     _SiteRepo        = SiteRepo;
     _SiteSettingRepo = SiteSettingsRepo;
     _UserRepo        = UserRepo;
     _Mapper          = Mapper;
 }
        public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            ISiteSettingsRepository _SiteSettingsRepo = DependencyResolver.Current.GetService <ISiteSettingsRepository>();
            ISiteRepository         _SiteRepo         = DependencyResolver.Current.GetService <ISiteRepository>();
            var PasswordSettings = _SiteSettingsRepo.GetPasswordPolicy(_SiteRepo.CurrentSiteName());
            List <ModelClientValidationRule> rules = new List <ModelClientValidationRule>();

            if (!PasswordSettings.UsePasswordPolicy)
            {
                return(rules);
            }
            string ErrorMessage = GetErrorMessage(metadata.GetDisplayName());

            if (PasswordSettings.MinLength > 0)
            {
                rules.Add(new ModelClientValidationMinLengthRule(ErrorMessage, PasswordSettings.MinLength));
            }
            // can only have one regex
            if (!string.IsNullOrWhiteSpace(PasswordSettings.Regex))
            {
                rules.Add(new ModelClientValidationRegexRule(ErrorMessage, PasswordSettings.Regex));
            }
            else if (PasswordSettings.NumNonAlphanumericChars > 0)
            {
                string Rule = "(?=.*";
                // Add a \W_ (at least 1) + Anything else rule for each non alphanumeric
                for (int nc = 0; nc < PasswordSettings.NumNonAlphanumericChars; nc++)
                {
                    Rule += "[\\W_]+.*";
                }
                Rule += ").";
                if (PasswordSettings.MinLength > 0)
                {
                    Rule += "{" + PasswordSettings.MinLength + ",}";
                }
                else
                {
                    Rule += "*";
                }
                rules.Add(new ModelClientValidationRegexRule(ErrorMessage, Rule));
            }
            return(rules);
        }
예제 #8
0
 public SiteSettingsService(ISiteSettingsRepository siteSettingsRepository, HttpContextBase context)
 {
     _siteSettingsRepository = siteSettingsRepository;
     _context = context;
 }
예제 #9
0
 public SiteSettingsController(ISiteSettingsRepository siteSettingsRepository)
 {
     _siteSettingsRepository = siteSettingsRepository;
 }
예제 #10
0
 public HeaderViewComponent(ISiteSettingsRepository siteSettingsRepository)
 {
     _siteSettingsRepository = siteSettingsRepository;
 }
 public PageViewContextFactory(IContentLoader contentLoader, UrlResolver urlResolver, ISiteSettingsRepository siteSettingsRepository)
 {
     _contentLoader = contentLoader;
     _urlResolver = urlResolver;
     _siteSettingsRepository = siteSettingsRepository;
 }
예제 #12
0
 public SiteSettingsService(ISiteSettingsRepository repository)
 {
     _repository = repository;
 }
예제 #13
0
 public SettingsService(ISiteSettingsRepository settingsRepository, IUnitOfWork unitOfWork)
 {
     this.settingsRepository = settingsRepository;
     this.unitOfWork = unitOfWork;
 }
예제 #14
0
 public SiteSettingsService(ISiteSettingsRepository siteSettingsRepository,
                            IUnitOfWork unitOfWork)
     : base(siteSettingsRepository, unitOfWork)
 {
 }