public ActionResult ModeratePost(ModerateActionViewModel viewModel) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { var post = _postService.Get(viewModel.PostId); var permissions = RoleService.GetPermissions(post.Topic.Category, UsersRole); if (!permissions[SiteConstants.Instance.PermissionEditPosts].IsTicked) { return Content(LocalizationService.GetResourceString("Errors.NoPermission")); } if (viewModel.IsApproved) { post.Pending = false; } else { _postService.Delete(post, unitOfWork, false); } unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); return Content(ex.Message); } } return Content("allgood"); }
public ActionResult ModerateTopic(ModerateActionViewModel viewModel) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { var topic = _topicService.Get(viewModel.TopicId); var permissions = RoleService.GetPermissions(topic.Category, UsersRole); // Is this user allowed to moderate - We use EditPosts for now until we change the permissions system if (!permissions[SiteConstants.Instance.PermissionEditPosts].IsTicked) { return Content(LocalizationService.GetResourceString("Errors.NoPermission")); } if (viewModel.IsApproved) { topic.Pending = false; } else { _topicService.Delete(topic, unitOfWork); } unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); return Content(ex.Message); } } return Content("allgood"); }