/** * @param ServerRequestInterface $request * @param ResponseInterface $response * * @return HtmlResponse|RedirectResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { if ($request->getMethod() === 'POST') { $this->albumService->addAlbum($request->getParsedBody()); return new RedirectResponse($this->router->generateUri('album.index')); } return new HtmlResponse($this->template->render('album::add', ['form' => $this->form])); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @return HtmlResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { /** * @var Session $session */ $session = $request->getAttribute('session'); $flashMessage = $session->getSegment('App\\Album')->getFlash('flash'); $albums = $this->albumService->listAlbums(); return new HtmlResponse($this->template->render('album::index', compact('albums', 'flashMessage'))); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * * @return HtmlResponse|RedirectResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { try { $album = $this->albumService->getAlbum($request->getAttribute('id')); } catch (\Exception $e) { return new HtmlResponse($this->template->render('error::404'), 404); } if ($request->getMethod() === 'POST') { $this->albumService->addAlbum($request->getParsedBody()); return new RedirectResponse($this->router->generateUri('album.index')); } return new HtmlResponse($this->template->render('album::edit', ['album' => $album, 'form' => $this->form])); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * * @return HtmlResponse|RedirectResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { try { $album = (array) $this->albumService->getAlbum($request->getAttribute('id')); } catch (\Exception $e) { return new HtmlResponse($this->template->render('error::404'), 404); } if ($request->getMethod() === 'POST') { $body = new Parameters($request->getParsedBody()); $del = $body->get('del', 'No'); if (strtolower($del) === 'yes') { $this->albumService->deleteAlbum($album); } return new RedirectResponse($this->router->generateUri('album.index')); } return new HtmlResponse($this->template->render('album::delete', ['album' => $album])); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @return ResponseInterface */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { try { /** * @var Session $session */ $session = $request->getAttribute('session'); $album = new Album(); $this->form->bind($album); $this->form->get('submit')->setValue('Add'); if ($request->getMethod() === 'POST') { $this->albumService->addAlbum($request->getParsedBody()); $session->getSegment('App\\Album')->setFlash('flash', ['type' => 'success', 'message' => sprintf('Successfully added album %s (%s)', $album->getTitle(), $album->getArtist())]); return new RedirectResponse($this->router->generateUri('album.index')); } } catch (\Exception $e) { // perhaps log an error and display a message to the user } return new HtmlResponse($this->template->render('album::add', ['form' => $this->form])); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @return ResponseInterface */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { try { $album = $this->albumService->getAlbum($request->getAttribute('id')); if ($request->getMethod() === 'POST') { $body = new Parameters($request->getParsedBody()); $del = $body->get('del', 'No'); if (strtolower($del) === 'yes') { $this->albumService->deleteAlbum($album); /** * @var Session $session */ $session = $request->getAttribute('session'); $session->getSegment('App\\Album')->setFlash('flash', ['type' => 'success', 'message' => sprintf('Successfully deleted album %s (%s)', $album->getTitle(), $album->getArtist())]); } // Redirect to list of albums return new RedirectResponse($this->router->generateUri('album.index')); } } catch (\Exception $e) { // do something useful } return new HtmlResponse($this->template->render('album::delete', compact('album'))); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * * @return HtmlResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { // album list $albums = $this->albumService->getAlbums(); return new HtmlResponse($this->template->render('album::index', ['albums' => $albums])); }
/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @return HtmlResponse */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { $albums = $this->albumService->listAlbums(); return new HtmlResponse($this->template->render('album::index', compact('albums'))); }