diff --git a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties index 8a83ed650ac0b2e537b20fb723aeb438341228ef..bb6cc975939f92dfb16cb3c60edac4c715b9a142 100644 --- a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties @@ -91,7 +91,7 @@ form.step3.delimiter.tab=$org.olat.course.assessment\:form.step3.delimiter.tab new.bulk=Neue Massenbewertung starten passed.false=$org.olat.course.assessment\:passed.false passed.true=$org.olat.course.assessment\:passed.true -return.files=R\u00FCchgabedateien (ZIP Archiv mit Unterordner pro Teilnehmer) +return.files=R\u00FCckgabedateien (ZIP Archiv mit Unterordner pro Teilnehmer) return.mime=Die Datei ist kein ZIP Archiv schedule.date=Datum schedule.delayed=Sp\u00E4ter, nach Datum diff --git a/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java index 21fcae121461573aa33e384bd3f5f42667f0f055..880100a0c98b00f572624be342d31e516dc57ad6 100644 --- a/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/repository/course/DialogCourseNodeIndexer.java @@ -158,12 +158,16 @@ public class DialogCourseNodeIndexer extends DefaultIndexer implements CourseNod @Override public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles) { ContextEntry ce = businessControl.popLauncherContextEntry(); + if(ce == null || ce.getOLATResourceable() == null || ce.getOLATResourceable().getResourceableId() == null) { + return true;// it's the node itself + } + OLATResourceable ores = ce.getOLATResourceable(); if(isLogDebugEnabled()) logDebug("OLATResourceable=" + ores); - if ( (ores != null) && (ores.getResourceableTypeName().startsWith("path=")) ) { + if (ores.getResourceableTypeName().startsWith("path=")) { // => it is a file element, typeName format: 'path=/test1/test2/readme.txt' return true; - } else if ((ores != null) && ores.getResourceableTypeName().equals( OresHelper.calculateTypeName(Message.class) ) ) { + } else if (ores.getResourceableTypeName().equals(OresHelper.calculateTypeName(Message.class))) { // it is message => check message access Long resourceableId = ores.getResourceableId(); Message message = ForumManager.getInstance().loadMessage(resourceableId); @@ -174,9 +178,10 @@ public class DialogCourseNodeIndexer extends DefaultIndexer implements CourseNod boolean isMessageHidden = Status.getStatus(threadtop.getStatusCode()).isHidden(); //assumes that if is owner then is moderator so it is allowed to see the hidden forum threads //TODO: (LD) fix this!!! - the contextEntry is not the right context for this check - boolean isOwner = BaseSecurityManager.getInstance().isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_ACCESS, contextEntry.getOLATResourceable()); - if(isMessageHidden && !isOwner) { - return false; + if(isMessageHidden) { + boolean isOwner = BaseSecurityManager.getInstance() + .isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_ACCESS, contextEntry.getOLATResourceable()); + return isOwner; } return true; } else { diff --git a/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java index 4f7889a56c34619a927a4f0f323a1f55475c7e00..0b6526a04467ab6c2da1834bfa95dd94a4cddc9f 100644 --- a/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/repository/course/FOCourseNodeIndexer.java @@ -86,7 +86,7 @@ public class FOCourseNodeIndexer extends ForumIndexer implements CourseNodeIndex public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles) { ContextEntry ce = businessControl.popLauncherContextEntry(); if(ce == null || ce.getOLATResourceable() == null || ce.getOLATResourceable().getResourceableId() == null) { - return false; + return true;//it's the node itself } Long resourceableId = ce.getOLATResourceable().getResourceableId(); diff --git a/src/main/java/org/olat/search/ui/ResultsController.java b/src/main/java/org/olat/search/ui/ResultsController.java index 31e05d3976da9ede3d15af2d5614d19131854f98..2311601ccbf59c5f36fb6c2f17d827fdabff3720 100644 --- a/src/main/java/org/olat/search/ui/ResultsController.java +++ b/src/main/java/org/olat/search/ui/ResultsController.java @@ -52,7 +52,7 @@ import org.olat.search.model.ResultDocument; * @author srosse, stephane.rosse@frentix.com */ public class ResultsController extends FormBasicController { - private FormLink previousTopLink, nextTopLink, previousLink, nextLink; + private FormLink previousLink, nextLink; private FormLink highlightLink, dishighlightLink; private int currentPage; @@ -77,10 +77,8 @@ public class ResultsController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { previousLink = uifactory.addFormLink("previous.page", formLayout); - previousTopLink = uifactory.addFormLink("previous.top.page", null, "previous.page", formLayout, Link.LINK); nextLink = uifactory.addFormLink("next.page", formLayout); - nextTopLink = uifactory.addFormLink("next.top.page", null, "next.page", formLayout, Link.LINK); - + highlightLink = uifactory.addFormLink("highlight.page", "enable.highlighting", "enable.highlighting", formLayout, Link.LINK); dishighlightLink = uifactory.addFormLink("dishighlight.page", "disable.highlighting", "disable.highlighting", formLayout, Link.LINK); flc.contextPut("highlight", true); @@ -158,9 +156,7 @@ public class ResultsController extends FormBasicController { flc.contextPut("currentPage", currentPage + 1); previousLink.setEnabled(currentPage != 0); - previousTopLink.setEnabled(currentPage != 0); nextLink.setEnabled(currentPage != getMaxPage()); - nextTopLink.setEnabled(currentPage != getMaxPage()); String [] args = {Integer.toString(getStartResult()), Integer.toString(getEndResult()), Integer.toString(getNumOfResults())}; flc.contextPut("resultTitle", getTranslator().translate("search.result.title",args)); @@ -186,9 +182,9 @@ public class ResultsController extends FormBasicController { highlight = false; flc.contextPut("highlight", highlight); reload(ureq); - } else if (source == previousLink || source == previousTopLink) { + } else if (source == previousLink) { setSearchResults(ureq, Math.max(0, --currentPage)); - } else if (source == nextLink || source == nextTopLink) { + } else if (source == nextLink) { if(documents.size() <= (currentPage + 1) * RESULT_PER_PAGE) { SearchEvent e = new SearchEvent(getLastLucenePosition() + 1, RESULT_PER_PAGE); fireEvent(ureq, e);