use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class CheckboxEditController method formInnerEvent.
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (deleteLink == source) {
fireEvent(ureq, new Event("delete"));
if (courseNode != null) {
ThreadLocalUserActivityLogger.log(CourseLoggingAction.CHECKLIST_CHECKBOX_DELETED, getClass(), LoggingResourceable.wrap(courseNode), LoggingResourceable.wrapNonOlatResource(StringResourceableType.checkbox, checkbox.getCheckboxId(), checkbox.getTitle()));
}
} else if (downloadFileLink == source) {
doDownloadFile(ureq);
} else if (deleteFileLink == source) {
deleteFile();
} else if (awardPointEl == source) {
pointsEl.setVisible(withScore && awardPointEl.isAtLeastSelected(1));
} else if (fileEl == source) {
String filename = fileEl.getUploadFileName();
downloadFileLink.setI18nKey(filename);
downloadFileLink.setEnabled(false);
}
super.formInnerEvent(ureq, source, event);
}
use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class IQDisplayController method event.
@Override
public void event(UserRequest ureq, Component source, Event event) {
if (retrievedFlag) {
fireEvent(ureq, new IQEvent(IQEvent.TEST_PULLED));
return;
} else if (retrievedFlag || stoppedFlag) {
fireEvent(ureq, new IQEvent(IQEvent.TEST_STOPPED));
return;
}
if (source == myContent || source == qticomp) {
// those must be links
String wfCommand = event.getCommand();
// process workflow
AssessmentInstance ai = qticomp.getAssessmentInstance();
if (qticomp == null || ai == null) {
throw new RuntimeException("AssessmentInstance not valid.");
}
Navigator navig = ai.getNavigator();
if (wfCommand.equals("mark")) {
ai.mark(ureq.getParameter("id"), "true".equals(ureq.getParameter("p")));
ai.persist();
return;
}
if (wfCommand.equals("memo")) {
try {
String memo = java.net.URLDecoder.decode(ureq.getParameter("p"), "UTF-8");
ai.setMemo(ureq.getParameter("id"), memo);
ai.persist();
return;
} catch (UnsupportedEncodingException ex) {
log.info("Could not decode memo text " + ureq.getParameter("p"));
}
}
logAudit(ureq);
if (wfCommand.equals("sitse")) {
// submitItemorSection
ItemsInput iInp = iqm.getItemsInput(ureq);
if (iInp.getItemCount() > 0) {
navig.submitItems(iInp);
}
if (ai.isClosed()) {
// do all the finishing stuff
if (navig.getInfo().isFeedback()) {
// render the feedback
} else {
event(ureq, source, new Event(QTIConstants.QTI_WF_SUBMIT));
return;
}
}
} else if (wfCommand.equals("sitsec")) {
// submit
if (ai.isClosed()) {
// do all the finishing stuff
if (!qtistatus.isSurvey()) {
// for test and self-assessment, generate detailed results
generateDetailsResults(ureq, ai);
} else {
// Send also finished event in case of survey
fireEvent(ureq, new IQSubmittedEvent());
}
return;
}
} else if (wfCommand.equals("sflash")) {
// submit flash answer
//
navig.submitItems(iqm.getItemsInput(ureq));
if (ai.isClosed()) {
// do all the finishing stuff
event(ureq, source, new Event(QTIConstants.QTI_WF_SUBMIT));
return;
}
} else if (wfCommand.equals("git")) {
// goToItem
String seid = ureq.getParameter("seid");
String itid = ureq.getParameter("itid");
if (seid != null && seid.length() != 0 && itid != null && itid.length() != 0) {
int sectionPos = Integer.parseInt(seid);
int itemPos = Integer.parseInt(itid);
navig.goToItem(sectionPos, itemPos);
// fxdiff BAKS-7 Resume function
OLATResourceable sres = OresHelper.createOLATResourceableInstance("gse", new Long(sectionPos));
WindowControl bwControl = addToHistory(ureq, sres, null, getWindowControl(), false);
OLATResourceable ires = OresHelper.createOLATResourceableInstance("git", new Long(itemPos));
addToHistory(ureq, ires, null, bwControl, true);
}
} else if (wfCommand.equals("gse")) {
// goToSection
String seid = ureq.getParameter("seid");
if (seid != null && seid.length() != 0) {
int sectionPos = Integer.parseInt(seid);
navig.goToSection(sectionPos);
// fxdiff BAKS-7 Resume function
OLATResourceable sres = OresHelper.createOLATResourceableInstance("gse", new Long(sectionPos));
addToHistory(ureq, sres, null);
}
} else if (wfCommand.equals(QTIConstants.QTI_WF_SUBMIT)) {
// submit
// Assessment
navig.submitAssessment();
postSubmitAssessment(ureq, ai);
} else if (wfCommand.equals(QTIConstants.QTI_WF_CANCEL)) {
// cancel
// assessment
navig.cancelAssessment();
} else if (wfCommand.equals(QTIConstants.QTI_WF_SUSPEND)) {
// suspend
// assessment
// just close the controller
fireEvent(ureq, Event.DONE_EVENT);
return;
} else if (wfCommand.equals("close")) {
qtistatus.update(null);
// Parent controller need to pop, if they pushed previously
fireEvent(ureq, Event.DONE_EVENT);
return;
}
qtistatus.update(ai);
if (!qtistatus.isSurvey())
qtiscoreprogress.setActual(ai.getAssessmentContext().getScore());
updateQuestionProgressDisplay(ai);
} else if (source == closeButton) {
// close component
qtistatus.update(null);
// Parent controller need to pop, if they pushed previously
fireEvent(ureq, Event.DONE_EVENT);
return;
}
}
use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class RatingComponent method doDispatchRequest.
@Override
protected void doDispatchRequest(UserRequest ureq) {
setDirty(true);
String cmd = ureq.getParameter(VelocityContainer.COMMAND_ID);
try {
float rating = Float.parseFloat(cmd);
// update GUI
setCurrentRating(rating);
// notify listeners
Event event = new RatingEvent(rating);
fireEvent(ureq, event);
} catch (NumberFormatException e) {
log.error("Error while parsing rating value::" + cmd);
}
}
use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class CPContentController method displayPage.
/**
* Displays the correct edit page when node with the given id is selected.
*
* @param ureq
* @param nodeID
*/
protected void displayPage(UserRequest ureq, String nodeID) {
CPManager cpMgm = CPManager.getInstance();
currentPage = new CPPage(nodeID, cp);
String filePath = cpMgm.getPageByItemId(cp, currentPage.getIdentifier());
logInfo("I display the page with id: " + currentPage.getIdentifier(), null);
VFSItem f = cp.getRootDir().resolve(filePath);
if (filePath == null) {
displayInfoPage();
} else if (f == null) {
displayNotFoundPage();
} else {
currentPage.setFile((VFSLeaf) f);
setContent(ureq, filePath);
}
fireEvent(ureq, new Event("Page loaded"));
}
use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class CPRuntimeController method doLayout.
private void doLayout(UserRequest ureq) {
RepositoryEntry entry = getRepositoryEntry();
final OLATResource resource = entry.getOlatResource();
CPPackageConfig cpConfig = cpManager.getCPPackageConfig(resource);
DeliveryOptions config = cpConfig == null ? null : cpConfig.getDeliveryOptions();
WindowControl bwControl = getSubWindowControl("Layout");
final DeliveryOptionsConfigurationController deliveryOptionsCtrl = new DeliveryOptionsConfigurationController(ureq, addToHistory(ureq, bwControl), config, "Knowledge Transfer#_cp_layout");
deliveryOptionsCtrl.addControllerListener(new ControllerEventListener() {
@Override
public void dispatchEvent(UserRequest uureq, Controller source, Event event) {
if (source == deliveryOptionsCtrl && (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT)) {
DeliveryOptions newConfig = deliveryOptionsCtrl.getDeliveryOptions();
CPPackageConfig cConfig = cpManager.getCPPackageConfig(resource);
if (cConfig == null) {
cConfig = new CPPackageConfig();
}
cConfig.setDeliveryOptions(newConfig);
cpManager.setCPPackageConfig(resource, cConfig);
}
}
});
pushController(ureq, translate("tab.layout"), deliveryOptionsCtrl);
setActiveTool(deliveryOptionsLink);
}
Aggregations