diff --git a/app/Resources/static/themes/material/js/shortcuts/entry.js b/app/Resources/static/themes/material/js/shortcuts/entry.js
index a8cbd787a..3c84e4c6b 100644
--- a/app/Resources/static/themes/material/js/shortcuts/entry.js
+++ b/app/Resources/static/themes/material/js/shortcuts/entry.js
@@ -10,7 +10,7 @@ $(document).ready(() => {
/* mark as favorite */
Mousetrap.bind('f', () => {
- $('ul.side-nav a.favorite i')[0].click();
+ $('ul.side-nav button.favorite i')[0].click();
});
/* mark as read */
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php
index 10c50a071..4032c5c73 100644
--- a/src/Wallabag/CoreBundle/Controller/EntryController.php
+++ b/src/Wallabag/CoreBundle/Controller/EntryController.php
@@ -467,12 +467,16 @@ class EntryController extends AbstractController
/**
* Changes starred status for an entry.
*
- * @Route("/star/{id}", requirements={"id" = "\d+"}, name="star_entry")
+ * @Route("/star/{id}", name="star_entry", methods={"POST"}, requirements={"id" = "\d+"})
*
* @return RedirectResponse
*/
public function toggleStarAction(Request $request, Entry $entry)
{
+ if (!$this->isCsrfTokenValid('star-entry', $request->request->get('token'))) {
+ throw new BadRequestHttpException('Bad CSRF token.');
+ }
+
$this->checkUserAction($entry);
$entry->toggleStar();
diff --git a/src/Wallabag/CoreBundle/Resources/views/Entry/_card_actions.html.twig b/src/Wallabag/CoreBundle/Resources/views/Entry/_card_actions.html.twig
index 376d7875c..bd6f7f2b9 100644
--- a/src/Wallabag/CoreBundle/Resources/views/Entry/_card_actions.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/Entry/_card_actions.html.twig
@@ -23,7 +23,13 @@
- {% if entry.isStarred == 0 %}star_border{% else %}star{% endif %}
+
delete
diff --git a/src/Wallabag/CoreBundle/Resources/views/Entry/_card_list.html.twig b/src/Wallabag/CoreBundle/Resources/views/Entry/_card_list.html.twig
index e39d54cf8..cd1ff7df6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/Entry/_card_list.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/Entry/_card_list.html.twig
@@ -22,7 +22,13 @@
{% if entry.isArchived == 0 %}done{% else %}unarchive{% endif %}
- {% if entry.isStarred == 0 %}star_border{% else %}star{% endif %}
+
delete
diff --git a/src/Wallabag/CoreBundle/Resources/views/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/Entry/entry.html.twig
index cec681957..4aaa006bf 100644
--- a/src/Wallabag/CoreBundle/Resources/views/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/Entry/entry.html.twig
@@ -35,9 +35,13 @@
-
- {% if entry.isStarred == 0 %}star_outline{% else %}star{% endif %}
-
+
@@ -89,10 +93,14 @@
-
+
@@ -321,7 +329,15 @@
- {% if entry.isStarred == 0 %}star_outline{% else %}star{% endif %}
+
+
+
delete
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
index 83b481560..5d1c74b46 100644
--- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
@@ -670,7 +670,9 @@ class EntryControllerTest extends WallabagCoreTestCase
$this->getEntityManager()->flush();
$this->getEntityManager()->clear();
- $client->request('GET', '/star/' . $entry->getId());
+ $crawler = $client->request('GET', '/view/' . $entry->getId());
+
+ $client->submit($crawler->filter('.left-bar')->selectButton('entry.view.left_menu.set_as_starred')->form());
$this->assertSame(302, $client->getResponse()->getStatusCode());