r3414 - in trunk: pollen-services/src/main/java/org/chorem/pollen/services/impl pollen-services/src/main/resources/i18n pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll pollen-ui-struts2/src/main/resources/i18n pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll
Author: tchemit Date: 2012-06-03 11:40:52 +0200 (Sun, 03 Jun 2012) New Revision: 3414 Url: http://chorem.org/repositories/revision/pollen/3414 Log: fixes #578: Add a feed entry when a comment is removed + ask user a reason for this deletion Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ConfirmDeleteComment.java trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/DeleteComment.java trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/confirmDeletePollComment.jsp Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollCommentService.java 2012-06-03 09:40:52 UTC (rev 3414) @@ -91,8 +91,8 @@ // feed notification PollService pollService = newService(PollService.class); + PollUrl pollVoteUrl = pollService.getPollVoteUrl(poll, false); - PollUrl pollVoteUrl = pollService.getPollVoteUrl(poll, false); PollFeedService pollFeedService = newService(PollFeedService.class); pollFeedService.onAddComment(commentCreated, pollVoteUrl); @@ -102,8 +102,11 @@ } } - public void deleteComment(String commentId) throws PollCommentNotFound { + public void deleteComment(Poll poll, + String commentId, + String reason) throws PollCommentNotFound { + Preconditions.checkNotNull(poll); Preconditions.checkNotNull(commentId); CommentDAO dao = getDAO(Comment.class); @@ -120,6 +123,14 @@ commitTransaction("Could not delete comment " + comment.getText()); + // feed notification + + PollService pollService = newService(PollService.class); + PollUrl pollVoteUrl = pollService.getPollVoteUrl(poll, false); + + PollFeedService pollFeedService = newService(PollFeedService.class); + pollFeedService.onDeleteComment(comment, pollVoteUrl, reason); + } catch (TopiaException e) { throw new PollenTechnicalException(e); } Modified: trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java =================================================================== --- trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-services/src/main/java/org/chorem/pollen/services/impl/PollFeedService.java 2012-06-03 09:40:52 UTC (rev 3414) @@ -127,6 +127,19 @@ addFeedEntry(comment.getPoll(), title, content, pollVoteUrl); } + public void onDeleteComment(Comment comment, + PollUrl pollVoteUrl, + String reason) { + + String title = _("pollen.feed.deleteCommentTitle", + comment.getAuthor()); + + String content = _("pollen.feed.deleteCommentContent", + comment.getText(), reason); + + addFeedEntry(comment.getPoll(), title, content, pollVoteUrl); + } + public void onAddVote(Vote vote, boolean anonymousVote, String pollResult, Modified: trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties =================================================================== --- trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties 2012-06-03 09:40:52 UTC (rev 3414) @@ -34,6 +34,8 @@ pollen.feed.addVoteContent= pollen.feed.addVoteTitle= pollen.feed.createPollContent= +pollen.feed.deleteCommentContent=%s +pollen.feed.deleteCommentTitle=Delete comment of %s for reason '%s' pollen.feed.pollDescription=%s pollen.feed.pollTitle=Pollen \: %s pollen.info.admin.created=Super admin was created with login %1$s Modified: trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties =================================================================== --- trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties 2012-06-03 09:40:52 UTC (rev 3414) @@ -34,6 +34,8 @@ pollen.feed.addVoteContent= pollen.feed.addVoteTitle= pollen.feed.createPollContent= +pollen.feed.deleteCommentContent=%s +pollen.feed.deleteCommentTitle=Suppression du commentaire de %s pour la raison '%s' pollen.feed.pollDescription=%s pollen.feed.pollTitle=Pollen \: %s pollen.info.admin.created=Le super admin a été créé avec l'identifiant %1$s. Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ConfirmDeleteComment.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ConfirmDeleteComment.java 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/ConfirmDeleteComment.java 2012-06-03 09:40:52 UTC (rev 3414) @@ -25,8 +25,11 @@ import com.google.common.base.Preconditions; import org.chorem.pollen.business.persistence.Comment; +import org.chorem.pollen.business.persistence.Poll; import org.chorem.pollen.services.exceptions.PollCommentNotFound; +import org.chorem.pollen.services.exceptions.PollNotFoundException; import org.chorem.pollen.services.impl.PollCommentService; +import org.chorem.pollen.services.impl.PollService; /** * To confirm a comment delete. @@ -59,6 +62,14 @@ Preconditions.checkNotNull(pollId); Preconditions.checkNotNull(commentId); + PollService pollService = newService(PollService.class); + + Poll poll = pollService.getPollByPollId(getPollId()); + + if (poll == null) { + throw new PollNotFoundException(); + } + PollCommentService service = newService(PollCommentService.class); comment = service.getEntityById(Comment.class, commentId); Modified: trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/DeleteComment.java =================================================================== --- trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/DeleteComment.java 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-ui-struts2/src/main/java/org/chorem/pollen/ui/actions/poll/DeleteComment.java 2012-06-03 09:40:52 UTC (rev 3414) @@ -26,8 +26,11 @@ import com.google.common.base.Preconditions; import com.opensymphony.xwork2.interceptor.annotations.InputConfig; import org.chorem.pollen.business.persistence.Comment; +import org.chorem.pollen.business.persistence.Poll; import org.chorem.pollen.services.exceptions.PollCommentNotFound; +import org.chorem.pollen.services.exceptions.PollNotFoundException; import org.chorem.pollen.services.impl.PollCommentService; +import org.chorem.pollen.services.impl.PollService; /** * To delete a poll comment. @@ -42,14 +45,33 @@ /** Id of the comment to delete. */ protected String commentId; + /** + * Reason for deleting this comment (if any). + * + * @since 1.4 + */ + protected String reason; + public void setCommentId(String commentId) { this.commentId = commentId; } + public void setReason(String reason) { + this.reason = reason; + } + @InputConfig(methodName = "prepareVotePage") @Override public String execute() throws Exception { + PollService pollService = newService(PollService.class); + + Poll poll = pollService.getPollByPollId(getPollId()); + + if (poll==null) { + throw new PollNotFoundException(); + } + Preconditions.checkNotNull(commentId); PollCommentService service = newService(PollCommentService.class); @@ -60,10 +82,8 @@ throw new PollCommentNotFound(); } - setUriId(getUriId()); + service.deleteComment(poll, commentId, reason); - service.deleteComment(commentId); - return SUCCESS; } } Modified: trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties =================================================================== --- trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_en_GB.properties 2012-06-03 09:40:52 UTC (rev 3414) @@ -25,6 +25,7 @@ pollen.action.editPollAccount=Edit selected member pollen.action.editUser=Edit selected user pollen.action.editVote=Modifier le vote +pollen.common.deleteReason=Reason for delete pollen.action.importPersonListToExistingVotingList=Add selected voting list pollen.action.importPersonListToNewVotingList=Create a new group from the selected voting list pollen.action.login=Log me In Modified: trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties =================================================================== --- trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-ui-struts2/src/main/resources/i18n/pollen-ui-struts2_fr_FR.properties 2012-06-03 09:40:52 UTC (rev 3414) @@ -24,6 +24,7 @@ pollen.action.editPoll=Modifier le sondage pollen.action.editPollAccount=Editer le membre sélectionné pollen.action.editUser=Editer un utilisateur sélectionné +pollen.common.deleteReason=Raison de suppression pollen.action.editVote=Modifier le vote pollen.action.importPersonListToExistingVotingList=Ajouter la liste sélectionnée de votants pollen.action.importPersonListToNewVotingList=Créer un groupe à partir de la liste sélectionnée Modified: trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/confirmDeletePollComment.jsp =================================================================== --- trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/confirmDeletePollComment.jsp 2012-06-03 09:15:13 UTC (rev 3413) +++ trunk/pollen-ui-struts2/src/main/webapp/WEB-INF/jsp/poll/confirmDeletePollComment.jsp 2012-06-03 09:40:52 UTC (rev 3414) @@ -38,6 +38,9 @@ <s:textarea key='comment.text' readonly="true" rows="3" label="%{getText('pollen.common.commentText')}"/> + <s:textarea key='reason' rows="3" required="true" + label="%{getText('pollen.common.deleteReason')}"/> + <hr/> <div align="right">
participants (1)
-
tchemit@users.chorem.org