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

Merge OpenOLAT 9.4 to OpenOLAT 10.0 with 85eadbba42e21908b28a7bc8038cf7d37c2b4bee

parents c03426f0 593dfd0b
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@
*/
package org.olat.core.commons.controllers.resume;
import java.util.List;
import org.olat.NewControllerFactory;
import org.olat.admin.landingpages.LandingPagesModule;
import org.olat.admin.landingpages.model.Rules;
......@@ -39,6 +41,7 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.id.context.BusinessControl;
import org.olat.core.id.context.BusinessControlFactory;
import org.olat.core.id.context.ContextEntry;
import org.olat.core.id.context.HistoryManager;
import org.olat.core.id.context.HistoryModule;
import org.olat.core.id.context.HistoryPoint;
......@@ -120,7 +123,8 @@ public class ResumeController extends FormBasicController implements SupportsAft
} else if ("auto".equals(resumePrefs)) {
HistoryPoint historyEntry = HistoryManager.getInstance().readHistoryPoint(ureq.getIdentity());
if(historyEntry != null && StringHelper.containsNonWhitespace(historyEntry.getBusinessPath())) {
BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(historyEntry.getEntries());
List<ContextEntry> cloneCes = BusinessControlFactory.getInstance().cloneContextEntries(historyEntry.getEntries());
BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(cloneCes);
launch(ureq, bc);
} else {
String bc = getLandingBC(ureq);
......@@ -179,7 +183,8 @@ public class ResumeController extends FormBasicController implements SupportsAft
HistoryPoint historyEntry = historyManager.readHistoryPoint(ureq.getIdentity());
if(historyEntry != null && StringHelper.containsNonWhitespace(historyEntry.getBusinessPath())) {
BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(historyEntry.getEntries());
List<ContextEntry> cloneCes = BusinessControlFactory.getInstance().cloneContextEntries(historyEntry.getEntries());
BusinessControl bc = BusinessControlFactory.getInstance().createFromContextEntries(cloneCes);
WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(bc, getWindowControl());
try {
//make the resume secure. If something fail, don't generate a red screen
......
......@@ -271,7 +271,15 @@ public class BusinessControlFactory {
return createFromContextEntries(ces);
}
//fxdiff BAKS-7 Resume function
public List<ContextEntry> cloneContextEntries(final List<ContextEntry> ces) {
final List<ContextEntry> clones = new ArrayList<ContextEntry>(ces.size());
for(ContextEntry ce:ces) {
OLATResourceable clone = OresHelper.clone(ce.getOLATResourceable());
clones.add(new MyContextEntry(clone));
}
return clones;
}
public BusinessControl createFromContextEntries(final List<ContextEntry> ces) {
ContextEntry rootEntry = null;
if (ces.isEmpty() || ((rootEntry = ces.get(0))==null)) {
......
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