Index: lams_tool_forum/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -rdfb737a6f6ad80ea14567599cbd1dfcc66f1f125 -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision dfb737a6f6ad80ea14567599cbd1dfcc66f1f125) +++ lams_tool_forum/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -262,3 +262,5 @@ label.completed.activity = Activity completed label.current.activity = Current activity label.not.started.activity = Activity not reached yet +label.your.rating = {1} / {2} votes + Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java =================================================================== diff -u -rb71c9cb2f96eb891545d32aaca8904051d1e00d5 -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java (.../MessageDTO.java) (revision b71c9cb2f96eb891545d32aaca8904051d1e00d5) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java (.../MessageDTO.java) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -29,6 +29,7 @@ import java.util.Iterator; import java.util.List; +import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; import org.lamsfoundation.lams.tool.forum.model.ForumReport; import org.lamsfoundation.lams.tool.forum.model.Message; @@ -45,9 +46,8 @@ private String comment; private boolean released; - //rating fields - private String averageRating; - private String numberOfVotes; + //rating field used by lams:Rating tag + private ItemRatingDTO itemRatingDto; // number of posts the learner has made in this topic. // used when this message is a root topic. @@ -200,22 +200,6 @@ this.released = isReleased; } - public String getAverageRating() { - return averageRating; - } - - public void setAverageRating(String averageRating) { - this.averageRating = averageRating; - } - - public String getNumberOfVotes() { - return numberOfVotes; - } - - public void setNumberOfVotes(String numberOfVotes) { - this.numberOfVotes = numberOfVotes; - } - public int getNumOfPosts() { return numOfPosts; } @@ -239,4 +223,12 @@ public void setAuthorUserId(Long authorUserId) { this.authorUserId = authorUserId; } + + public ItemRatingDTO getItemRatingDto() { + return itemRatingDto; + } + + public void setItemRatingDto(ItemRatingDTO itemRatingDto) { + this.itemRatingDto = itemRatingDto; + } } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== diff -u -r0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7 -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 0356b71a54403d2a4f45a3b90e5fab4fc3c11dd7) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -41,7 +41,11 @@ import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.service.ILogEventService; +import org.lamsfoundation.lams.rating.dto.ItemRatingCriteriaDTO; +import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; +import org.lamsfoundation.lams.rating.model.Rating; import org.lamsfoundation.lams.rating.model.RatingCriteria; +import org.lamsfoundation.lams.rating.model.ToolActivityRatingCriteria; import org.lamsfoundation.lams.rest.RestTags; import org.lamsfoundation.lams.rest.ToolRestManager; import org.lamsfoundation.lams.tool.ToolCompletionStatus; @@ -95,6 +99,7 @@ import java.util.Date; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -723,15 +728,32 @@ for (Attachment attachment : message.getAttachments()) { attachment.setFileDisplayUuid(forumToolContentHandler.getFileUuid(attachment.getFileUuid())); } - MessageDTO dto = MessageDTO.getMessageDTO(message); - dto.setLevel(msgSeq.getMessageLevel()); + MessageDTO msgDTO = MessageDTO.getMessageDTO(message); + msgDTO.setLevel(msgSeq.getMessageLevel()); + //set averageRating if (message.getForum().isAllowRateMessages()) { + ItemRatingDTO itemRatingDTO = new ItemRatingDTO(); + msgDTO.setItemRatingDto(itemRatingDTO); + + Long itemId = message.getUid(); + itemRatingDTO.setItemId(itemId); + + List criteriaDtos = new LinkedList<>(); + itemRatingDTO.setCriteriaDtos(criteriaDtos); + + RatingCriteria criteria = new ToolActivityRatingCriteria(); + ItemRatingCriteriaDTO criteriaDto = new ItemRatingCriteriaDTO(); + criteriaDto.setRatingCriteria(criteria); + criteriaDto.setUserRating("0"); + AverageRatingDTO averageRating = getAverageRatingDTOByMessage(message.getUid()); - dto.setAverageRating(averageRating.getRating()); - dto.setNumberOfVotes(averageRating.getNumberOfVotes()); + criteriaDto.setAverageRating(averageRating.getRating()); + criteriaDto.setNumberOfVotes(averageRating.getNumberOfVotes()); + + criteriaDtos.add(criteriaDto); } - return dto; + return msgDTO; } /** Index: lams_tool_forum/web/includes/javascript/message.js =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/includes/javascript/message.js (.../message.js) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_forum/web/includes/javascript/message.js (.../message.js) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -55,32 +55,51 @@ } - function setupJRating(rateMessagePath) { - $(".rating-stars-new").filter($(".rating-stars")).jRating({ - phpPath : rateMessagePath, - rateMax : 5, - decimalLength : 1, - onSuccess : function(data, messageId){ - $("#averageRating" + messageId).html(data.averageRating); - $("#numberOfVotes" + messageId).html(data.numberOfVotes); - $("#numOfRatings").html(data.numOfRatings); - - //disable rating feature in case maxRate limit reached - if (data.noMoreRatings) { - $(".rating-stars").each(function() { - $(this).jRating('readOnly'); - }); - } - }, - onError : function(){ - jError('Error : please retry'); + function setupForumStarability(SERVLET_PATH) { + $(".starability-new").each(function() { + const id = "" + $(this).data('id'), // get the id of the box + messageId = id.substring(id.indexOf('-') + 1); + + if (!$(this).hasClass('starability-disabled')) { + $("input[type=radio][name=" + id + "]").change(function() { + let element = this; + const rate = $(this).val(); + + $.post( + SERVLET_PATH, + { + idBox: messageId, + rate: rate + }, + function(data) { + if (!data.error) { + $("#average-rating-" + id).html(data.averageRating); + $("#number-of-votes-" + id).html(data.numberOfVotes); + //$("#starability-caption-" + id).css("visibility", "visible"); + $("#numOfRatings").html(data.numOfRatings); + + //disable rating feature in case maxRate limit reached + if (data.noMoreRatings) { + $(".starability").each(function() { + if (!$(this).hasClass('starability-result') && !$(this).hasClass('starability-disabled') ) { + const dataId = $(this).data('id'); + $(this).addClass('starability-disabled'); + $('input[type=radio][name=' + dataId +']').attr('disabled', 'disabled');//disable all internal radio buttons + } + }); + } + + } else { + alert("Error saving rating. Please retry."); + } + }, + 'json' + ); + }); } }); - $(".rating-stars-new").filter($(".rating-stars-disabled")).jRating({ - rateMax : 5, - isDisabled : true - }); - $(".rating-stars-new").removeClass("rating-stars-new"); + + $(".starability-new").removeClass("starability-new"); } /** Index: lams_tool_forum/web/jsps/learning/create.jsp =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/create.jsp (.../create.jsp) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_forum/web/jsps/learning/create.jsp (.../create.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -23,7 +23,6 @@ - Index: lams_tool_forum/web/jsps/learning/edit.jsp =================================================================== diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/edit.jsp (.../edit.jsp) (revision 81f928586161dd03042b6353f68c7d7b8279ccde) +++ lams_tool_forum/web/jsps/learning/edit.jsp (.../edit.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -20,7 +20,6 @@ - @@ -86,7 +85,7 @@ $.ajaxSetup({ cache: true }); $(messDiv).load(loadString, function() { $('#pb-msg'+messageUid).focus(); - setupJRating("?toolSessionID=${sessionMap.toolSessionID}&sessionMapID=${sessionMapID}"); + setupForumStarability("?toolSessionID=${sessionMap.toolSessionID}&sessionMapID=${sessionMapID}"); highlightMessage(); }); } Index: lams_tool_forum/web/jsps/learning/message/msgview.jsp =================================================================== diff -u -r20eb7b8bea76693ebd07ca8eda62cfce442ab50d -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/message/msgview.jsp (.../msgview.jsp) (revision 20eb7b8bea76693ebd07ca8eda62cfce442ab50d) +++ lams_tool_forum/web/jsps/learning/message/msgview.jsp (.../msgview.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -12,6 +12,12 @@ + + <%-- msgDto, messageUid, msgLevel needs to be in the session elsewhere --%> <%-- outermsg${msgDto.message.uid} is used to replace existing message areas when a message is edited. --%>
- <%@ include file="/jsps/learning/ratingStars.jsp"%> + + + + + Fisheye: Tag 7b4ee4f4e13ad862387ee258f2625342abe8321c refers to a dead (removed) revision in file `lams_tool_forum/web/jsps/learning/ratingStars.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_forum/web/jsps/learning/reply.jsp =================================================================== diff -u -r39839f13739f659ce9188df6db5ea797183fc089 -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/reply.jsp (.../reply.jsp) (revision 39839f13739f659ce9188df6db5ea797183fc089) +++ lams_tool_forum/web/jsps/learning/reply.jsp (.../reply.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -21,7 +21,6 @@ - @@ -94,7 +93,7 @@ var loadString = "learning/viewTopicThread.do?topicID=" + rootUid + "&sessionMapID=" + response.sessionMapID + "&threadUid=" + threadUid+"&messageUid="+messageUid; $.ajaxSetup({ cache: true }); $(threadDiv).load(loadString, function() { - setupJRating("?toolSessionID=${sessionMap.toolSessionID}&sessionMapID=${sessionMapID}"); + setupForumStarability("?toolSessionID=${sessionMap.toolSessionID}&sessionMapID=${sessionMapID}"); highlightMessage(); // expand up to the reply - in case it is buried down in a lot of replies // don't need to do this if we have started a new thread. Index: lams_tool_forum/web/jsps/learning/viewforum.jsp =================================================================== diff -u -r20eb7b8bea76693ebd07ca8eda62cfce442ab50d -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/viewforum.jsp (.../viewforum.jsp) (revision 20eb7b8bea76693ebd07ca8eda62cfce442ab50d) +++ lams_tool_forum/web/jsps/learning/viewforum.jsp (.../viewforum.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -23,7 +23,6 @@ - Index: lams_tool_forum/web/jsps/learning/viewtopic.jsp =================================================================== diff -u -r79bcbe91bdd67992b6e213981b456c76aa40da18 -r7b4ee4f4e13ad862387ee258f2625342abe8321c --- lams_tool_forum/web/jsps/learning/viewtopic.jsp (.../viewtopic.jsp) (revision 79bcbe91bdd67992b6e213981b456c76aa40da18) +++ lams_tool_forum/web/jsps/learning/viewtopic.jsp (.../viewtopic.jsp) (revision 7b4ee4f4e13ad862387ee258f2625342abe8321c) @@ -10,7 +10,7 @@ - + @@ -19,21 +19,18 @@ -