public ActionResult CustomerUser(CustomerUserSettingsModel model) { 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")); SuccessNotification(_localizationService.GetResource("Admin.Configuration.Updated")); return RedirectToAction("CustomerUser"); }
public ActionResult CustomerUser() { 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); //merge settings var model = new CustomerUserSettingsModel(); model.CustomerSettings = customerSettings.ToModel(); model.AddressSettings = addressSettings.ToModel(); 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) }); } model.ExternalAuthenticationSettings.AutoRegisterEnabled = externalAuthenticationSettings.AutoRegisterEnabled; return View(model); }