public ActionResult Report(ReportPostViewModel viewModel) { if (SettingsService.GetSettings().EnableSpamReporting) { using (UnitOfWorkManager.NewUnitOfWork()) { var post = _postService.Get(viewModel.PostId); var report = new Report { Reason = viewModel.Reason, ReportedPost = post, Reporter = LoggedOnUser }; _reportService.PostReport(report); TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = LocalizationService.GetResourceString("Report.ReportSent"), MessageType = GenericMessages.success }; return(View(new ReportPostViewModel { PostId = post.Id, PostCreatorUsername = post.User.UserName })); } } return(ErrorToHomePage(LocalizationService.GetResourceString("Errors.GenericMessage"))); }
public virtual ActionResult Report(ReportPostViewModel viewModel) { if (SettingsService.GetSettings().EnableSpamReporting) { var loggedOnReadOnlyUser = User.GetMembershipUser(MembershipService); var post = _postService.Get(viewModel.PostId); var report = new Report { Reason = viewModel.Reason, ReportedPost = post, Reporter = loggedOnReadOnlyUser }; _reportService.PostReport(report); try { Context.SaveChanges(); } catch (Exception ex) { Context.RollBack(); LoggingService.Error(ex); } TempData[Constants.MessageViewBagName] = new GenericMessageViewModel { Message = LocalizationService.GetResourceString("Report.ReportSent"), MessageType = GenericMessages.success }; return(this.Redirect(post.Topic.NiceUrl)); } return(ErrorToHomePage(LocalizationService.GetResourceString("Errors.GenericMessage"))); }
public ActionResult ReportPost(int id, int?page) { var viewModel = new ReportPostViewModel(); viewModel.Post = db.Posts.ToList().Find(x => x.ID == id); viewModel.PostID = viewModel.Post.ID; return(View(viewModel)); }
public ActionResult ReportPost(ReportPostViewModel viewModel) { viewModel.Post = db.Posts.ToList().Find(x => x.ID == viewModel.PostID); var _moderators = viewModel.Post.Topic.Forum.Moderators; foreach (User _moderator in _moderators) { var _reportThread = db.PrivateThreads.ToList().Find(x => x.Title == "Zgłoszenia"); if (_reportThread == null) { _reportThread = new PrivateThread(); _reportThread.Recipient = _moderator; _reportThread.Title = "Zgłoszenia"; _reportThread.Seen = false; db.PrivateThreads.Add(_reportThread); } var _reportMessage = new PrivateMessage(); _reportMessage.PrivateThread = _reportThread; _reportMessage.Author = db.Users.ToList().Find(x => x.Id == User.Identity.GetUserId()); _reportMessage.Content += "Zgłoszono post: " + "<a href=\"/Topic/Details/" + viewModel.Post.Topic.ID.ToString() + "?postId=" + viewModel.Post.ID + "\">#" + viewModel.Post.ID + "</a><br />"; _reportMessage.Content += "Uzasadnienie: <br />" + viewModel.Reason; _reportMessage.Date = DateTime.Now; _reportThread.Seen = false; db.PrivateMessages.Add(_reportMessage); } db.SaveChanges(); return(View("PostReported", viewModel)); }
public ActionResult Report(ReportPostViewModel viewModel) { if (Settings.EnableSpamReporting) { using (UnitOfWorkManager.NewUnitOfWork()) { var post = ServiceFactory.PostService.Get(viewModel.PostId); // Banned link? if (ServiceFactory.BannedLinkService.ContainsBannedLink(viewModel.Reason)) { ShowMessage(new GenericMessageViewModel { Message = Lang("Errors.BannedLink"), MessageType = GenericMessages.Danger }); return(Redirect(post.Topic.Url)); } var report = new Report { Reason = viewModel.Reason, ReportedPost = post, Reporter = CurrentMember }; ServiceFactory.ReportService.PostReport(report); var message = new GenericMessageViewModel { Message = Lang("Report.ReportSent"), MessageType = GenericMessages.Success }; ShowMessage(message); return(Redirect(post.Topic.Url)); } } return(ErrorToHomePage(Lang("Errors.GenericMessage"))); }
public ActionResult Report(ReportPostViewModel viewModel) { if (SettingsService.GetSettings().EnableSpamReporting) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { var post = _postService.Get(viewModel.PostId); var report = new Report { Reason = viewModel.Reason, ReportedPost = post, Reporter = LoggedOnReadOnlyUser }; _reportService.PostReport(report); try { unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); } TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = LocalizationService.GetResourceString("Report.ReportSent"), MessageType = GenericMessages.success }; return View(new ReportPostViewModel { PostId = post.Id, PostCreatorUsername = post.User.UserName }); } } return ErrorToHomePage(LocalizationService.GetResourceString("Errors.GenericMessage")); }