diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java index b1aba56d3dccc854091f179fa389495d4e101a14..ac72c676ce8d3859f2e324e5b071a7c4f239fad1 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/manager/OnlyOfficeServiceImpl.java @@ -293,7 +293,7 @@ public class OnlyOfficeServiceImpl implements OnlyOfficeService { if (licenseEdit.intValue() <= 0) return false; Long accessCount = documentEditorServie.getAccessCount(OnlyOfficeEditor.TYPE, Mode.EDIT); - return accessCount < licenseEdit.intValue(); + return accessCount <= licenseEdit.intValue(); } @Override diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/OnlyOfficeEditorController.java b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/OnlyOfficeEditorController.java index a838c432e4e6d128eaeff64dcb98c83c15d5d92e..13768de4941cb5395bbb7658728d2e9361243547 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/OnlyOfficeEditorController.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/OnlyOfficeEditorController.java @@ -30,6 +30,7 @@ import org.olat.core.commons.services.doceditor.onlyoffice.OnlyOfficeService; import org.olat.core.commons.services.vfs.VFSMetadata; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.Window; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -65,6 +66,8 @@ public class OnlyOfficeEditorController extends BasicController { final DocEditorConfigs configs, Access runAccess) { super(ureq, wControl); access = runAccess; + + wControl.getWindowBackOffice().getWindow().addListener(this); if (Mode.EDIT == access.getMode() && !onlyOfficeService.isEditLicenseAvailable()) { access = docEditorService.updateMode(access, Mode.VIEW); @@ -111,11 +114,14 @@ public class OnlyOfficeEditorController extends BasicController { putInitialPanel(mainVC); } - + @Override - protected void event(UserRequest ureq, Component source, Event event) { - // + public void event(UserRequest ureq, Component source, Event event) { + if(event == Window.CLOSE_WINDOW) { + deleteAccess(); + } } + @Override protected void doDispose() {