diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java index ff6acf6357a044e50390af21742c2220f91d39cb..20209f1e09626f3d7d58fcda152ddfc09fccf5e0 100644 --- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java +++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java @@ -1101,8 +1101,9 @@ public class BaseFullWebappController extends BasicController implements ChiefCo LanguageChangedEvent lce = (LanguageChangedEvent)event; getTranslator().setLocale(lce.getNewLocale()); initialize(lce.getCurrentUreq()); - initialPanel.popContent(); - initialPanel.pushContent(mainVc); + //TODO + //initialPanel.popContent(); + //initialPanel.pushContent(mainVc); } else if (event instanceof ChiefControllerMessageEvent) { // msg can be set to show only on one node or on all nodes String msg = GlobalStickyMessage.getGlobalStickyMessage();//either null, or the global message or the per-node-message diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorViewQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorViewQueries.java index f1e590e99c6107af212fb04290c28f1fa55de423..83d3496563c237c278757e7cc1420b084c51a651 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorViewQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorViewQueries.java @@ -33,6 +33,7 @@ import org.olat.core.id.Identity; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; +import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryAuthorView; import org.olat.repository.RepositoryEntryRef; import org.olat.repository.model.SearchAuthorRepositoryEntryViewParams; @@ -118,11 +119,20 @@ public class RepositoryEntryAuthorViewQueries { sb.append(" where v.identityKey=:identityKey "); //only my entries as author - sb.append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=v.identityKey") - .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" )"); - + if(params.isOwnedResourcesOnly()) { + sb.append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership") + .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=v.identityKey") + .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") + .append(" )"); + } else { + sb.append(" and (v.access>=").append(RepositoryEntry.ACC_OWNERS_AUTHORS) + .append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS) + .append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership") + .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=v.identityKey") + .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") + .append(" )") + .append(" ))"); + } if(params.getRepoEntryKeys() != null && params.getRepoEntryKeys().size() > 0) { sb.append(" and v.key in (:repoEntryKeys)"); diff --git a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java index 30928562dd425286100ae0a373e072b3d71ed194..2c863a28487ca25070d3c4d7347e927cdf92b987 100644 --- a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java +++ b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java @@ -36,6 +36,7 @@ public class SearchAuthorRepositoryEntryViewParams { private final Roles roles; private Boolean marked; + private boolean ownedResourcesOnly; private String idAndRefs; private String author; @@ -60,6 +61,14 @@ public class SearchAuthorRepositoryEntryViewParams { this.idAndRefs = idAndRefs; } + public boolean isOwnedResourcesOnly() { + return ownedResourcesOnly; + } + + public void setOwnedResourcesOnly(boolean ownedResourcesOnly) { + this.ownedResourcesOnly = ownedResourcesOnly; + } + public String getAuthor() { return author; } diff --git a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java index 4f7e13167def2e045f28a4586378b36d8ff38de8..fbd982fe30b04655f24e1bd5dcdc3d3d65cc624e 100644 --- a/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java +++ b/src/main/java/org/olat/repository/ui/author/OverviewAuthoringController.java @@ -141,6 +141,7 @@ public class OverviewAuthoringController extends BasicController implements Acti SearchAuthorRepositoryEntryViewParams searchParams = new SearchAuthorRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); searchParams.setMarked(Boolean.TRUE); + searchParams.setOwnedResourcesOnly(false); OLATResourceable ores = OresHelper.createOLATResourceableInstance("Favorits", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); @@ -158,6 +159,7 @@ public class OverviewAuthoringController extends BasicController implements Acti if(myEntriesCtrl == null) { SearchAuthorRepositoryEntryViewParams searchParams = new SearchAuthorRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); + searchParams.setOwnedResourcesOnly(true); OLATResourceable ores = OresHelper.createOLATResourceableInstance("My", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); @@ -175,6 +177,7 @@ public class OverviewAuthoringController extends BasicController implements Acti if(searchEntriesCtrl == null) { SearchAuthorRepositoryEntryViewParams searchParams = new SearchAuthorRepositoryEntryViewParams(getIdentity(), ureq.getUserSession().getRoles()); + searchParams.setOwnedResourcesOnly(false); OLATResourceable ores = OresHelper.createOLATResourceableInstance("Search", 0l); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores));