use of org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController in project OpenOLAT by OpenOLAT.
the class EPTOCReadOnlyController method refreshTOC.
public void refreshTOC(UserRequest ureq) {
// do recursively
int level = 0;
List<TOCElement> tocList = new ArrayList<TOCElement>();
buildTOCModel(map, tocList, level);
vC.contextPut("tocList", tocList);
if (secCallback.canCommentAndRate()) {
removeAsListenerAndDispose(commentsAndRatingCtr);
boolean anonym = ureq.getUserSession().getRoles().isGuestOnly();
CommentAndRatingSecurityCallback callback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, anonym);
commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), map.getOlatResource(), null, callback, true, true, true);
listenTo(commentsAndRatingCtr);
vC.put("commentCtrl", commentsAndRatingCtr.getInitialComponent());
}
}
use of org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController in project OpenOLAT by OpenOLAT.
the class PageRunController method loadModel.
private void loadModel(UserRequest ureq, boolean reloadComments) {
mainVC.contextPut("pageTitle", page.getTitle());
pageCtrl.loadElements(ureq);
dirtyMarker = false;
if (secCallback.canComment(page)) {
if (reloadComments && commentsCtrl != null) {
mainVC.remove(commentsCtrl.getInitialComponent());
removeAsListenerAndDispose(commentsCtrl);
commentsCtrl = null;
}
if (commentsCtrl == null) {
CommentAndRatingSecurityCallback commentSecCallback;
if (PageStatus.isClosed(page)) {
commentSecCallback = new ReadOnlyCommentsSecurityCallback();
} else {
commentSecCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, false);
}
OLATResourceable ores = OresHelper.createOLATResourceableInstance(Page.class, page.getKey());
commentsCtrl = new UserCommentsAndRatingsController(ureq, getWindowControl(), ores, null, commentSecCallback, true, false, true);
commentsCtrl.expandComments(ureq);
listenTo(commentsCtrl);
}
mainVC.put("comments", commentsCtrl.getInitialComponent());
} else if (commentsCtrl != null) {
mainVC.remove(commentsCtrl.getInitialComponent());
removeAsListenerAndDispose(commentsCtrl);
commentsCtrl = null;
}
if (editLink != null) {
editLink.setVisible(secCallback.canEditPage(page));
}
if (editMetadataLink != null) {
editMetadataLink.setVisible(secCallback.canEditMetadataBinder());
}
if (moveToTrashLink != null) {
moveToTrashLink.setVisible(secCallback.canDeletePage(page));
}
}
use of org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController in project openolat by klemens.
the class QuestionItemDetailsController method setCommentsController.
private void setCommentsController(UserRequest ureq) {
Roles roles = ureq.getUserSession().getRoles();
boolean moderator = roles.isOLATAdmin();
boolean anonymous = roles.isGuestOnly() || roles.isInvitee();
commentAndRatingSecurityCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), moderator, anonymous);
removeAsListenerAndDispose(commentsAndRatingCtr);
commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), metadatasCtrl.getItem(), null, commentAndRatingSecurityCallback, true, this.qItemSecurityCallback.canRate(), true);
listenTo(commentsAndRatingCtr);
mainVC.put("comments", commentsAndRatingCtr.getInitialComponent());
}
use of org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController in project openolat by klemens.
the class PageRunController method loadModel.
private void loadModel(UserRequest ureq, boolean reloadComments) {
mainVC.contextPut("pageTitle", page.getTitle());
pageCtrl.loadElements(ureq);
dirtyMarker = false;
if (secCallback.canComment(page)) {
if (reloadComments && commentsCtrl != null) {
mainVC.remove(commentsCtrl.getInitialComponent());
removeAsListenerAndDispose(commentsCtrl);
commentsCtrl = null;
}
if (commentsCtrl == null) {
CommentAndRatingSecurityCallback commentSecCallback;
if (PageStatus.isClosed(page)) {
commentSecCallback = new ReadOnlyCommentsSecurityCallback();
} else {
commentSecCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), false, false);
}
OLATResourceable ores = OresHelper.createOLATResourceableInstance(Page.class, page.getKey());
commentsCtrl = new UserCommentsAndRatingsController(ureq, getWindowControl(), ores, null, commentSecCallback, true, false, true);
commentsCtrl.expandComments(ureq);
listenTo(commentsCtrl);
}
mainVC.put("comments", commentsCtrl.getInitialComponent());
} else if (commentsCtrl != null) {
mainVC.remove(commentsCtrl.getInitialComponent());
removeAsListenerAndDispose(commentsCtrl);
commentsCtrl = null;
}
if (editLink != null) {
editLink.setVisible(secCallback.canEditPage(page));
}
if (editMetadataLink != null) {
editMetadataLink.setVisible(secCallback.canEditMetadataBinder());
}
if (moveToTrashLink != null) {
moveToTrashLink.setVisible(secCallback.canDeletePage(page));
}
}
use of org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController in project openolat by klemens.
the class ItemsController method createCommentsAndRatingsLink.
/**
* Create comments and rating component link for given feed item
*
* @param ureq
* @param feed
* @param item
*/
private void createCommentsAndRatingsLink(UserRequest ureq, Feed feed, Item item) {
if (feed == null || item == null)
// check against concurrent changes
return;
if (CoreSpringFactory.containsBean(CommentAndRatingService.class)) {
if (commentsLinks == null) {
commentsLinks = new HashMap<>();
} else if (commentsLinks.containsKey(item)) {
removeAsListenerAndDispose(commentsLinks.get(item));
}
boolean anonym = ureq.getUserSession().getRoles().isGuestOnly();
CommentAndRatingSecurityCallback secCallback = new CommentAndRatingDefaultSecurityCallback(getIdentity(), callback.mayEditMetadata(), anonym);
UserCommentsAndRatingsController commentsAndRatingCtr = new UserCommentsAndRatingsController(ureq, getWindowControl(), feed, item.getGuid(), secCallback, true, true, false);
commentsAndRatingCtr.setUserObject(item);
listenTo(commentsAndRatingCtr);
commentsLinks.put(item, commentsAndRatingCtr);
String guid = item.getGuid();
vcItems.put("commentsAndRating." + guid, commentsAndRatingCtr.getInitialComponent());
}
}
Aggregations