From 89e14cde02c25d1b0c3dc381762fcc2d9c62b7cd Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 17 Mar 2014 18:18:19 +0100 Subject: [PATCH] OO-1019: replace the link as a string with real FormLinks --- .../textboxlist/TextBoxListComponent.java | 2 - .../view/EPArtefactViewController.java | 40 +++++++++---------- .../view/_content/singleArtefact.html | 6 ++- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java index dfe16ba9c22..214de503c04 100644 --- a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java +++ b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java @@ -176,8 +176,6 @@ public abstract class TextBoxListComponent extends FormBaseComponentImpl { currentItems.put(caption, itemValue); } } - - System.out.println(cmd + " :: " + cleanedItemValues); if (logger.isDebug()) logger.debug("doDispatchRequest --> firing textBoxListEvent with current items: " + cleanedItemValues); diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewController.java b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewController.java index 6945b4d9a2c..965f3b87a1a 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewController.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewController.java @@ -26,7 +26,6 @@ package org.olat.portfolio.ui.artefacts.view; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -65,6 +64,7 @@ import org.olat.portfolio.model.structel.PortfolioStructure; import org.olat.portfolio.ui.artefacts.collect.EPCollectStepForm00; import org.olat.portfolio.ui.artefacts.collect.EPCollectStepForm03; import org.olat.portfolio.ui.artefacts.collect.EPReflexionChangeEvent; +import org.olat.resource.OLATResource; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -203,20 +203,15 @@ public class EPArtefactViewController extends FormBasicController { // get maps wherein this artefact is linked and create links to them List<PortfolioStructure> linkedMaps = ePFMgr.getReferencedMapsForArtefact(artefact); if (linkedMaps != null && linkedMaps.size() != 0) { - StringBuilder buf = new StringBuilder(); - for (Iterator<PortfolioStructure> iterator = linkedMaps.iterator(); iterator.hasNext();) { - PortfolioStructure ePMap = iterator.next(); - if (viewOnlyMode || artefactChooseMode){ - StringHelper.escapeHtml(ePMap.getTitle()); - buf.append(", "); - } else { - buf.append("<a href=\"").append(createLinkToMap(ePMap)).append("\">"); - StringHelper.escapeHtml(ePMap.getTitle()); - buf.append("</a>, "); - } + List<FormLink> selectMapNames = new ArrayList<FormLink>(linkedMaps.size()); + for (PortfolioStructure ePMap : linkedMaps) { + String title = StringHelper.escapeHtml(ePMap.getTitle()); + FormLink selectMap = uifactory.addFormLink("map", "map", title, null, formLayout, Link.NONTRANSLATED); + selectMap.setUserObject(ePMap.getOlatResource()); + selectMap.setEnabled(!viewOnlyMode && !artefactChooseMode); + selectMapNames.add(selectMap); } - String mapLinks = buf.toString(); - flc.contextPut("maps", mapLinks.substring(0, mapLinks.length() - 2)); + flc.contextPut("maps", selectMapNames); } // build link to original source @@ -276,13 +271,10 @@ public class EPArtefactViewController extends FormBasicController { flc.contextPut("artAttribConfig", attribConfig); } - private String createLinkToMap(PortfolioStructure ePMap) { - BusinessControlFactory bCF = BusinessControlFactory.getInstance(); - ContextEntry mapCE = bCF.createContextEntry(ePMap.getOlatResource()); - ArrayList<ContextEntry> cEList = new ArrayList<ContextEntry>(); - cEList.add(mapCE); - String busLink = bCF.getAsURIString(cEList, true); - return busLink; + private void doOpenLinkToMap(UserRequest ureq, OLATResource mapResource) { + String businessPath = "[" + mapResource.getResourceableTypeName() + ":" + + mapResource.getResourceableId() + "]"; + NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); } private String createLinkToArtefactSource(UserRequest ureq, String businessPath){ @@ -317,6 +309,12 @@ public class EPArtefactViewController extends FormBasicController { } else if(source == tblE){ List<String> actualTags = tblE.getValueList(); ePFMgr.setArtefactTags(getIdentity(), artefact, actualTags); + } else if(source instanceof FormLink) { + FormLink link = (FormLink)source; + if("map".equals(link.getCmd())) { + OLATResource map = (OLATResource)link.getUserObject(); + doOpenLinkToMap(ureq, map); + } } } diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/_content/singleArtefact.html b/src/main/java/org/olat/portfolio/ui/artefacts/view/_content/singleArtefact.html index 3529f592a30..83b5dfa21db 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/view/_content/singleArtefact.html +++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/_content/singleArtefact.html @@ -59,7 +59,11 @@ #if ($artAttribConfig.get("artefact.used.in.maps")) <div class="b_form_element_wrapper b_clearfix"> <div class="b_form_element_label">$r.translate("artefact.used.in.maps")</div> - <div class="b_form_element">$!maps</div> + <div class="b_form_element"> + #foreach($map in $maps) + $r.render($map.component.componentName) + #end + </div> </div> #end #if ($artAttribConfig.get("artefact.reflexion")) -- GitLab