diff --git a/src/main/java/org/olat/core/commons/services/mark/impl/ui/MarkController.java b/src/main/java/org/olat/core/commons/services/mark/impl/ui/MarkController.java index 5f5f1c7c879c38801ab36b69ca8e5091188a26c3..ff41acd5003162d77ae7b898c4e215dd5ef5d3fd 100644 --- a/src/main/java/org/olat/core/commons/services/mark/impl/ui/MarkController.java +++ b/src/main/java/org/olat/core/commons/services/mark/impl/ui/MarkController.java @@ -103,6 +103,7 @@ public class MarkController extends FormBasicController { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { markLink = uifactory.addFormLink("mark", " ", " ", formLayout, Link.NONTRANSLATED + Link.LINK_CUSTOM_CSS); markLink.setCustomEnabledLinkCSS(marked ? "b_mark_set" : "b_mark_not_set"); + markLink.setEnabled(!ureq.getUserSession().getRoles().isGuestOnly()); String tooltip; if(stat == null) { diff --git a/src/main/java/org/olat/modules/fo/FilterForUserController.java b/src/main/java/org/olat/modules/fo/FilterForUserController.java index ec765ee7e229b198363e3bffa3bf306216e15d1f..597ca831485a8fcc18bedffa7dc712e61372ae01 100644 --- a/src/main/java/org/olat/modules/fo/FilterForUserController.java +++ b/src/main/java/org/olat/modules/fo/FilterForUserController.java @@ -406,11 +406,13 @@ public class FilterForUserController extends BasicController { MarkResourceStat stat = stats.get(subPath); MarkingService markingService = (MarkingService)CoreSpringFactory.getBean(MarkingService.class); - String businessPath = currentMark == null ? - getWindowControl().getBusinessControl().getAsString() + "[Message:" + m.getKey() + "]" - : currentMark.getBusinessPath(); - Controller markCtrl = markingService.getMarkController(ureq, getWindowControl(), currentMark, stat, forumOres, subPath, businessPath); - vcThreadView.put("mark_"+msgCount, markCtrl.getInitialComponent()); + if(!ureq.getUserSession().getRoles().isGuestOnly()) { + String businessPath = currentMark == null ? + getWindowControl().getBusinessControl().getAsString() + "[Message:" + m.getKey() + "]" + : currentMark.getBusinessPath(); + Controller markCtrl = markingService.getMarkController(ureq, getWindowControl(), currentMark, stat, forumOres, subPath, businessPath); + vcThreadView.put("mark_"+msgCount, markCtrl.getInitialComponent()); + } map.put("modified", dateFormat.format(m.getLastModified())); // message attachments diff --git a/src/main/java/org/olat/modules/fo/ForumController.java b/src/main/java/org/olat/modules/fo/ForumController.java index d81cb747e7632353cd956c8234ae9a3ca2bdd25c..83eb9a660220fd786e1ed12cc83b59341811a8c0 100644 --- a/src/main/java/org/olat/modules/fo/ForumController.java +++ b/src/main/java/org/olat/modules/fo/ForumController.java @@ -1181,15 +1181,17 @@ public class ForumController extends BasicController implements GenericEventList MarkResourceStat stat = stats.get(subPath); MarkingService markingService = (MarkingService)CoreSpringFactory.getBean(MarkingService.class); - String businessPath = currentMark == null ? - getWindowControl().getBusinessControl().getAsString() + "[Message:" + m.getKey() + "]" - : currentMark.getBusinessPath(); - Controller markCtrl = markingService.getMarkController(ureq, getWindowControl(), currentMark, stat, forumOres, subPath, businessPath); - vcThreadView.put("mark_"+msgCount, markCtrl.getInitialComponent()); + if(!ureq.getUserSession().getRoles().isGuestOnly()) { + String businessPath = currentMark == null ? + getWindowControl().getBusinessControl().getAsString() + "[Message:" + m.getKey() + "]" + : currentMark.getBusinessPath(); + Controller markCtrl = markingService.getMarkController(ureq, getWindowControl(), currentMark, stat, forumOres, subPath, businessPath); + vcThreadView.put("mark_"+msgCount, markCtrl.getInitialComponent()); + } - businessPath = BusinessControlFactory.getInstance().getAsString(getWindowControl().getBusinessControl()) + "[Message:" + m.getKey() + "]"; if (uIsMsgC) { OLATResourceable messageOres = OresHelper.createOLATResourceableInstance("Forum", m.getKey()); + String businessPath = BusinessControlFactory.getInstance().getAsString(getWindowControl().getBusinessControl()) + "[Message:" + m.getKey() + "]"; Controller ePFCollCtrl = EPUIFactory.createArtefactCollectWizzardController(ureq, getWindowControl(), messageOres, businessPath); if (ePFCollCtrl != null) {