X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FController%2FEntryController.php;h=d7f53aeab155d4f6be5d1c5831ad15cd1d3b52ec;hb=5fe9aadc0e84bac277db7e6ab78b8731c2ba31fc;hp=ba3db806384e967bb1003ac6dc905e90c12d0e35;hpb=46a54f5debe317ccb3a473ec4b54d3755fe6606c;p=github%2Fwallabag%2Fwallabag.git 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;