use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class CorrectionAssessmentItemListController method formInnerEvent.
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if (tableEl == source) {
if (event instanceof SelectionEvent) {
SelectionEvent se = (SelectionEvent) event;
String cmd = se.getCommand();
CorrectionAssessmentItemRow row = tableModel.getObject(se.getIndex());
if ("select".equals(cmd)) {
// accept all
doSelect(ureq, row, r -> true);
} else if ("answered".equals(cmd)) {
// accept all
doSelect(ureq, row, new ResponsedPredicate(row, true));
} else if ("notAnswered".equals(cmd)) {
// accept all
doSelect(ureq, row, new ResponsedPredicate(row, false));
} else if ("autoCorrected".equals(cmd)) {
doSelect(ureq, row, entry -> !row.isManualCorrection() && entry.getManualScore() == null);
} else if ("corrected".equals(cmd)) {
doSelect(ureq, row, entry -> entry.getManualScore() != null);
} else if ("notCorrected".equals(cmd)) {
doSelect(ureq, row, entry -> row.isManualCorrection() && entry.getManualScore() == null);
} else if ("toReview".equals(cmd)) {
doSelect(ureq, row, AssessmentItemListEntry::isToReview);
}
}
} else if (saveTestsButton == source) {
doConfirmSaveTests(ureq);
} else if (source instanceof FormLink) {
FormLink link = (FormLink) source;
if ("tools".equals(link.getCmd())) {
doOpenTools(ureq, (CorrectionAssessmentItemRow) link.getUserObject(), link);
}
}
super.formInnerEvent(ureq, source, event);
}
use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.
the class JMSTest method testSendReceive.
@Test
public void testSendReceive() {
// enable test only if we have the cluster configuration enabled.
// this test requires that an JMS Provider is running
// (see file serviceconfig/org/olat/core/_spring/coreextconfig.xml)
EventBus bus = CoordinatorManager.getInstance().getCoordinator().getEventBus();
if (bus instanceof ClusterEventBus) {
Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("jms");
// send and wait some time until a message should arrive at the latest.
final OLATResourceable ores = OresHelper.createOLATResourceableInstance("hellojms", new Long(123));
final CountDownLatch doneSignal = new CountDownLatch(1);
bus.registerFor(new GenericEventListener() {
@Override
public void event(Event event) {
log.audit("Event received: " + event);
doneSignal.countDown();
}
}, id, ores);
MultiUserEvent mue = new MultiUserEvent("amuecommand");
bus.fireEventToListenersOf(mue, ores);
try {
boolean interrupt = doneSignal.await(5, TimeUnit.SECONDS);
assertTrue("Test takes too long (more than 5s)", interrupt);
} catch (InterruptedException e) {
fail("" + e.getMessage());
}
}
}
use of org.olat.core.gui.control.Event in project openolat by klemens.
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 klemens.
the class ProjectDetailsDisplayController method event.
/**
* @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(UserRequest ureq, Component source, Event event) {
if (projectBrokerManager.existsProject(project.getKey())) {
if (source == editProjectButton) {
fireEvent(ureq, new Event("switchToEditMode"));
} else if (source == deleteProjectButton) {
OLATResourceable projectOres = OresHelper.createOLATResourceableInstance(Project.class, project.getKey());
this.lock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(projectOres, ureq.getIdentity(), null);
if (lock.isSuccess()) {
deleteConfirmController = activateOkCancelDialog(ureq, null, translate("delete.confirm", project.getTitle()), deleteConfirmController);
} else {
this.showInfo("info.project.already.edit", project.getTitle());
}
return;
} else if (event.getCommand().equals(CMD_OPEN_PROJECT_LEADER_DETAIL)) {
if (source instanceof Link) {
Link projectLeaderLink = (Link) source;
final Identity identity = (Identity) projectLeaderLink.getUserObject();
ControllerCreator ctrlCreator = new ControllerCreator() {
@Override
public Controller createController(UserRequest lureq, WindowControl lwControl) {
return new UserInfoMainController(lureq, lwControl, identity, true, false);
}
};
// wrap the content controller into a full header layout
ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, ctrlCreator);
// open in new browser window
this.openInNewBrowserWindow(ureq, layoutCtrlr);
}
} else if (source == attachedFileLink) {
doFileDelivery(ureq, project, courseEnv, courseNode);
} else if (source == changeProjectStateToNotAssignButton) {
projectBrokerManager.setProjectState(project, Project.STATE_NOT_ASSIGNED);
myContent.remove(changeProjectStateToNotAssignButton);
changeProjectStateToAssignButton = LinkFactory.createButtonSmall("change.project.state.assign.button", myContent, this);
} else if (source == changeProjectStateToAssignButton) {
projectBrokerManager.setProjectState(project, Project.STATE_ASSIGNED);
myContent.remove(changeProjectStateToAssignButton);
changeProjectStateToNotAssignButton = LinkFactory.createButtonSmall("change.project.state.not_assign.button", myContent, this);
}
} else {
this.showInfo("info.project.nolonger.exist", project.getTitle());
}
}
use of org.olat.core.gui.control.Event in project openolat by klemens.
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