public async Task <IActionResult> Captcha( Guid?siteGuid, int slp = 1) { ISiteSettings selectedSite; // only server admin site can edit other sites settings if ((siteGuid.HasValue) && (siteGuid.Value != Guid.Empty) && (siteGuid.Value != siteManager.CurrentSite.SiteGuid) && (siteManager.CurrentSite.IsServerAdminSite)) { selectedSite = await siteManager.Fetch(siteGuid.Value); ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, "{0} - Captcha Settings", selectedSite.SiteName); } else { selectedSite = siteManager.CurrentSite; ViewData["Title"] = "Captcha Settings"; } CaptchaSettingsViewModel model = new CaptchaSettingsViewModel(); model.SiteGuid = selectedSite.SiteGuid; model.SiteId = selectedSite.SiteId; model.RecaptchaPrivateKey = selectedSite.RecaptchaPrivateKey; model.RecaptchaPublicKey = selectedSite.RecaptchaPublicKey; model.RequireCaptchaOnLogin = selectedSite.CaptchaOnLogin; model.RequireCaptchaOnRegistration = selectedSite.CaptchaOnRegistration; return(View("CaptchaSettings", model)); }
public async Task <ActionResult> Captcha(CaptchaSettingsViewModel model) { ISiteSettings selectedSite = null; if (model.SiteGuid == siteManager.CurrentSite.SiteGuid) { selectedSite = siteManager.CurrentSite; ViewData["Title"] = "Captcha Settings"; } else if (siteManager.CurrentSite.IsServerAdminSite) { selectedSite = await siteManager.Fetch(model.SiteGuid); ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, "{0} - Captcha Settings", selectedSite.SiteName); } if (selectedSite == null) { this.AlertDanger("oops something went wrong.", true); return(RedirectToAction("Index")); } if (!ModelState.IsValid) { return(View(model)); } if (model.SiteGuid == Guid.Empty) { this.AlertDanger("oops something went wrong, site was not found.", true); return(RedirectToAction("Index")); } //model.SiteId = Site.SiteSettings.SiteId; //model.SiteGuid = Site.SiteSettings.SiteGuid; selectedSite.RecaptchaPublicKey = model.RecaptchaPublicKey; selectedSite.RecaptchaPrivateKey = model.RecaptchaPrivateKey; selectedSite.CaptchaOnRegistration = model.RequireCaptchaOnRegistration; selectedSite.CaptchaOnLogin = model.RequireCaptchaOnLogin; bool result = await siteManager.Save(selectedSite); if (result) { this.AlertSuccess(string.Format("Captcha Settings for <b>{0}</b> wwas successfully updated.", selectedSite.SiteName), true); } if ((siteManager.CurrentSite.IsServerAdminSite) && (siteManager.CurrentSite.SiteGuid != selectedSite.SiteGuid) ) { return(RedirectToAction("Captcha", new { siteGuid = model.SiteGuid })); } return(RedirectToAction("Captcha")); }