public virtual IActionResult UserUser(UserUserSettingsModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) { return(AccessDeniedView()); } var userSettings = _settingService.LoadSetting <UserSettings>(); var lastUsernameValidationRule = userSettings.UsernameValidationRule; var lastUsernameValidationEnabledValue = userSettings.UsernameValidationEnabled; var lastUsernameValidationUseRegexValue = userSettings.UsernameValidationUseRegex; var addressSettings = _settingService.LoadSetting <AddressSettings>(); var dateTimeSettings = _settingService.LoadSetting <DateTimeSettings>(); var externalAuthenticationSettings = _settingService.LoadSetting <ExternalAuthenticationSettings>(); userSettings = model.UserSettings.ToSettings(userSettings); if (userSettings.UsernameValidationEnabled && userSettings.UsernameValidationUseRegex) { try { //validate regex rule var unused = Regex.IsMatch("test_user_name", userSettings.UsernameValidationRule); } catch (ArgumentException) { //restoring previous settings userSettings.UsernameValidationRule = lastUsernameValidationRule; userSettings.UsernameValidationEnabled = lastUsernameValidationEnabledValue; userSettings.UsernameValidationUseRegex = lastUsernameValidationUseRegexValue; ErrorNotification(_localizationService.GetResource("Admin.Configuration.Settings.UserSettings.RegexValidationRule.Error")); } } _settingService.SaveSetting(userSettings); addressSettings = model.AddressSettings.ToSettings(addressSettings); _settingService.SaveSetting(addressSettings); dateTimeSettings.AllowUsersToSetTimeZone = model.DateTimeSettings.AllowUsersToSetTimeZone; _settingService.SaveSetting(dateTimeSettings); //externalAuthenticationSettings.AllowUsersitemoveAssociations = model.ExternalAuthenticationSettings.AllowUsersitemoveAssociations; _settingService.SaveSetting(externalAuthenticationSettings); //activity log _userActivityService.InsertActivity("EditSettings", _localizationService.GetResource("ActivityLog.EditSettings")); SuccessNotification(_localizationService.GetResource("Admin.Configuration.Updated")); //selected tab SaveSelectedTabName(); return(RedirectToAction("UserUser")); }
/// <summary> /// Prepare user user settings model /// </summary> /// <returns>User user settings model</returns> public virtual UserUserSettingsModel PrepareUserUserSettingsModel() { var model = new UserUserSettingsModel(); //prepare user settings model model.UserSettings = PrepareUserSettingsModel(); //prepare address settings model model.AddressSettings = PrepareAddressSettingsModel(); //prepare date time settings model model.DateTimeSettings = PrepareDateTimeSettingsModel(); //prepare external authentication settings model model.ExternalAuthenticationSettings = PrepareExternalAuthenticationSettingsModel(); //prepare nested search models _userAttributeModelFactory.PrepareUserAttributeSearchModel(model.UserAttributeSearchModel); _addressAttributeModelFactory.PrepareAddressAttributeSearchModel(model.AddressAttributeSearchModel); return(model); }