From 5fe9aadc0e84bac277db7e6ab78b8731c2ba31fc Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 31 Mar 2017 14:54:34 +0200 Subject: Set progress --- .../CoreBundle/Controller/EntryController.php | 42 ++++++++-------------- 1 file changed, 14 insertions(+), 28 deletions(-) (limited to 'src/Wallabag/CoreBundle/Controller/EntryController.php') diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index ba3db806..d7f53aea 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php @@ -607,47 +607,33 @@ class EntryController extends Controller return $this->showEntries('untagged', $request, $page); } - /** - * Get the progress of an entry. - * - * @param Entry $entry - * - * @Route("/progress/{entry}", name="get_progress") - * - * @return JsonResponse - */ - public function getEntriesProgressAction(Entry $entry) - { - $this->checkUserAction($entry); - - $json = $this->get('serializer')->serialize($entry->getProgress(), 'json'); - - return (new JsonResponse())->setJson($json); - } - /** * Set the progress of an entry. * * @param Entry $entry * @param int $progress * - * @Route("/set-progress/{entry}", name="set_progress") + * @Route("/progress/{entry}/{progress}", name="set_progress") * * @return JsonResponse */ - public function setEntriesProgressAction(Entry $entry, $progress) + public function setEntriesProgressAction(Entry $entry, $progress = 0) { $this->checkUserAction($entry); $response = new JsonResponse(); - if (is_null($progress)) { - $response->setStatusCode(Response::HTTP_BAD_REQUEST); - } else { - $progress = (int) $progress; - if ($progress >= 0 && $progress <= 100) { - $entry->setProgress($progress); - $response->setStatusCode(Response::HTTP_OK); - } + $progress = (int) $progress; + if ($progress >= 0 && $progress <= 100) { + $em = $this->getDoctrine()->getManager(); + + $entry->setProgress($progress); + + $this->get('logger')->info('Set progress to ' . $progress); + + $em->persist($entry); + $em->flush(); + + $response->setStatusCode(Response::HTTP_OK); } return $response; -- cgit v1.2.3