public ActionResult SubverseSettings(string subversetoshow) { var subverse = DataCache.Subverse.Retrieve(subversetoshow); if (subverse == null) { ViewBag.SelectedSubverse = "404"; return View("~/Views/Errors/Subversenotfound.cshtml"); } // check that the user requesting to edit subverse settings is subverse owner! var subAdmin = _db.SubverseAdmins.FirstOrDefault( x => x.SubverseName == subversetoshow && x.Username == User.Identity.Name && x.Power <= 2); if (subAdmin == null) return RedirectToAction("Index", "Home"); // map existing data to view model for editing and pass it to frontend // NOTE: we should look into a mapper which automatically maps these properties to corresponding fields to avoid tedious manual mapping var viewModel = new SubverseSettingsViewModel { Name = subverse.name, Type = subverse.type, Submission_text = subverse.submission_text, Description = subverse.description, Sidebar = subverse.sidebar, Stylesheet = subverse.stylesheet, Allow_default = subverse.allow_default, Label_submit_new_link = subverse.label_submit_new_link, Label_sumit_new_selfpost = subverse.label_sumit_new_selfpost, Rated_adult = subverse.rated_adult, Private_subverse = subverse.private_subverse, Enable_thumbnails = subverse.enable_thumbnails, Exclude_sitewide_bans = subverse.exclude_sitewide_bans, Authorized_submitters_only = subverse.authorized_submitters_only, Anonymized_mode = subverse.anonymized_mode, Minimumdownvoteccp = subverse.minimumdownvoteccp }; ViewBag.SelectedSubverse = string.Empty; ViewBag.SubverseName = subverse.name; return View("~/Views/Subverses/Admin/SubverseSettings.cshtml", viewModel); }
public ActionResult SubverseSettings(string subversetoshow) { var subverse = DataCache.Subverse.Retrieve(subversetoshow); if (subverse == null) { ViewBag.SelectedSubverse = "404"; return View("~/Views/Errors/Subversenotfound.cshtml"); } // check that the user requesting to edit subverse settings is subverse owner! var subAdmin = _db.SubverseModerators.FirstOrDefault( x => x.Subverse == subversetoshow && x.UserName == User.Identity.Name && x.Power <= 2); if (subAdmin == null) return RedirectToAction("Index", "Home"); // map existing data to view model for editing and pass it to frontend // NOTE: we should look into a mapper which automatically maps these properties to corresponding fields to avoid tedious manual mapping var viewModel = new SubverseSettingsViewModel { Name = subverse.Name, Type = subverse.Type, SubmissionText = subverse.SubmissionText, Description = subverse.Description, SideBar = subverse.SideBar, Stylesheet = subverse.Stylesheet, IsDefaultAllowed = subverse.IsDefaultAllowed, SubmitLinkLabel = subverse.SubmitLinkLabel, SubmitPostLabel = subverse.SubmitPostLabel, IsAdult = subverse.IsAdult, IsPrivate = subverse.IsPrivate, IsThumbnailEnabled = subverse.IsThumbnailEnabled, ExcludeSitewideBans = subverse.ExcludeSitewideBans, IsAuthorizedOnly = subverse.IsAuthorizedOnly, IsAnonymized = subverse.IsAnonymized, MinCCPForDownvote = subverse.MinCCPForDownvote }; ViewBag.SelectedSubverse = string.Empty; ViewBag.SubverseName = subverse.Name; return View("~/Views/Subverses/Admin/SubverseSettings.cshtml", viewModel); }