mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-13 21:13:19 +00:00
Merge pull request #1221 from atmire/DS-2945
DS-2945 Submitting to a collection without any workflow as normal user ends in an Exception
This commit is contained in:
@@ -17,7 +17,6 @@ import org.dspace.authorize.ResourcePolicy;
|
|||||||
import org.dspace.authorize.service.AuthorizeService;
|
import org.dspace.authorize.service.AuthorizeService;
|
||||||
import org.dspace.authorize.service.ResourcePolicyService;
|
import org.dspace.authorize.service.ResourcePolicyService;
|
||||||
import org.dspace.content.authority.Choices;
|
import org.dspace.content.authority.Choices;
|
||||||
import org.dspace.content.authority.service.ChoiceAuthorityService;
|
|
||||||
import org.dspace.content.dao.ItemDAO;
|
import org.dspace.content.dao.ItemDAO;
|
||||||
import org.dspace.content.service.*;
|
import org.dspace.content.service.*;
|
||||||
import org.dspace.core.Constants;
|
import org.dspace.core.Constants;
|
||||||
@@ -747,13 +746,14 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl<Item> implements It
|
|||||||
+ " has no default item READ policies");
|
+ " has no default item READ policies");
|
||||||
}
|
}
|
||||||
|
|
||||||
// if come from InstallItem: remove all submission/workflow policies
|
|
||||||
authorizeService.removeAllPoliciesByDSOAndType(context, item, ResourcePolicy.TYPE_SUBMISSION);
|
|
||||||
authorizeService.removeAllPoliciesByDSOAndType(context, item, ResourcePolicy.TYPE_WORKFLOW);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//We just removed all policies so only an admin will be able to add additional policies, ignore the authorizations for now.
|
//ignore the authorizations for now.
|
||||||
context.turnOffAuthorisationSystem();
|
context.turnOffAuthorisationSystem();
|
||||||
|
|
||||||
|
// if come from InstallItem: remove all submission/workflow policies
|
||||||
|
authorizeService.removeAllPoliciesByDSOAndType(context, item, ResourcePolicy.TYPE_SUBMISSION);
|
||||||
|
authorizeService.removeAllPoliciesByDSOAndType(context, item, ResourcePolicy.TYPE_WORKFLOW);
|
||||||
|
|
||||||
// add default policies only if not already in place
|
// add default policies only if not already in place
|
||||||
List<ResourcePolicy> policiesToAdd = filterPoliciesToAdd(context, defaultCollectionPolicies, item);
|
List<ResourcePolicy> policiesToAdd = filterPoliciesToAdd(context, defaultCollectionPolicies, item);
|
||||||
authorizeService.addPolicies(context, policiesToAdd, item);
|
authorizeService.addPolicies(context, policiesToAdd, item);
|
||||||
|
Reference in New Issue
Block a user