/** * Mostra la raccolta degli articoli. Se viene specificata una categoria, vengono mostrati solo gli articoli * della categoria specificata. * * @param ArticleRepository $articleRepository * @param CategoryRepository $categoryRepository * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @throws NotFoundException */ public function getArticles(ArticleRepository $articleRepository, CategoryRepository $categoryRepository, Request $request) { $categories = $categoryRepository->getAll(); if ($request->has('categoria')) { $category = $categoryRepository->findBySlug($request->get('categoria')); $articles = $articleRepository->getByCategory($category, $request->get('page', 1), true, true); } else { $articles = $articleRepository->getAll($request->get('page', 1), true, true); } return view('front.articles', compact('articles', 'categories')); }
public function testCanDelete() { $category = $this->saveTestCategory(); $this->repository->delete($category); $this->dontSeeInDatabase('categories', ['name' => 'Test Category', 'slug' => 'test-category']); }
/** * Cancella la categoria il cui id è $categoryId. * * @param CategoryRepository $categoryRepository * @param $categoryId * @return \Illuminate\Http\RedirectResponse */ public function getDelete(CategoryRepository $categoryRepository, $categoryId) { try { /* @var $category Category */ $category = $categoryRepository->findById($categoryId); } catch (NotFoundException $e) { return redirect('admin/categories')->with('error_message', 'La categoria cercata non esiste o non è più disponibile.'); } try { $categoryRepository->delete($category); } catch (NotDeletedException $e) { return redirect('admin/categories')->with('error_message', 'Impossibile elminare la categoria scelta. Riprovare.'); } return redirect('admin/categories')->with('success_message', 'Categoria eliminata correttamente.'); }