public virtual IActionResult NewsItem(int newsItemId) { if (!_newsSettings.Enabled) { return(RedirectToRoute("HomePage")); } var newsItem = _newsService.GetNewsById(newsItemId); if (newsItem == null) { return(RedirectToRoute("HomePage")); } var hasAdminAccess = _permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel) && _permissionService.Authorize(StandardPermissionProvider.ManageNews); //access to News preview if ((!newsItem.Published || !_newsService.IsNewsAvailable(newsItem)) && !hasAdminAccess) { return(RedirectToRoute("HomePage")); } var model = new NewsItemModel(); model = _newsModelFactory.PrepareNewsItemModel(model, newsItem, true); //display "edit" (manage) link if (hasAdminAccess) { DisplayEditLink(Url.Action("Edit", "News", new { id = newsItem.Id, area = AreaNames.Admin })); } return(View(model)); }
public ActionResult NewsItem(int newsItemId) { if (!_newsSettings.Enabled) { return(RedirectToRoute("HomePage")); } var newsItem = _newsService.GetNewsById(newsItemId); if (newsItem == null || !newsItem.Published || (newsItem.StartDateUtc.HasValue && newsItem.StartDateUtc.Value >= DateTime.UtcNow) || (newsItem.EndDateUtc.HasValue && newsItem.EndDateUtc.Value <= DateTime.UtcNow) || //Store mapping !_storeMappingService.Authorize(newsItem)) { return(RedirectToRoute("HomePage")); } var model = new NewsItemModel(); model = _newsModelFactory.PrepareNewsItemModel(model, newsItem, true); //display "edit" (manage) link if (_permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel) && _permissionService.Authorize(StandardPermissionProvider.ManageNews)) { DisplayEditLink(Url.Action("Edit", "News", new { id = newsItem.Id, area = "Admin" })); } return(View(model)); }
public virtual IActionResult NewsItemCreate() { //prepare model NewsItemModel model = _newsModelFactory.PrepareNewsItemModel(new NewsItemModel(), null); return(View(model)); }
public IActionResult Index(int id, string title) { var haber = _newsService.GetNewsById(id); AdjustCount(id = haber.Id); var model = _newsModelFactory.PrepareNewsItemModel(new NewsItemModel(), haber, true); return(View(model)); }
public virtual IActionResult NewsItemCreate() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } //prepare model var model = _newsModelFactory.PrepareNewsItemModel(new NewsItemModel(), null); return(View(model)); }
public CategoriModel PrepareCategoryModel(CategoriModel model, List <Category> categorys) { if (categorys == null) { throw new ArgumentNullException(nameof(categorys)); } model.SubCategories = categorys.Select(x => new CategoriModel.SubCategoryModel { Name = x.Name, Id = x.Id, SeName = _urlRecordService.GetSeName(x), Description = x.Description, VideoGalleryModel = _videoFactory.PrepareVideoGalleryModel(x.VideoGalleryId), GalleryModel = _galleryFactory.PrePareGalleryModel(x.PhotoGalleryId), SliderModel = _sliderFactory.PrePareSliderModel(x.SliderId) }).ToList(); var categoryIds = new List <int>(); foreach (var category in categorys) { categoryIds.Add(category.Id); if (_catalogSettings.ShowProductsFromSubcategories) { //include subcategories categoryIds.AddRange(_categoryService.GetChildCategoryIds(category.Id, _storeContext.CurrentStore.Id)); } var newses = _newsService.GetAllNews(categoryId: category.Id, showHidden: true, approved: true); foreach (var newsItem in newses) { model.NewsModels.Add(_newsModelFactory.PrepareNewsItemModel(new NewsItemModel(), newsItem, false)); } var newsBig = newses.Where(x => x.BigNews); foreach (var newsItem in newsBig) { model.LargeNewsModels.Add(_newsModelFactory.PrepareNewsItemModel(new NewsItemModel(), newsItem, false)); } } return(model); }
public virtual IActionResult NewsItem2(int newsItemId) { if (!_newsSettings.Enabled) { return(RedirectToRoute("Homepage")); } var newsItem = _newsService.GetNewsById(newsItemId); if (newsItem == null) { return(InvokeHttp404()); } var notAvailable = //published? !newsItem.Published || //availability dates !_newsService.IsNewsAvailable(newsItem) || //Store mapping !_storeMappingService.Authorize(newsItem); //Check whether the current user has a "Manage news" permission (usually a store owner) //We should allows him (her) to use "Preview" functionality var hasAdminAccess = _permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel) && _permissionService.Authorize(StandardPermissionProvider.ManageNews); if (notAvailable && !hasAdminAccess) { return(InvokeHttp404()); } var model = new NewsItemModel(); model = _newsModelFactory.PrepareNewsItemModel(model, newsItem, true); //display "edit" (manage) link if (hasAdminAccess) { DisplayEditLink(Url.Action("NewsItemEdit", "News", new { id = newsItem.Id, area = AreaNames.Admin })); } return(View(model)); }