Skip to content
Snippets Groups Projects
Commit 942d88af authored by srosse's avatar srosse
Browse files

OO-2680: reopen as 2 meaning, change the close status to inProgress or change...

OO-2680: reopen as 2 meaning, change the close status to inProgress or change the begin / end date of the section
parent 94075313
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,7 @@ package org.olat.modules.portfolio.ui; ...@@ -21,6 +21,7 @@ package org.olat.modules.portfolio.ui;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -44,6 +45,7 @@ import org.olat.core.gui.components.link.Link; ...@@ -44,6 +45,7 @@ import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
import org.olat.core.util.StringHelper; import org.olat.core.util.StringHelper;
...@@ -88,6 +90,9 @@ public class BinderAssessmentController extends FormBasicController { ...@@ -88,6 +90,9 @@ public class BinderAssessmentController extends FormBasicController {
private FormLink saveAndDoneLink, reopenLink; private FormLink saveAndDoneLink, reopenLink;
private BinderAssessmentDataModel model; private BinderAssessmentDataModel model;
private CloseableModalController cmc;
private SectionDatesEditController editSectionDatesCtrl;
private boolean withScore; private boolean withScore;
private boolean withPassed; private boolean withPassed;
...@@ -238,6 +243,29 @@ public class BinderAssessmentController extends FormBasicController { ...@@ -238,6 +243,29 @@ public class BinderAssessmentController extends FormBasicController {
protected void doDispose() { protected void doDispose() {
// //
} }
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if(editSectionDatesCtrl == source) {
if(event == Event.DONE_EVENT) {
loadModel();
}
cmc.deactivate();
cleanUp();
} else if(cmc == source) {
cleanUp();
}
super.event(ureq, source, event);
}
private void cleanUp() {
removeAsListenerAndDispose(editSectionDatesCtrl);
removeAsListenerAndDispose(cmc);
editSectionDatesCtrl = null;
cmc = null;
}
@Override @Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
...@@ -260,7 +288,7 @@ public class BinderAssessmentController extends FormBasicController { ...@@ -260,7 +288,7 @@ public class BinderAssessmentController extends FormBasicController {
fireEvent(ureq, Event.CHANGED_EVENT); fireEvent(ureq, Event.CHANGED_EVENT);
} else if("reopen".equals(cmd)) { } else if("reopen".equals(cmd)) {
AssessmentSectionWrapper row = (AssessmentSectionWrapper)button.getUserObject(); AssessmentSectionWrapper row = (AssessmentSectionWrapper)button.getUserObject();
doReopen(row.getSection()); doReopen(ureq, row.getSection());
loadModel(); loadModel();
fireEvent(ureq, Event.CHANGED_EVENT); fireEvent(ureq, Event.CHANGED_EVENT);
} }
...@@ -310,10 +338,20 @@ public class BinderAssessmentController extends FormBasicController { ...@@ -310,10 +338,20 @@ public class BinderAssessmentController extends FormBasicController {
LoggingResourceable.wrap(section)); LoggingResourceable.wrap(section));
} }
private void doReopen(Section section) { private void doReopen(UserRequest ureq, Section section) {
portfolioService.changeSectionStatus(section, SectionStatus.inProgress, getIdentity()); if(section.getSectionStatus() != null && section.getSectionStatus().equals(SectionStatus.closed)) {
ThreadLocalUserActivityLogger.log(PortfolioLoggingAction.PORTFOLIO_SECTION_REOPEN, getClass(), portfolioService.changeSectionStatus(section, SectionStatus.inProgress, getIdentity());
LoggingResourceable.wrap(section)); ThreadLocalUserActivityLogger.log(PortfolioLoggingAction.PORTFOLIO_SECTION_REOPEN, getClass(),
LoggingResourceable.wrap(section));
} else if(section.getEndDate() != null && section.getEndDate().compareTo(new Date()) < 0) {
editSectionDatesCtrl = new SectionDatesEditController(ureq, getWindowControl(), section);
listenTo(editSectionDatesCtrl);
String title = translate("override.dates.section");
cmc = new CloseableModalController(getWindowControl(), null, editSectionDatesCtrl.getInitialComponent(), true, title, true);
listenTo(cmc);
cmc.activate();
}
} }
private void doReopenBinder() { private void doReopenBinder() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment