use of org.olat.modules.qpool.ui.events.QItemEdited in project OpenOLAT by OpenOLAT.
the class QuestionItemDetailsController method event.
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if (source == copyConfirmationCtrl) {
doPostCopy(ureq, event);
cmc.deactivate();
cleanUp();
} else if (source == conversionConfirmationCtrl) {
doPostConvert(ureq, event);
cmc.deactivate();
cleanUp();
} else if (source == selectGroupCtrl) {
if (event instanceof BusinessGroupSelectionEvent) {
BusinessGroupSelectionEvent bge = (BusinessGroupSelectionEvent) event;
List<BusinessGroup> groups = bge.getGroups();
if (groups.size() > 0) {
QuestionItem item = (QuestionItem) ((SelectBusinessGroupController) source).getUserObject();
doShareItemsWithGroup(ureq, item, groups);
metadatasCtrl.updateShares();
}
}
cmc.deactivate();
cleanUp();
} else if (source == selectPoolCtrl) {
cmc.deactivate();
if (event instanceof QPoolSelectionEvent) {
QPoolSelectionEvent qpe = (QPoolSelectionEvent) event;
List<Pool> pools = qpe.getPools();
if (pools.size() > 0) {
QuestionItemShort item = (QuestionItemShort) selectPoolCtrl.getUserObject();
doShareItemsWithPool(ureq, item, pools);
metadatasCtrl.updateShares();
}
}
cleanUp();
} else if (source == reviewActionCtrl) {
if (QItemReviewEvent.START.equals(event.getCommand())) {
doConfirmStartReview(ureq);
} else if (QItemReviewEvent.DO.equals(event.getCommand())) {
openReview(ureq);
}
} else if (source == reviewStartCtrl) {
if (event == Event.DONE_EVENT) {
TaxonomyLevel taxonomyLevel = reviewStartCtrl.getSelectedTaxonomyLevel();
doStartReview(ureq, taxonomyLevel);
}
cmc.deactivate();
cleanUp();
} else if (source == reviewCtrl) {
if (event == Event.DONE_EVENT) {
float rating = reviewCtrl.getCurrentRatting();
String comment = reviewCtrl.getComment();
doRate(ureq, rating, comment);
}
cmc.deactivate();
cleanUp();
} else if (source == confirmEndOfLifeCtrl) {
boolean endOfLife = DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event);
if (endOfLife) {
QuestionItem item = (QuestionItem) confirmEndOfLifeCtrl.getUserObject();
doEndOfLife(ureq, item);
}
cleanUp();
} else if (source == deleteConfirmationCtrl) {
if (event == Event.DONE_EVENT) {
List<QuestionItemShort> items = deleteConfirmationCtrl.getItemsToDelete();
doDelete(ureq, items);
}
cmc.deactivate();
cleanUp();
} else if (source == cmc) {
cleanUp();
} else if (source == questionCtrl) {
if (event instanceof QItemEdited) {
questionEdited = true;
fireEvent(ureq, event);
}
} else if (source == metadatasCtrl) {
if (event instanceof QItemEdited) {
reloadData(ureq);
fireEvent(ureq, event);
}
}
super.event(ureq, source, event);
}
use of org.olat.modules.qpool.ui.events.QItemEdited in project OpenOLAT by OpenOLAT.
the class QuestionListController method event.
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if (source == shareTargetCtrl) {
List<QuestionItemShort> items = getSelectedShortItems();
calloutCtrl.deactivate();
if (items.isEmpty()) {
showWarning("error.select.one");
} else if (ShareTargetController.SHARE_GROUP_CMD.equals(event.getCommand())) {
doSelectGroup(ureq, items);
} else if (ShareTargetController.SHARE_POOL_CMD.equals(event.getCommand())) {
doSelectPool(ureq, items);
}
} else if (source == selectPoolCtrl) {
cmc.deactivate();
if (event instanceof QPoolSelectionEvent) {
QPoolSelectionEvent qpe = (QPoolSelectionEvent) event;
List<Pool> pools = qpe.getPools();
if (pools.size() > 0) {
@SuppressWarnings("unchecked") List<QuestionItemShort> items = (List<QuestionItemShort>) selectPoolCtrl.getUserObject();
doShareItemsToPools(ureq, items, pools);
}
}
} else if (source == importSourcesCtrl) {
calloutCtrl.deactivate();
if (ImportSourcesController.IMPORT_FILE.equals(event.getCommand())) {
doOpenFileImport(ureq);
} else if (ImportSourcesController.IMPORT_REPO.equals(event.getCommand())) {
doOpenRepositoryImport(ureq);
} else if (ImportSourcesController.IMPORT_EXCEL_QTI_12.equals(event.getCommand())) {
doOpenExcelImportQTI12(ureq);
} else if (ImportSourcesController.IMPORT_EXCEL_QTI_21.equals(event.getCommand())) {
doOpenExcelImportQTI21(ureq);
}
} else if (source == newItemOptionsCtrl) {
cmc.deactivate();
if (event instanceof QItemCreationCmdEvent) {
QItemCreationCmdEvent qicce = (QItemCreationCmdEvent) event;
doCreateNewItem(ureq, qicce.getTitle(), qicce.getTaxonomyLevel(), qicce.getFactory());
}
} else if (source == selectGroupCtrl) {
cmc.deactivate();
if (event instanceof BusinessGroupSelectionEvent) {
BusinessGroupSelectionEvent bge = (BusinessGroupSelectionEvent) event;
List<BusinessGroup> groups = bge.getGroups();
if (groups.size() > 0) {
@SuppressWarnings("unchecked") List<QuestionItemShort> items = (List<QuestionItemShort>) selectGroupCtrl.getUserObject();
doShareItemsToGroups(ureq, items, groups);
}
}
} else if (source == shareItemsCtrl) {
if (event instanceof QPoolEvent) {
fireEvent(ureq, event);
}
cmc.deactivate();
cleanUp();
} else if (source == listTargetCtrl) {
List<QuestionItemShort> items = getSelectedShortItems();
calloutCtrl.deactivate();
if (CollectionTargetController.ADD_TO_LIST_POOL_CMD.equals(event.getCommand())) {
if (items.isEmpty()) {
showWarning("error.select.one");
} else {
doChooseCollection(ureq, items);
}
} else if (CollectionTargetController.NEW_LIST_CMD.equals(event.getCommand())) {
doAskCollectionName(ureq, items);
} else if (CollectionTargetController.RENAME_LIST_CMD.equals(event.getCommand())) {
doOpenRenameCallout(ureq);
} else if (CollectionTargetController.DELETE_LIST_CMD.equals(event.getCommand())) {
doConfirmDeleteSource(ureq);
}
} else if (source == createCollectionCtrl) {
if (Event.DONE_EVENT == event) {
List<QuestionItemShort> items = createCollectionCtrl.getUserObject();
String collectionName = createCollectionCtrl.getName();
doCreateCollection(ureq, collectionName, items);
}
cmc.deactivate();
cleanUp();
}
if (source == confirmDeleteSourceBox) {
boolean delete = DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event);
if (delete) {
doDeleteItemCollection(ureq);
}
} else if (source == renameCtrl) {
cmc.deactivate();
if (Event.CHANGED_EVENT == event) {
String newName = renameCtrl.getName();
doRenameItemCollection(ureq, newName);
}
} else if (source == chooseCollectionCtrl) {
cmc.deactivate();
cleanUp();
} else if (source == createTestTargetCtrl && event instanceof ExportFormatSelectionEvent) {
calloutCtrl.deactivate();
ExportFormatSelectionEvent efsEvent = (ExportFormatSelectionEvent) event;
ExportFormatOptions format = efsEvent.getFormat();
List<QuestionItemShort> items = getSelectedShortItems();
doShowCreateTestOverview(ureq, items, format);
} else if (source == createTestOverviewCtrl) {
List<QuestionItemShort> items = createTestOverviewCtrl.getExportableQuestionItems();
String typeFormat = createTestOverviewCtrl.getResourceTypeFormat();
cmc.deactivate();
cleanUp();
if (event == Event.DONE_EVENT) {
doOpenCreateRepositoryTest(ureq, items, typeFormat);
}
} else if (source == exportWizard) {
if (event == Event.CANCELLED_EVENT || event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
getWindowControl().pop();
removeAsListenerAndDispose(exportWizard);
StepsRunContext runContext = exportWizard.getRunContext();
exportWizard = null;
if (event == Event.CHANGED_EVENT) {
doExecuteExport(ureq, runContext);
}
}
} else if (source == excelImportWizard) {
if (event == Event.CANCELLED_EVENT || event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
getWindowControl().pop();
removeAsListenerAndDispose(excelImportWizard);
excelImportWizard = null;
}
} else if (source == importAuthorsWizard) {
if (event == Event.CANCELLED_EVENT || event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
getWindowControl().pop();
removeAsListenerAndDispose(importAuthorsWizard);
importAuthorsWizard = null;
}
} else if (source == importItemCtrl) {
if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
getItemsTable().reset();
}
cmc.deactivate();
cleanUp();
} else if (source == importTestCtrl) {
RepositoryEntry re = importTestCtrl.getSelectedEntry();
cmc.deactivate();
cleanUp();
if (event == ReferencableEntriesSearchController.EVENT_REPOSITORY_ENTRY_SELECTED) {
doImportResource(ureq, re);
}
} else if (source == shareItemsToSourceCtrl) {
if (QPoolEvent.ITEM_SHARED.equals(event.getCommand())) {
getItemsTable().reset();
}
cmcShareItemToSource.deactivate();
cleanUp();
} else if (source == bulkChangeCtrl) {
if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
updateRows(bulkChangeCtrl.getUpdatedItems());
fireEvent(ureq, new QPoolEvent(QPoolEvent.BULK_CHANGE));
}
cmc.deactivate();
cleanUp();
} else if (source == copyConfirmationCtrl) {
doPostCopy(ureq, event);
cmc.deactivate();
cleanUp();
} else if (source == conversionConfirmationCtrl) {
doPostConvert(ureq, event);
cmc.deactivate();
cleanUp();
} else if (source == deleteConfirmationCtrl) {
if (event == Event.DONE_EVENT) {
List<QuestionItemShort> items = deleteConfirmationCtrl.getItemsToDelete();
doDelete(items);
}
cmc.deactivate();
cleanUp();
} else if (source == confirmRemoveBox) {
if (DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event)) {
@SuppressWarnings("unchecked") List<QuestionItemShort> items = (List<QuestionItemShort>) confirmRemoveBox.getUserObject();
doRemove(items);
}
} else if (source == currentDetailsCtrl) {
if (event instanceof QItemEvent) {
QItemEvent qce = (QItemEvent) event;
if ("copy-item".equals(qce.getCommand()) || "convert-item".equals(qce.getCommand())) {
stackPanel.popUpToRootController(ureq);
doOpenDetails(ureq, qce.getItem());
} else if ("previous".equals(qce.getCommand())) {
doPrevious(ureq, qce.getItem());
} else if ("next".equals(qce.getCommand())) {
doNext(ureq, qce.getItem());
}
} else if (event instanceof QItemEdited) {
String title = ((QItemEdited) event).getItem().getTitle();
stackPanel.changeDisplayname(title, null, currentDetailsCtrl);
itemCollectionDirty = true;
} else if (event instanceof QPoolEvent) {
QPoolEvent qce = (QPoolEvent) event;
if (QPoolEvent.ITEM_DELETED.equals(qce.getCommand())) {
fireEvent(ureq, qce);
} else if (QPoolEvent.ITEM_STATUS_CHANGED.equals(qce.getCommand())) {
itemCollectionDirty = true;
}
}
} else if (source == addController) {
if (event instanceof EntryChangedEvent) {
cmc.deactivate();
cleanUp();
EntryChangedEvent addEvent = (EntryChangedEvent) event;
Long repoEntryKey = addEvent.getRepositoryEntryKey();
doCreateRepositoryTest(ureq, repoEntryKey);
} else if (event == Event.CANCELLED_EVENT) {
cmc.deactivate();
cleanUp();
}
} else if (source == cmc) {
cleanUp();
}
super.event(ureq, source, event);
}
use of org.olat.modules.qpool.ui.events.QItemEdited in project OpenOLAT by OpenOLAT.
the class QuestionMetadataEditController method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
QuestionItemAuditLogBuilder builder = qpoolService.createAuditLogBuilder(getIdentity(), Action.UPDATE_QUESTION_ITEM_METADATA);
builder.withBefore(itemImpl);
int day = learningTimeDayElement.getIntValue();
int hour = learningTimeHourElement.getIntValue();
int minute = learningTimeMinuteElement.getIntValue();
int seconds = learningTimeSecondElement.getIntValue();
String timeStr = MetadataConverterHelper.convertDuration(day, hour, minute, seconds);
itemImpl.setEducationalLearningTime(timeStr);
BigDecimal difficulty = toBigDecimal(difficultyEl.getValue());
itemImpl.setDifficulty(difficulty);
BigDecimal stdevDifficulty = toBigDecimal(stdevDifficultyEl.getValue());
itemImpl.setStdevDifficulty(stdevDifficulty);
BigDecimal differentiation = toBigDecimal(differentiationEl.getValue());
itemImpl.setDifferentiation(differentiation);
int numOfAnswerAlternatives = toInt(numAnswerAltEl.getValue());
itemImpl.setNumOfAnswerAlternatives(numOfAnswerAlternatives);
int numUsage = toInt(usageEl.getValue());
itemImpl.setUsage(numUsage);
item = qpoolService.updateItem(itemImpl);
builder.withAfter(item);
qpoolService.persist(builder.create());
fireEvent(ureq, new QItemEdited(item));
}
}
use of org.olat.modules.qpool.ui.events.QItemEdited in project OpenOLAT by OpenOLAT.
the class RightsMetadataEditController method formOK.
@Override
protected void formOK(UserRequest ureq) {
if (item instanceof QuestionItemImpl) {
QuestionItemImpl itemImpl = (QuestionItemImpl) item;
QuestionItemAuditLogBuilder builder = qpoolService.createAuditLogBuilder(getIdentity(), Action.UPDATE_QUESTION_ITEM_METADATA);
builder.withBefore(itemImpl);
if (licenseModule.isEnabled(licenseHandler)) {
if (licenseEl != null && licenseEl.isOneSelected()) {
String licenseTypeKey = licenseEl.getSelectedKey();
LicenseType licneseType = licenseService.loadLicenseTypeByKey(licenseTypeKey);
license.setLicenseType(licneseType);
}
String licensor = null;
String freetext = null;
if (licensorEl != null && licensorEl.isVisible()) {
licensor = StringHelper.containsNonWhitespace(licensorEl.getValue()) ? licensorEl.getValue() : null;
}
if (licenseFreetextEl != null && licenseFreetextEl.isVisible()) {
freetext = StringHelper.containsNonWhitespace(licenseFreetextEl.getValue()) ? licenseFreetextEl.getValue() : null;
}
license.setLicensor(licensor);
license.setFreetext(freetext);
license = licenseService.update(license);
licensorEl.setValue(license.getLicensor());
licenseFreetextEl.setValue(license.getFreetext());
}
item = qpoolService.updateItem(item);
builder.withAfter(itemImpl);
qpoolService.persist(builder.create());
fireEvent(ureq, new QItemEdited(item));
}
}
use of org.olat.modules.qpool.ui.events.QItemEdited in project OpenOLAT by OpenOLAT.
the class RightsMetadataEditController method event.
@Override
protected void event(UserRequest ureq, Controller source, Event event) {
if (source == groupController) {
if (event instanceof IdentitiesAddEvent) {
IdentitiesAddEvent identitiesAddedEvent = (IdentitiesAddEvent) event;
List<Identity> list = identitiesAddedEvent.getAddIdentities();
qpoolService.addAuthors(list, Collections.<QuestionItemShort>singletonList(item));
identitiesAddedEvent.getAddedIdentities().addAll(list);
} else if (event instanceof IdentitiesRemoveEvent) {
IdentitiesRemoveEvent identitiesRemoveEvent = (IdentitiesRemoveEvent) event;
List<Identity> list = identitiesRemoveEvent.getRemovedIdentities();
qpoolService.removeAuthors(list, Collections.<QuestionItemShort>singletonList(item));
}
reloadAuthors();
// cmc.deactivate();
// cleanUp();
} else if (source == cmc) {
fireEvent(ureq, new QItemEdited(item));
cleanUp();
}
super.event(ureq, source, event);
}
Aggregations