From 15d4c0b9e07a6636761f284f51bc63a2d1e23d2c Mon Sep 17 00:00:00 2001 From: Sascha Szott Date: Tue, 27 May 2025 19:45:42 +0200 Subject: [PATCH] use filter query to retrieve entity types with submit authorization --- .../org/dspace/content/EntityTypeServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java index b5b066d9c3..e131584f32 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java @@ -124,9 +124,11 @@ public class EntityTypeServiceImpl implements EntityTypeService { public List getSubmitAuthorizedTypes(Context context) throws SQLException, SolrServerException, IOException { List types = new ArrayList<>(); - StringBuilder query = new StringBuilder(); - org.dspace.eperson.EPerson currentUser = context.getCurrentUser(); + + SolrQuery sQuery = new SolrQuery("*:*"); if (!authorizeService.isAdmin(context)) { + StringBuilder query = new StringBuilder(); + org.dspace.eperson.EPerson currentUser = context.getCurrentUser(); String userId = ""; if (currentUser != null) { userId = currentUser.getID().toString(); @@ -137,11 +139,8 @@ public class EntityTypeServiceImpl implements EntityTypeService { query.append(" OR g").append(group.getID()); } query.append(")"); - } else { - query.append("*:*"); + sQuery.addFilterQuery(query.toString()); } - - SolrQuery sQuery = new SolrQuery(query.toString()); sQuery.addFilterQuery("search.resourcetype:" + IndexableCollection.TYPE); sQuery.setRows(0); sQuery.addFacetField("search.entitytype");