Example #1
0
        public ActionResult Create(NewsItemCreatePageView pageView)
        {
            var userdata = new UserDataContainer();
            if (!ModelState.IsValid)
                return View(pageView);

            var newNewsItem = pageView.NewNewsItem;
            newNewsItem.PrapareToPosting(userdata.CurrentUser.Id);
            newsManager.Create(Mapper.Map<NewsItem, NewsItemViewModel>(newNewsItem));

            return RedirectToRoute("Home");
        }
Example #2
0
        public ActionResult Index()
        {
            if (Request.Cookies.AllKeys.Contains(CookiesNames.LandingVisited))
            {
                var userInfo = new UserDataContainer();

                var news = newsManager.GetListMatchingUserGroups(userInfo, "PostingDate");
                var result = new NewsListPageView(Mapper.Map<NewsItemViewModel, NewsItem>(news));

                return View(result);
            }

            return RedirectToRoute("Landing");
        }
Example #3
0
        public ActionResult Edit(string id)
        {
            var userdata = new UserDataContainer();
            var newsItem = newsManager.GetById(id);

            if (newsItem == null || !userdata.IsAuthorized)
                return RedirectToRoute("NotFound");

            if (userdata.CurrentUser.Id == newsItem.AuthorId
                || userdata.CurrentUser.Role == Roles.Admin
                || userdata.CurrentUser.Role == Roles.Moderator
                || (userdata.CurrentUser.Role == Roles.Praepostor && userdata.CurrentUser.GroupId == newsItem.GroupId))
            {
                var mapped = Mapper.Map<NewsItemEditViewModel, NewsItem>(newsItem);
                return View(new NewsItemEditPageView() { NewsItem = mapped });
            }
            else
            {
                return RedirectToRoute("NotFound");
            }
        }
 public NewsItemCreatePageView()
     : base()
 {
     NewNewsItem = new NewsItemViewModel();
     var userData = new UserDataContainer();
     groups = new List<Group>();
     if (userData.IsAuthorized)
     {
         if (userData.CurrentUser.Role == Roles.Admin || userData.CurrentUser.Role == Roles.Moderator)
         {
             foreach (var item in Resolver.GetInstance<IGroupsManager>().GetList())
             {
                 groups.Add(item);
             }
         }
         else if (userData.CurrentUser.Role == Roles.Praepostor)
         {
             var group = Resolver.GetInstance<IGroupsManager>().GetById(userData.CurrentUser.GroupId.ToString());
             groups.Add(group);
         }
     }
 }
Example #5
0
        public ActionResult Delete(string id)
        {
            var userdata = new UserDataContainer();
            var newsItem = newsManager.GetById(id);

            if (newsItem == null || !userdata.IsAuthorized)
                return RedirectToRoute("NotFound");

            if (userdata.CurrentUser.Id == newsItem.AuthorId
                || userdata.CurrentUser.Role == Roles.Admin
                || userdata.CurrentUser.Role == Roles.Moderator
                || (userdata.CurrentUser.Role == Roles.Praepostor && userdata.CurrentUser.GroupId == newsItem.GroupId))
            {
                newsManager.Delete(newsItem);

                return Json(true);
            }
            else
            {
                return RedirectToRoute("NotFound");
            }
        }
Example #6
0
        public ActionResult GetList(string groupName)
        {
            var userdata = new UserDataContainer();
            IEnumerable<NewsItemViewModel> news;
            if (groupName != "All")
                news = Mapper.Map<NewsItemViewModel, NewsItem>(newsManager.GetListForGroup(groupName));
            else
                news = Mapper.Map<NewsItemViewModel, NewsItem>(newsManager.GetListMatchingUserGroups(userdata));

            var result = new NewsListPageView(news);
            return PartialView("NewsList", result);
        }