public ActionResult CustomerUser() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); StoreDependingSettings.CreateViewDataObject(storeScope); var customerSettings = _settingService.LoadSetting<CustomerSettings>(storeScope); var addressSettings = _settingService.LoadSetting<AddressSettings>(storeScope); var dateTimeSettings = _settingService.LoadSetting<DateTimeSettings>(storeScope); var externalAuthenticationSettings = _settingService.LoadSetting<ExternalAuthenticationSettings>(storeScope); //merge settings var model = new CustomerUserSettingsModel(); model.CustomerSettings = customerSettings.ToModel(); StoreDependingSettings.GetOverrideKeys(customerSettings, model.CustomerSettings, storeScope, _settingService, false); model.AddressSettings = addressSettings.ToModel(); StoreDependingSettings.GetOverrideKeys(addressSettings, model.AddressSettings, storeScope, _settingService, false); model.DateTimeSettings.AllowCustomersToSetTimeZone = dateTimeSettings.AllowCustomersToSetTimeZone; model.DateTimeSettings.DefaultStoreTimeZoneId = _dateTimeHelper.DefaultStoreTimeZone.Id; foreach (TimeZoneInfo timeZone in _dateTimeHelper.GetSystemTimeZones()) { model.DateTimeSettings.AvailableTimeZones.Add(new SelectListItem() { Text = timeZone.DisplayName, Value = timeZone.Id, Selected = timeZone.Id.Equals(_dateTimeHelper.DefaultStoreTimeZone.Id, StringComparison.InvariantCultureIgnoreCase) }); } StoreDependingSettings.GetOverrideKeys(dateTimeSettings, model.DateTimeSettings, storeScope, _settingService, false); model.ExternalAuthenticationSettings.AutoRegisterEnabled = externalAuthenticationSettings.AutoRegisterEnabled; StoreDependingSettings.GetOverrideKeys(externalAuthenticationSettings, model.ExternalAuthenticationSettings, storeScope, _settingService, false); return View(model); }
public ActionResult CustomerUser(CustomerUserSettingsModel model, FormCollection form) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var customerSettings = _settingService.LoadSetting<CustomerSettings>(storeScope); customerSettings = model.CustomerSettings.ToEntity(customerSettings); StoreDependingSettings.UpdateSettings(customerSettings, form, storeScope, _settingService); _settingService.SaveSetting(customerSettings, x => x.DefaultPasswordFormat, 0, false); var addressSettings = _settingService.LoadSetting<AddressSettings>(storeScope); addressSettings = model.AddressSettings.ToEntity(addressSettings); StoreDependingSettings.UpdateSettings(addressSettings, form, storeScope, _settingService); var dateTimeSettings = _settingService.LoadSetting<DateTimeSettings>(storeScope); dateTimeSettings.DefaultStoreTimeZoneId = model.DateTimeSettings.DefaultStoreTimeZoneId; dateTimeSettings.AllowCustomersToSetTimeZone = model.DateTimeSettings.AllowCustomersToSetTimeZone; StoreDependingSettings.UpdateSettings(dateTimeSettings, form, storeScope, _settingService); var externalAuthenticationSettings = _settingService.LoadSetting<ExternalAuthenticationSettings>(storeScope); externalAuthenticationSettings.AutoRegisterEnabled = model.ExternalAuthenticationSettings.AutoRegisterEnabled; StoreDependingSettings.UpdateSettings(externalAuthenticationSettings, form, storeScope, _settingService); //now clear settings cache _settingService.ClearCache(); //activity log _customerActivityService.InsertActivity("EditSettings", _localizationService.GetResource("ActivityLog.EditSettings")); NotifySuccess(_localizationService.GetResource("Admin.Configuration.Updated")); return RedirectToAction("CustomerUser"); }
public ActionResult CustomerUser(CustomerUserSettingsModel model, string selectedTab) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageSettings)) return AccessDeniedView(); var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var customerSettings = _settingService.LoadSetting<CustomerSettings>(storeScope); var addressSettings = _settingService.LoadSetting<AddressSettings>(storeScope); var dateTimeSettings = _settingService.LoadSetting<DateTimeSettings>(storeScope); var externalAuthenticationSettings = _settingService.LoadSetting<ExternalAuthenticationSettings>(storeScope); customerSettings = model.CustomerSettings.ToEntity(customerSettings); _settingService.SaveSetting(customerSettings); addressSettings = model.AddressSettings.ToEntity(addressSettings); _settingService.SaveSetting(addressSettings); dateTimeSettings.DefaultStoreTimeZoneId = model.DateTimeSettings.DefaultStoreTimeZoneId; dateTimeSettings.AllowCustomersToSetTimeZone = model.DateTimeSettings.AllowCustomersToSetTimeZone; _settingService.SaveSetting(dateTimeSettings); externalAuthenticationSettings.AutoRegisterEnabled = model.ExternalAuthenticationSettings.AutoRegisterEnabled; _settingService.SaveSetting(externalAuthenticationSettings); //activity log _customerActivityService.InsertActivity("EditSettings", _localizationService.GetResource("ActivityLog.EditSettings")); NotifySuccess(_localizationService.GetResource("Admin.Configuration.Updated")); return RedirectToAction("CustomerUser", new { selectedTab = selectedTab }); }