Exemplo n.º 1
0
        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")));
        }
Exemplo n.º 2
0
        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")));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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")));
        }
Exemplo n.º 6
0
        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"));
        }