From a1abe7f61652c27b82a79716bcdb8bebc0022f04 Mon Sep 17 00:00:00 2001 From: Stefan Topfstedt Date: Mon, 6 Jul 2020 17:00:58 -0700 Subject: [PATCH] adds ability to un-like a decklist. this also separates liking a list from flagging it as favourite. --- assets/js/ui.decklist.js | 21 ++++++++++----------- src/Controller/SocialController.php | 7 +++++++ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/assets/js/ui.decklist.js b/assets/js/ui.decklist.js index 0b2f2acd..3b5c3d17 100755 --- a/assets/js/ui.decklist.js +++ b/assets/js/ui.decklist.js @@ -113,7 +113,6 @@ that.attr('title', that.data('original-tooltip')); $(that).removeClass('processing'); }); - ui.send_like.call($('.social .social-icon-like'), event); }; ui.setup_comment_form = function setup_comment_form() @@ -163,26 +162,26 @@ ui.setup_social_icons = function setup_social_icons() { - - if(!app.user.data || app.user.data.is_author || app.user.data.is_liked) { - var element = $('.social .social-icon-like'); - element.replaceWith($('').html(element.html())); } if(!app.user.data) { - var element = $('.social .social-icon-favorite'); - element.replaceWith($('').html(element.html())); } else if(app.user.data.is_favorite) { - var element = $('.social .social-icon-favorite'); + element = $('.social .social-icon-favorite'); element.attr('title', "Remove from favorites"); } else { - var element = $('.social .social-icon-favorite'); + element = $('.social .social-icon-favorite'); element.attr('title', "Add to favorites"); } if(!app.user.data) { - var element = $('.social .social-icon-comment'); - element.replaceWith($('').html(element.html())); } }; diff --git a/src/Controller/SocialController.php b/src/Controller/SocialController.php index 4023f1dc..6bc1b277 100755 --- a/src/Controller/SocialController.php +++ b/src/Controller/SocialController.php @@ -913,6 +913,13 @@ public function voteAction(Request $request) $decklist->setDateUpdate(new DateTime()); $decklist->setNbVotes($decklist->getNbVotes() + 1); $this->getDoctrine()->getManager()->flush(); + } else { + $user->removeVote($decklist); + $author = $decklist->getUser(); + $author->setReputation($author->getReputation() - 1); + $decklist->setDateUpdate(new DateTime()); + $decklist->setNbVotes($decklist->getNbVotes() - 1); + $this->getDoctrine()->getManager()->flush(); } }