diff --git a/src/main/java/org/olat/catalog/ui/CatalogController.java b/src/main/java/org/olat/catalog/ui/CatalogController.java index 37a9bc1b62920bb2987ae43a9862751eff62ad9b..1274e9719d6af14aad297dff7107919fd4cb16ed 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogController.java +++ b/src/main/java/org/olat/catalog/ui/CatalogController.java @@ -34,7 +34,7 @@ import java.util.Iterator; import java.util.List; import java.util.Stack; -import org.olat.ControllerFactory; +import org.olat.NewControllerFactory; import org.olat.admin.securitygroup.gui.GroupController; import org.olat.admin.securitygroup.gui.IdentitiesAddEvent; import org.olat.admin.securitygroup.gui.IdentitiesRemoveEvent; @@ -49,7 +49,6 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.dispatcher.DispatcherAction; import org.olat.core.gui.UserRequest; -import org.olat.core.gui.Windows; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.image.ImageComponent; import org.olat.core.gui.components.link.Link; @@ -61,8 +60,6 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.gui.control.generic.dtabs.Activateable2; -import org.olat.core.gui.control.generic.dtabs.DTab; -import org.olat.core.gui.control.generic.dtabs.DTabs; import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.gui.control.generic.tool.ToolController; @@ -326,30 +323,17 @@ public class CatalogController extends BasicController implements Activateable2 + ", title " + cur.getName()); // launch entry if launchable, otherwise offer it as download / launch // it as non-html in browser - String displayName = cur.getName(); - RepositoryHandler handler = RepositoryHandlerFactory.getInstance().getRepositoryHandler(repoEntry); - OLATResource ores = repoEntry.getOlatResource(); - if (ores == null) throw new AssertException("repoEntry had no olatresource, repoKey = " + repoEntry.getKey()); if (repoEntry.getCanLaunch()) { - // we can create a controller and launch - // it in OLAT, e.g. if it is a - // content-packacking or a course - - //was brasato:: DTabs dts = getWindowControl().getDTabs(); - DTabs dts = (DTabs)Windows.getWindows(ureq).getWindow(ureq).getAttribute("DTabs"); - DTab dt = dts.getDTab(ores); - if (dt == null) { - // does not yet exist -> create and add - dt = dts.createDTab(ores, repoEntry, displayName); - if (dt == null) return; - Controller launchController = ControllerFactory.createLaunchController(ores, ureq, dt.getWindowControl(), true); - dt.setController(launchController); - dts.addDTab(ureq, dt); - } - dts.activate(ureq, dt, null); // null: start with main entry point of controller + String businessPath = "[RepositoryEntry:" + repoEntry.getKey() + "]"; + NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); } else if (repoEntry.getCanDownload()) { + OLATResource ores = repoEntry.getOlatResource(); + if (ores == null) { + throw new AssertException("repoEntry had no olatresource, repoKey = " + repoEntry.getKey()); + } // else not launchable in olat, but downloadable -> send the document // directly to browser but "downloadable" (pdf, word, excel) + RepositoryHandler handler = RepositoryHandlerFactory.getInstance().getRepositoryHandler(repoEntry); MediaResource mr = handler.getAsMediaResource(ores, false); RepositoryManager.getInstance().incrementDownloadCounter(repoEntry); ureq.getDispatchResult().setResultingMediaResource(mr); @@ -454,6 +438,7 @@ public class CatalogController extends BasicController implements Activateable2 } removeAsListenerAndDispose(addEntryForm); addEntryForm = new EntryForm(ureq, getWindowControl(), false); + addEntryForm.setElementCssClass("o_sel_catalog_add_category_popup"); listenTo(addEntryForm); // open form in dialog @@ -495,6 +480,7 @@ public class CatalogController extends BasicController implements Activateable2 } removeAsListenerAndDispose(editEntryForm); editEntryForm = new EntryForm(ureq, getWindowControl(), false); + editEntryForm.setElementCssClass("o_sel_catalog_edit_category_popup"); listenTo(editEntryForm); editEntryForm.setFormFields(currentCatalogEntry);// fill the @@ -593,6 +579,7 @@ public class CatalogController extends BasicController implements Activateable2 else if (event.getCommand().equals(ACTION_ADD_STRUCTURE)) { removeAsListenerAndDispose(addStructureForm); addStructureForm = new EntryForm(ureq, getWindowControl(), false); + addStructureForm.setElementCssClass("o_sel_catalog_add_root_category_popup"); listenTo(addStructureForm); removeAsListenerAndDispose(cmc); diff --git a/src/main/java/org/olat/catalog/ui/EntryForm.java b/src/main/java/org/olat/catalog/ui/EntryForm.java index a749603bb0df3b9625bfda9700867dafdaf02168..e326d9c371363076de02116156d0a240abd74351 100644 --- a/src/main/java/org/olat/catalog/ui/EntryForm.java +++ b/src/main/java/org/olat/catalog/ui/EntryForm.java @@ -51,12 +51,10 @@ import org.olat.core.gui.control.WindowControl; class EntryForm extends FormBasicController { // NLS support - private static final String NLS_ENTRY_LEAF = "entry.leaf"; private static final String NLS_ENTRY_CATEGORY = "entry.category"; private static final String NLS_ENTRY_DESCRIPTION = "entry.description"; private static final String NLS_FORM_LEGENDE_MANDATORY = "form.legende.mandatory"; - private static final String NLS_INPUT_TOOLONG = "input.toolong"; // private stuff @@ -94,6 +92,10 @@ class EntryForm extends FormBasicController { tName.setValue(ce.getName()); taDescription.setValue(ce.getDescription()); } + + public void setElementCssClass(String cssClass) { + flc.setElementCssClass(cssClass); + } @Override protected void formOK(UserRequest ureq) { @@ -113,6 +115,7 @@ class EntryForm extends FormBasicController { taDescription = uifactory.addTextAreaElement("description", NLS_ENTRY_DESCRIPTION, 255, 5, 60, true, "", formLayout); FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator()); + buttonLayout.setElementCssClass("o_sel_catalog_entry_form_buttons"); formLayout.add(buttonLayout); uifactory.addFormSubmitButton("submit", buttonLayout); uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());