Beispiel #1
0
        public ActionResult Index(SpamIndexOptions options, IEnumerable <int> itemIds)
        {
            if (!Services.Authorizer.Authorize(Permissions.ManageAntiSpam, T("Not authorized to manage spam")))
            {
                return(new HttpUnauthorizedResult());
            }

            switch (options.BulkAction)
            {
            case SpamBulkAction.None:
                break;

            case SpamBulkAction.Spam:
                foreach (var checkedId in itemIds)
                {
                    var spam = Services.ContentManager.Get(checkedId, VersionOptions.Latest);
                    if (spam != null)
                    {
                        spam.As <SpamFilterPart>().Status = SpamStatus.Spam;
                        _spamService.ReportSpam(spam.As <SpamFilterPart>());
                        Services.ContentManager.Publish(spam);
                    }
                }
                break;

            case SpamBulkAction.Ham:
                foreach (var checkedId in itemIds)
                {
                    var ham = Services.ContentManager.Get(checkedId, VersionOptions.Latest);
                    if (ham != null)
                    {
                        ham.As <SpamFilterPart>().Status = SpamStatus.Ham;
                        _spamService.ReportHam(ham.As <SpamFilterPart>());
                        Services.ContentManager.Publish(ham);
                    }
                }
                break;

            case SpamBulkAction.Delete:
                foreach (var checkedId in itemIds)
                {
                    Services.ContentManager.Remove(Services.ContentManager.Get(checkedId, VersionOptions.Latest));
                }
                break;
            }


            return(Index(options, new PagerParameters()));
        }