Details
-
Bug
-
Resolution: Fixed
-
Major
-
9.11
-
None
-
Unknown
-
Description
When testing the feature introduced by the ticket BLOG-181 I noticed that the likes are not correctly displayed on the Cards blog post layout.
To reproduce :
- XWiki version 12.10.6
- Edit the Blog.WebHome page and set the Posts layout to 'Cards' and save the page
Expected results : The likes heart and the number of likes are displayed on the blog posts
Actual results : The likes heart are displayed but the number of likes is always null, see screenshot :
The code responsible of displaying the likes number added to the Cards blog post layout (Blog.BlogPostLayoutCards) is :
#if ($services.like.displayButton($pDoc)) #set ($optLikeRecord = $services.like.getLikes($pDoc)) #set ($likeNumber = $optLikeRecord.get().likeNumber) <div class="like-button btn btn-default disabled badge" title="$escapetool.xml($services.localization.render('like.button.title', [$likeNumber]))"> $services.icon.renderHTML('heart') <span class="like-number">$likeNumber</span> </div> #elseif ($services.ratings)
Note that this code #set ($optLikeRecord = $services.like.getLikes($pDoc)) returns an Optional<Long>, so the code used to get the likes number, (#set ($likeNumber = $optLikeRecord.get().likeNumber)), cannot work, see https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html.
So, $optLikeRecord.get() is enough to get the number of likes.
Another remark is that the code is not managing the case when the $services.like.getLikes() method returns an empty Optional instance.
Note that the $services.like.getLikes($pDoc) method takes an EntityReference as a parameter and the $pDoc variable is an xwiki Document.
Attachments
Issue Links
- is related to
-
BLOG-181 Update 'Cards' blog post layout to use Likes instead of Ratings
- Closed