From 41deb200438af43ee7bd1642f03e843e69f6c351 Mon Sep 17 00:00:00 2001 From: Tom Desair Date: Mon, 9 Jan 2017 22:53:52 +0100 Subject: [PATCH] DS-3446: Remove policies only after the bitstream has been updated (otherwise the current user has not WRITE rights) --- .../main/java/org/dspace/content/BitstreamServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index f2e9658699..8b454fc8fd 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -254,13 +254,13 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp bundle.getBitstreams().remove(bitstream); } - // Remove policies - authorizeService.removeAllPolicies(context, bitstream); - // Remove bitstream itself bitstream.setDeleted(true); update(context, bitstream); + // Remove policies only after the bitstream has been updated (otherwise the current user has not WRITE rights) + authorizeService.removeAllPolicies(context, bitstream); + //Remove all bundles from the bitstream object, clearing the connection in 2 ways bundles.clear(); }