From 3f51dd76c83bdcaa4780c3e4e181c0b9a94956b5 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 16 Apr 2018 09:45:46 +0200 Subject: [PATCH] OO-3425: in the publish process, delete the offer and not the offer access as in the access configuration panel --- .../editor/CourseAccessAndProperties.java | 11 ++++++----- .../org/olat/course/editor/PublishProcess.java | 6 +++--- .../course/editor/PublishStep01AccessForm.java | 18 +++++++++--------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/olat/course/editor/CourseAccessAndProperties.java b/src/main/java/org/olat/course/editor/CourseAccessAndProperties.java index 39f4d5c76bb..e824947d118 100644 --- a/src/main/java/org/olat/course/editor/CourseAccessAndProperties.java +++ b/src/main/java/org/olat/course/editor/CourseAccessAndProperties.java @@ -23,6 +23,7 @@ import java.util.List; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryAllowToLeaveOptions; +import org.olat.resource.accesscontrol.Offer; import org.olat.resource.accesscontrol.OfferAccess; /** * @@ -40,7 +41,7 @@ public class CourseAccessAndProperties { private Boolean confirmationEmail; private List<OfferAccess> offerAccess; - private List<OfferAccess> deletedOfferAccess; + private List<Offer> deletedOffer; public CourseAccessAndProperties(RepositoryEntry re) { this.repoEntry = re; @@ -65,12 +66,12 @@ public class CourseAccessAndProperties { this.offerAccess = offerAccess; } - public List<OfferAccess> getDeletedOfferAccess() { - return deletedOfferAccess; + public List<Offer> getDeletedOffer() { + return deletedOffer; } - public void setDeletedOfferAccess(List<OfferAccess> deletedOfferAccess) { - this.deletedOfferAccess = deletedOfferAccess; + public void setDeletedOffer(List<Offer> deletedOffer) { + this.deletedOffer = deletedOffer; } public RepositoryEntry getRepositoryEntry() { diff --git a/src/main/java/org/olat/course/editor/PublishProcess.java b/src/main/java/org/olat/course/editor/PublishProcess.java index 6446b40e37c..9e2457ed5d1 100644 --- a/src/main/java/org/olat/course/editor/PublishProcess.java +++ b/src/main/java/org/olat/course/editor/PublishProcess.java @@ -732,9 +732,9 @@ public class PublishProcess { acService.saveOfferAccess(newLink); } // 2: remove offerings not available anymore - List<OfferAccess> deletedOfferAccess = accessAndProps.getDeletedOfferAccess(); - for (OfferAccess deletedLink : deletedOfferAccess) { - acService.deletedLinkToMethod(deletedLink); + List<Offer> deletedOffers = accessAndProps.getDeletedOffer(); + for (Offer deletedOffer : deletedOffers) { + acService.deleteOffer(deletedOffer); } MultiUserEvent modifiedEvent = new EntryChangedEvent(repositoryEntry, author, Change.modifiedAtPublish, "publish"); diff --git a/src/main/java/org/olat/course/editor/PublishStep01AccessForm.java b/src/main/java/org/olat/course/editor/PublishStep01AccessForm.java index 71014ca9b89..43e9d1c14e4 100644 --- a/src/main/java/org/olat/course/editor/PublishStep01AccessForm.java +++ b/src/main/java/org/olat/course/editor/PublishStep01AccessForm.java @@ -110,7 +110,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { private MultipleSelectionElement confirmationEmailEl; private List<FormLink> addMethods = new ArrayList<>(); private List<OfferAccess> offerAccess = new ArrayList<>(); - private List<OfferAccess> deletedOfferAccess = new ArrayList<>(); + private List<Offer> deletedOffer = new ArrayList<>(); private final String displayName; private CloseableModalController cmc; @@ -119,7 +119,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { private final List<AccessInfo> confControllers = new ArrayList<>(); - private int button_id; + private int buttonId; private final boolean emptyConfigGrantsFullAccess; private boolean allowPaymentMethod; private final boolean editable; @@ -147,7 +147,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { displayName = entry.getDisplayname(); resource = entry.getOlatResource(); emptyConfigGrantsFullAccess = true; - button_id = 0; + buttonId = 0; editable = !RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.bookings); formatter = Formatter.getInstance(getLocale()); @@ -173,7 +173,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { canCopy.isSelected(0), canReference.isSelected(0), canDownload.isSelected(0)); accessProperties.setOfferAccess(offerAccess); - accessProperties.setDeletedOfferAccess(deletedOfferAccess); + accessProperties.setDeletedOffer(deletedOffer); if(confirmationEmailEl.isVisible()) { accessProperties.setConfirmationEmail(confirmationEmailEl.isAtLeastSelected(1)); } else { @@ -349,7 +349,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { for(Offer offer:offers) { List<OfferAccess> offerAccessList = acService.getOfferAccess(offer, true); for(OfferAccess access:offerAccessList) { - button_id++; + buttonId++; addConfiguration(access); } } @@ -358,7 +358,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { protected void addConfiguration(OfferAccess link) { AccessMethodHandler methodHandler = acModule.getAccessMethodHandler(link.getMethod().getType()); AccessInfo infos = new AccessInfo(methodHandler.getMethodName(getLocale()), methodHandler.isPaymentMethod(), null, link); - infos.setButtonId(button_id); + infos.setButtonId(buttonId); confControllers.add(infos); if(editable) { @@ -546,8 +546,8 @@ public class PublishStep01AccessForm extends StepFormBasicController { AccessInfo infos = (AccessInfo)source.getUserObject(); OfferAccess deleteOffer = infos.getLink(); offerAccess.remove(deleteOffer); - if (deleteOffer.getKey() != null) { - deletedOfferAccess.add(deleteOffer); + if (deleteOffer.getKey() != null && deleteOffer.getOffer() != null && deleteOffer.getOffer().getKey() != null) { + deletedOffer.add(deleteOffer.getOffer()); } confControllers.remove(infos); updateConfirmationEmail(); @@ -564,7 +564,7 @@ public class PublishStep01AccessForm extends StepFormBasicController { if(newMethodCtrl == source) { if(event.equals(Event.DONE_EVENT)) { OfferAccess newLink = newMethodCtrl.commitChanges(); - button_id++; + buttonId++; if (!offerAccess.contains(newLink)) { offerAccess.add(newLink); } -- GitLab