public ActionResult Index() { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage settings"))) { return(new HttpUnauthorizedResult()); } var part = Services.WorkContext.CurrentSite.As <MemcachedSettingsPart>(); var viewModel = new MemcachedSettingsViewModel { Servers = part.Servers }; return(View(viewModel)); }
public ActionResult IndexPost() { if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage settings"))) { return(new HttpUnauthorizedResult()); } var viewModel = new MemcachedSettingsViewModel(); var part = Services.WorkContext.CurrentSite.As <MemcachedSettingsPart>(); bool valid = false; if (TryUpdateModel(viewModel)) { if (!String.IsNullOrEmpty(viewModel.Servers)) { using (var urlReader = new StringReader(viewModel.Servers)) { string relativeUrl; // ignore empty lines and comments (#) while (null != (relativeUrl = urlReader.ReadLine())) { if (String.IsNullOrWhiteSpace(relativeUrl) || relativeUrl.Trim().StartsWith("#")) { continue; } valid = true; } } } // invalidate the cache _signals.Trigger(MemcachedSettingsPart.CacheKey); part.Servers = viewModel.Servers; } if (!valid) { AddModelError("Servers", T("At least one server must be provided.")); Services.TransactionManager.Cancel(); } return(Index()); }