diff --git a/src/main/java/org/olat/modules/webFeed/portfolio/EPCreateLiveBlogArtefactStep00.java b/src/main/java/org/olat/modules/webFeed/portfolio/EPCreateLiveBlogArtefactStep00.java index e63b4e30c0d5f68e2df975adb8283bddab9d24b6..49d23f16c48cf32cf2d31c429b2dce703c691a22 100644 --- a/src/main/java/org/olat/modules/webFeed/portfolio/EPCreateLiveBlogArtefactStep00.java +++ b/src/main/java/org/olat/modules/webFeed/portfolio/EPCreateLiveBlogArtefactStep00.java @@ -26,6 +26,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.generic.wizard.StepFormController; import org.olat.core.gui.control.generic.wizard.StepsRunContext; import org.olat.portfolio.model.artefacts.AbstractArtefact; +import org.olat.portfolio.model.structel.PortfolioStructure; import org.olat.portfolio.ui.artefacts.collect.EPCollectStep00; /** @@ -40,10 +41,12 @@ import org.olat.portfolio.ui.artefacts.collect.EPCollectStep00; public class EPCreateLiveBlogArtefactStep00 extends EPCollectStep00 { private AbstractArtefact artefact; + private final PortfolioStructure preSelectedStruct; - public EPCreateLiveBlogArtefactStep00(UserRequest ureq, AbstractArtefact artefact) { + public EPCreateLiveBlogArtefactStep00(UserRequest ureq, PortfolioStructure preSelectedStruct, AbstractArtefact artefact) { super(ureq, artefact); this.artefact = artefact; + this.preSelectedStruct = preSelectedStruct; } /** @@ -51,6 +54,10 @@ public class EPCreateLiveBlogArtefactStep00 extends EPCollectStep00 { */ @Override public StepFormController getStepController(UserRequest ureq, WindowControl windowControl, StepsRunContext stepsRunContext, Form form) { + if(preSelectedStruct != null) { + stepsRunContext.put("preSelectedStructure", preSelectedStruct); + } + StepFormController stepI = new EPCreateLiveBlogArtefactStepForm00(ureq, windowControl, form, stepsRunContext, FormBasicController.LAYOUT_DEFAULT, null, artefact); return stepI; diff --git a/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java b/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java index 0fa803d2242cf066e9696aee81950685cac2a48a..ec00a6d86747f3b0c5dff96e4ae92ef37a4a82a4 100755 --- a/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java +++ b/src/main/java/org/olat/portfolio/ui/EPArtefactPoolRunController.java @@ -44,6 +44,7 @@ import org.olat.portfolio.PortfolioModule; import org.olat.portfolio.manager.EPFrontendManager; import org.olat.portfolio.model.EPFilterSettings; import org.olat.portfolio.model.artefacts.AbstractArtefact; +import org.olat.portfolio.model.structel.PortfolioStructure; import org.olat.portfolio.ui.artefacts.collect.EPAddArtefactController; import org.olat.portfolio.ui.artefacts.view.EPArtefactChoosenEvent; import org.olat.portfolio.ui.artefacts.view.EPArtefactDeletedEvent; @@ -69,7 +70,7 @@ public class EPArtefactPoolRunController extends BasicController implements Acti private VelocityContainer vC; private EPFrontendManager ePFMgr; private EPFilterSettings filterSettings = new EPFilterSettings(); - private Controller addArtefactCtrl; + private EPAddArtefactController addArtefactCtrl; private boolean artefactChooseMode; private SegmentViewComponent segmentView; private Link artefactsLink; @@ -81,6 +82,8 @@ public class EPArtefactPoolRunController extends BasicController implements Acti private EPMultiArtefactsController artCtrl; private String previousViewMode; private List<AbstractArtefact> previousArtefactsList; + + private PortfolioStructure preSelectedStruct; public EPArtefactPoolRunController(UserRequest ureq, WindowControl wControl) { this(ureq, wControl, false); @@ -213,6 +216,17 @@ public class EPArtefactPoolRunController extends BasicController implements Acti vC.put("viewMode", viewModeCtrl.getInitialComponent()); } + public PortfolioStructure getPreSelectedStruct() { + return preSelectedStruct; + } + + public void setPreSelectedStruct(PortfolioStructure preSelectedStruct) { + this.preSelectedStruct = preSelectedStruct; + if(addArtefactCtrl != null) { + addArtefactCtrl.setPreSelectedStruct(preSelectedStruct); + } + } + @Override protected void doDispose() { // ctrls disposed by basicCtrl due to listenTo()'s diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPAddArtefactController.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPAddArtefactController.java index 517416b788cd9d0d298ff754a2ebffd35c1e6041..334e51842601990f778ceff24e3aca00e07aa513 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPAddArtefactController.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPAddArtefactController.java @@ -44,6 +44,7 @@ import org.olat.portfolio.manager.EPFrontendManager; import org.olat.portfolio.model.artefacts.AbstractArtefact; import org.olat.portfolio.model.artefacts.EPTextArtefact; import org.olat.portfolio.model.artefacts.FileArtefact; +import org.olat.portfolio.model.structel.PortfolioStructure; /** * Description:<br> @@ -70,6 +71,8 @@ public class EPAddArtefactController extends BasicController { private VFSContainer vfsTemp; private VelocityContainer addLinkVC; private CloseableCalloutWindowController calloutCtr; + + private PortfolioStructure preSelectedStruct; public EPAddArtefactController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); @@ -113,6 +116,14 @@ public class EPAddArtefactController extends BasicController { calloutCtr.activate(); } + public PortfolioStructure getPreSelectedStruct() { + return preSelectedStruct; + } + + public void setPreSelectedStruct(PortfolioStructure preSelectedStruct) { + this.preSelectedStruct = preSelectedStruct; + } + private void closeAddLinkPopup(){ if (calloutCtr != null) { calloutCtr.deactivate(); @@ -190,7 +201,7 @@ public class EPAddArtefactController extends BasicController { artefact1.setSignature(-20); vfsTemp = ePFMgr.getArtefactsTempContainer(getIdentity()); - Step start = new EPCreateTextArtefactStep00(ureq, artefact1, vfsTemp); + Step start = new EPCreateTextArtefactStep00(ureq, artefact1, preSelectedStruct, vfsTemp); StepRunnerCallback finish = new EPArtefactWizzardStepCallback(vfsTemp); collectStepsCtrl = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("create.text.artefact.wizzard.title"), "o_sel_artefact_add_wizard o_sel_artefact_add_text_wizard"); @@ -213,7 +224,7 @@ public class EPAddArtefactController extends BasicController { artefact1.setSignature(-30); vfsTemp = ePFMgr.getArtefactsTempContainer(getIdentity()); - Step start = new EPCreateFileArtefactStep00(ureq, artefact1, vfsTemp); + Step start = new EPCreateFileArtefactStep00(ureq, artefact1, preSelectedStruct, vfsTemp); StepRunnerCallback finish = new EPArtefactWizzardStepCallback(vfsTemp); collectStepsCtrl = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("create.file.artefact.wizzard.title"), "o_sel_artefact_add_wizard o_sel_artefact_add_file_wizard"); @@ -228,7 +239,7 @@ public class EPAddArtefactController extends BasicController { artefact1.setCollectionDate(new Date()); artefact1.setSignature(60); // preset as signed by 60% - Step start = new EPCreateLiveBlogArtefactStep00(ureq, artefact1); + Step start = new EPCreateLiveBlogArtefactStep00(ureq, preSelectedStruct, artefact1); StepRunnerCallback finish = new EPArtefactWizzardStepCallback(); // no vfsTemp!, blog doesn't need a directory collectStepsCtrl = new StepsMainRunController(ureq, getWindowControl(), start, finish, null, translate("create.blog.artefact.wizzard.title"), "o_sel_artefact_add_wizard o_sel_artefact_add_blog_wizard"); diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep01.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep01.java index 755ad37b6b14587de7c39aa97efa2863b224336e..60cf573514f4ae9a19bbcdabde68932893f6f63a 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep01.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep01.java @@ -57,7 +57,7 @@ public class EPCollectStep01 extends BasicStep { //signature > 0 means, collection wizard can be sure its from OLAT, < 0 means get an approval by user (the target value is the negative one) if (!portfolioModule.isCopyrightStepEnabled() && !portfolioModule.isReflexionStepEnabled()){ // skip copyright AND reflexion step - setNextStep(new EPCollectStep04(ureq, artefact)); + setNextStep(new EPCollectStep04(ureq)); } else if (artefact.getSignature() > 0 || !portfolioModule.isCopyrightStepEnabled()){ setNextStep(new EPCollectStep03(ureq, artefact)); } else if (portfolioModule.isCopyrightStepEnabled() ){ diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep02.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep02.java index f287fe11f956c6b31e01df3fd48d8db23f870538..fcfb38459037353afe7a1aa35a176b3721496fc2 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep02.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep02.java @@ -51,7 +51,7 @@ public class EPCollectStep02 extends BasicStep { PortfolioModule portfolioModule = (PortfolioModule) CoreSpringFactory.getBean("portfolioModule"); if (!portfolioModule.isCopyrightStepEnabled() && !portfolioModule.isReflexionStepEnabled()){ // skip copyright AND reflexion step - setNextStep(new EPCollectStep04(ureq, artefact)); + setNextStep(new EPCollectStep04(ureq)); } else { setNextStep(new EPCollectStep03(ureq, artefact)); } diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep03.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep03.java index 1be1d9c1f4455ffb7c70418d4bda8b1c66004a8a..8811d3963597e0fb61810038321a85be2e71befc 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep03.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep03.java @@ -55,7 +55,7 @@ public class EPCollectStep03 extends BasicStep { List<PortfolioStructure> structs = ePFMgr.getStructureElementsForUser(getIdentity()); this.hasNextStep = false; if (structs != null && structs.size() != 0) { - setNextStep(new EPCollectStep04(ureq, artefact)); + setNextStep(new EPCollectStep04(ureq)); hasNextStep = true; } else { setNextStep(NOSTEP); diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep04.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep04.java index 23a749e7c00dc11f6a86496f7b4d6db07e30e226..447732859fcb03751e37bfa7cf55ecd7384cd749 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep04.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStep04.java @@ -32,7 +32,6 @@ import org.olat.core.gui.control.generic.wizard.BasicStep; import org.olat.core.gui.control.generic.wizard.PrevNextFinishConfig; import org.olat.core.gui.control.generic.wizard.StepFormController; import org.olat.core.gui.control.generic.wizard.StepsRunContext; -import org.olat.portfolio.model.artefacts.AbstractArtefact; /** * Description:<br> @@ -44,11 +43,8 @@ import org.olat.portfolio.model.artefacts.AbstractArtefact; */ public class EPCollectStep04 extends BasicStep { - private AbstractArtefact artefact; - - public EPCollectStep04(UserRequest ureq, AbstractArtefact artefact) { + public EPCollectStep04(UserRequest ureq) { super(ureq); - this.artefact = artefact; setNextStep(NOSTEP); setI18nTitleAndDescr("step4.description", "step4.short.descr"); } @@ -66,7 +62,7 @@ public class EPCollectStep04 extends BasicStep { */ @Override public StepFormController getStepController(UserRequest ureq, WindowControl windowControl, StepsRunContext stepsRunContext, Form form) { - StepFormController stepI = new EPCollectStepForm04(ureq, windowControl, form, stepsRunContext, FormBasicController.LAYOUT_CUSTOM, null, artefact); + StepFormController stepI = new EPCollectStepForm04(ureq, windowControl, form, stepsRunContext, FormBasicController.LAYOUT_CUSTOM); return stepI; } diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm04.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm04.java index a78a52216522a5d0493e7cc9ba0fff2696d39cb4..b48a3dd4161412bed092f141591fcf4a4534d320 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm04.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm04.java @@ -26,7 +26,6 @@ import org.json.JSONException; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; import org.olat.core.gui.components.form.flexible.impl.Form; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -66,12 +65,13 @@ public class EPCollectStepForm04 extends StepFormBasicController { private PortfolioStructure selectedPortfolioStructure; private AbstractArtefact artefact; private PortfolioStructure oldStructure; + private PortfolioStructure preSelectedStructure; - public EPCollectStepForm04(UserRequest ureq, WindowControl wControl, Form rootForm, StepsRunContext runContext, int layout, - String customLayoutPageName, AbstractArtefact artefact) { + public EPCollectStepForm04(UserRequest ureq, WindowControl wControl, Form rootForm, StepsRunContext runContext, int layout) { super(ureq, wControl, rootForm, runContext, layout, "step04selectmap"); ePFMgr = (EPFrontendManager) CoreSpringFactory.getBean("epFrontendManager"); - initForm(this.flc, this, ureq); + preSelectedStructure = (PortfolioStructure)runContext.get("preSelectedStructure"); + initForm(flc, this, ureq); } public EPCollectStepForm04(UserRequest ureq, WindowControl wControl, AbstractArtefact artefact, PortfolioStructure oldStructure) { @@ -97,7 +97,12 @@ public class EPCollectStepForm04 extends StepFormBasicController { listenTo(mapsTreeController); // find last used structure and preselect - PortfolioStructure lastStruct = ePFMgr.getUsersLastUsedPortfolioStructure(getIdentity()); + PortfolioStructure lastStruct; + if(preSelectedStructure == null) { + lastStruct = ePFMgr.getUsersLastUsedPortfolioStructure(getIdentity()); + } else { + lastStruct = preSelectedStructure; + } if (lastStruct != null) { mapsTreeController.selectPath("/" + ROOT_NODE_IDENTIFIER + getPath(lastStruct)); selectedPortfolioStructure = lastStruct; diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateFileArtefactStep00.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateFileArtefactStep00.java index 2cef177a4754206e07ed3246bf34cc9c44f4b200..51a6d8809611a65cbbfd25dc6efabd300441aa2c 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateFileArtefactStep00.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateFileArtefactStep00.java @@ -29,6 +29,7 @@ import org.olat.core.gui.control.generic.wizard.StepFormController; import org.olat.core.gui.control.generic.wizard.StepsRunContext; import org.olat.core.util.vfs.VFSContainer; import org.olat.portfolio.model.artefacts.AbstractArtefact; +import org.olat.portfolio.model.structel.PortfolioStructure; /** * Description:<br> @@ -42,11 +43,14 @@ public class EPCreateFileArtefactStep00 extends BasicStep { private VFSContainer vfsTemp; private AbstractArtefact artefact; + private final PortfolioStructure preSelectedStruct; - public EPCreateFileArtefactStep00(UserRequest ureq, AbstractArtefact artefact, VFSContainer vfsTemp) { + public EPCreateFileArtefactStep00(UserRequest ureq, AbstractArtefact artefact, PortfolioStructure preSelectedStruct, + VFSContainer vfsTemp) { super(ureq); this.vfsTemp = vfsTemp; this.artefact = artefact; + this.preSelectedStruct = preSelectedStruct; setI18nTitleAndDescr("step0.file.description", "step0.file.short.descr"); setNextStep(new EPCollectStep00(ureq, artefact)); } @@ -64,6 +68,10 @@ public class EPCreateFileArtefactStep00 extends BasicStep { */ @Override public StepFormController getStepController(UserRequest ureq, WindowControl windowControl, StepsRunContext stepsRunContext, Form form) { + if(preSelectedStruct != null) { + stepsRunContext.put("preSelectedStructure", preSelectedStruct); + } + StepFormController stepI = new EPCreateFileArtefactStepForm00(ureq, windowControl, form, stepsRunContext, FormBasicController.LAYOUT_DEFAULT, null, artefact, vfsTemp); return stepI; diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateTextArtefactStep00.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateTextArtefactStep00.java index 8ef62c8703ce1aae32c9d0c10d25058ca1b4776c..9957e3b64167351a2b70d58fad90848b45fd24e6 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateTextArtefactStep00.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCreateTextArtefactStep00.java @@ -29,6 +29,7 @@ import org.olat.core.gui.control.generic.wizard.StepFormController; import org.olat.core.gui.control.generic.wizard.StepsRunContext; import org.olat.core.util.vfs.VFSContainer; import org.olat.portfolio.model.artefacts.AbstractArtefact; +import org.olat.portfolio.model.structel.PortfolioStructure; /** * Description:<br> @@ -41,13 +42,16 @@ import org.olat.portfolio.model.artefacts.AbstractArtefact; */ public class EPCreateTextArtefactStep00 extends BasicStep { - private AbstractArtefact artefact; - private VFSContainer vfsTemp; + private final AbstractArtefact artefact; + private final VFSContainer vfsTemp; + private final PortfolioStructure preSelectedStruct; - public EPCreateTextArtefactStep00(UserRequest ureq, AbstractArtefact artefact, VFSContainer vfsTemp) { + public EPCreateTextArtefactStep00(UserRequest ureq, AbstractArtefact artefact, PortfolioStructure preSelectedStruct, + VFSContainer vfsTemp) { super(ureq); this.vfsTemp = vfsTemp; this.artefact = artefact; + this.preSelectedStruct = preSelectedStruct; setI18nTitleAndDescr("step0.text.description", "step0.text.short.descr"); setNextStep(new EPCollectStep00(ureq, artefact)); } @@ -59,6 +63,10 @@ public class EPCreateTextArtefactStep00 extends BasicStep { @Override public StepFormController getStepController(UserRequest ureq, WindowControl windowControl, StepsRunContext stepsRunContext, Form form) { + if(preSelectedStruct != null) { + stepsRunContext.put("preSelectedStructure", preSelectedStruct); + } + StepFormController stepI = new EPCreateTextArtefactStepForm00(ureq, windowControl, form, stepsRunContext, FormBasicController.LAYOUT_DEFAULT, null, artefact, vfsTemp); return stepI; diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java b/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java index 86c930dcf130b07fb95d580cd20c581ac1d8b090..51d27fd01339df0cd3a1c83786b2a0e5ceac1a03 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/EPAddElementsController.java @@ -78,7 +78,7 @@ public class EPAddElementsController extends BasicController { }; private final Map<String, Boolean> typeMap = new HashMap<String, Boolean>(); private CloseableModalController artefactBox; - private Controller artefactPoolCtrl; + private EPArtefactPoolRunController artefactPoolCtrl; private Link linkArtefactLink; private String activeType; @@ -188,7 +188,8 @@ public class EPAddElementsController extends BasicController { listenTo(artefactPoolCtrl); } artefactBox = new CloseableModalController(getWindowControl(),"close",artefactPoolCtrl.getInitialComponent(),true, translate("choose.artefact.title")); - + artefactPoolCtrl.setPreSelectedStruct(portfolioStructure); + listenTo(artefactBox); artefactBox.activate(); }