/** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, * org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) */ @Override public void event(final UserRequest ureq, final Component source, final Event event) { if (source == myEntriesLink) { searchCtr.doSearchByOwnerLimitType(ureq.getIdentity(), limitTypes); mainVC.contextPut("subtitle", translate("referencableSearch." + CMD_MY_ENTRIES)); myEntriesLink.setCustomEnabledLinkCSS("b_selected"); allEntriesLink.removeCSS(); searchEntriesLink.removeCSS(); } if (source == allEntriesLink) { searchCtr.doSearchForReferencableResourcesLimitType( ureq.getIdentity(), limitTypes, ureq.getUserSession().getRoles()); mainVC.contextPut("subtitle", translate("referencableSearch." + CMD_ALL_ENTRIES)); allEntriesLink.setCustomEnabledLinkCSS("b_selected"); myEntriesLink.removeCSS(); searchEntriesLink.removeCSS(); } if (source == searchEntriesLink) { mainVC.contextPut("subtitle", translate("referencableSearch." + CMD_SEARCH_ENTRIES)); // start with search view searchCtr.displaySearchForm(); mainVC.contextPut("subtitle", translate("referencableSearch." + CMD_SEARCH)); searchEntriesLink.setCustomEnabledLinkCSS("b_selected"); myEntriesLink.removeCSS(); allEntriesLink.removeCSS(); } if (source == createRessourceButton) { removeAsListenerAndDispose(addController); addController = new RepositoryAddController(ureq, getWindowControl(), getAction(ACTION_CREATE)); listenTo(addController); removeAsListenerAndDispose(cmc); cmc = new CloseableModalController( getWindowControl(), translate("close"), addController.getInitialComponent()); listenTo(cmc); cmc.activate(); } if (source == importRessourceButton) { removeAsListenerAndDispose(addController); addController = new RepositoryAddController(ureq, getWindowControl(), getAction(ACTION_IMPORT)); listenTo(addController); removeAsListenerAndDispose(cmc); cmc = new CloseableModalController( getWindowControl(), translate("close"), addController.getInitialComponent()); listenTo(cmc); cmc.activate(); } }
/** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, * org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) */ @Override public void event(final UserRequest ureq, final Controller source, final Event event) { final String cmd = event.getCommand(); if (source == searchCtr) { if (cmd.equals(RepositoryTableModel.TABLE_ACTION_SELECT_ENTRY)) { // user selected entry to get a preview selectedRepositoryEntry = searchCtr.getSelectedEntry(); final RepositoryEntry repositoryEntry = searchCtr.getSelectedEntry(); final RepositoryHandler typeToLaunch = RepositoryHandlerFactory.getInstance().getRepositoryHandler(repositoryEntry); if (typeToLaunch == null) { final StringBuilder sb = new StringBuilder(translate("error.launch")); sb.append(": No launcher for repository entry: "); sb.append(repositoryEntry.getKey()); throw new OLATRuntimeException(RepositoryDetailsController.class, sb.toString(), null); } // do skip the increment launch counter, this is only a preview! final OLATResourceable ores = repositoryEntry.getOlatResource(); removeAsListenerAndDispose(previewCtr); previewCtr = typeToLaunch.createLaunchController(ores, null, ureq, getWindowControl()); listenTo(previewCtr); removeAsListenerAndDispose(previewModalCtr); previewModalCtr = new CloseableModalController( getWindowControl(), translate("referencableSearch.preview.close"), previewCtr.getInitialComponent()); listenTo(previewModalCtr); previewModalCtr.activate(); } else if (cmd.equals(RepositoryTableModel.TABLE_ACTION_SELECT_LINK)) { // done, user selected a repo entry selectedRepositoryEntry = searchCtr.getSelectedEntry(); fireEvent(ureq, EVENT_REPOSITORY_ENTRY_SELECTED); } initLinks(); } else if (source == addController) { if (event.equals(Event.DONE_EVENT)) { cmc.deactivate(); selectedRepositoryEntry = addController.getAddedEntry(); fireEvent(ureq, EVENT_REPOSITORY_ENTRY_SELECTED); // info message final String message = translate( "message.entry.selected", new String[] { addController.getAddedEntry().getDisplayname(), addController.getAddedEntry().getResourcename() }); getWindowControl().setInfo(message); } else if (event.equals(Event.CANCELLED_EVENT)) { cmc.deactivate(); } else if (event.equals(Event.FAILED_EVENT)) { showError("add.failed"); } } }