/** * Rimuove dal sistema la serie selezionata, di cui viene passato l'id. * * @param SeriesRepository $seriesRepository * @param $seriesId * @return \Illuminate\Http\RedirectResponse */ public function getDelete(SeriesRepository $seriesRepository, $seriesId) { try { /* @var $series Series */ $series = $seriesRepository->findByid($seriesId); } catch (NotFoundException $e) { return redirect('admin/series')->with('error_message', 'La serie scelta è stata già rimossa.'); } try { $seriesRepository->delete($series); } catch (NotDeletedException $e) { return redirect('admin/series')->with('error_message', 'Impossibile cancellare la serie scelta. Riprovare.'); } return redirect('admin/series')->with('success_message', 'La serie è stata cancellata correttamente.'); }
/** * Partendo dallo slug di una serie, redireziona il lettore al primo articolo, pubblicato, della serie. * * @param SeriesRepository $seriesRepository * @param $slug * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View */ public function getSeriesFirstArticle(SeriesRepository $seriesRepository, $slug) { try { $series = $seriesRepository->findBySlug($slug, true); $firstArticle = $series->articles->first(); return redirect('articoli/' . $series->slug . '/' . $firstArticle->slug); } catch (NotFoundException $e) { throw new NotFoundHttpException(); } }
public function testCanDelete() { $series = $this->saveTestSeries(); $this->repository->delete($series); $this->dontSeeInDatabase('series', ['title' => 'Title', 'slug' => 'title']); }