diff --git a/src/main/java/org/olat/ims/qti/QTI12EditorController.java b/src/main/java/org/olat/ims/qti/QTI12EditorController.java index 79c74fef617ae94a066d0807a11ccbeef6a243c6..c8e209b820dd0c050667c29c1603bdaa613de2e4 100644 --- a/src/main/java/org/olat/ims/qti/QTI12EditorController.java +++ b/src/main/java/org/olat/ims/qti/QTI12EditorController.java @@ -81,7 +81,7 @@ public class QTI12EditorController extends BasicController implements QPoolItemE QTIDocument doc = new QTIDocument(); QTIEditorPackage qtiPackage = new QTI12ItemEditorPackage(item, doc, mapperUrl, leaf, directory, this); editorsCtrl = new ItemNodeTabbedFormController(item, qtiPackage, ureq, getWindowControl(), - false, qtiModule.isEditResourcesEnabled()); + false, !qtiModule.isEditResourcesEnabled()); editorsCtrl.addTabs(mainPanel); listenTo(editorsCtrl); } diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java index a26e14d1b22e208a762bcfe80326200604f9b510..58229966c926252f546933d6f4b0fff2bdee9bb8 100644 --- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java +++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java @@ -106,6 +106,7 @@ public class QuestionItemDetailsController extends BasicController implements To private Link exportItemLink; private Link copyItemLink; private Link convertItemLink; + private Link convertItemButton; private final VelocityContainer mainVC; private final TooledStackedPanel stackPanel; @@ -250,6 +251,9 @@ public class QuestionItemDetailsController extends BasicController implements To convertItemLink = LinkFactory.createToolLink("convert", translate("convert.item"), this); convertItemLink.setIconLeftCSS("o_icon o_icon-fw o_icon_qitem_convert"); commandDropdown.addComponent(convertItemLink); + + convertItemButton = LinkFactory.createButton("convert.item.long", mainVC, this); + convertItemButton.setIconLeftCSS("o_icon o_icon-fw o_FileResource-IMSQTI21_icon"); } if (qItemSecurityCallback.canDelete()) { @@ -436,7 +440,7 @@ public class QuestionItemDetailsController extends BasicController implements To doExport(ureq, metadatasCtrl.getItem()); } else if(source == copyItemLink) { doConfirmCopy(ureq, metadatasCtrl.getItem()); - } else if(source == convertItemLink) { + } else if(source == convertItemLink || source == convertItemButton) { doConfirmConversion(ureq, metadatasCtrl.getItem()); } else if(source == exportLogLink) { doExportLog(ureq, metadatasCtrl.getItem()); diff --git a/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html b/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html index 7efaa85fa2e6944cef28bf0b7359130298e64ce4..91228600d8fe2e45ab2bb745f6e38d31326dad3a 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html +++ b/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html @@ -1,6 +1,15 @@ + <div class="clearfix"> $r.render("review") </div> +#if($r.available("convert.item.long")) +<div class="o_error"> + $r.translate("error.qti.deprecated") + <div class="o_button_group"> + $r.render("convert.item.long") + </div> +</div> +#end <div class="row"> #if($metadataSwitch) <div class="col-md-8"> diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties index 12c4b406574a2b8ef95f1138b672a1894ad61055..9005112fcd0bd1725b784c04b8779a2e0e311f53 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties @@ -31,6 +31,7 @@ confirm.unshare=Wollen Sie wirklich diese Frage von "{0}" entfernen? convert.editable=Andere Benutzer d\u00FCrfen die Frage bearbeiten convert.format=Format convert.item=Konvertieren +convert.item.long=In QTI 2.1 konvertieren convert.item.msg=Wollen sie diese {0} Fragen in das folgende Format konvertieren? convert.item.not.possible=Sie haben keine Frage gew\u00E4hlt dass Sie konvertieren k\u00F6nnen. convert.item.successful={0} Frage(n) wurde erfolgreich konvertiert. @@ -60,6 +61,7 @@ educational.learningTime.hour=h educational.learningTime.minute=m educational.learningTime.second=s error.input.toolong=Leider ist Ihr gerade eingegebener Text mit {1} Zeichen zu lang. Bitte beschr\u00E4nken Sie sich auf maximal {0} Zeichen. +error.qti.deprecated=Diese Version von QTI ist deprecated. Bitte auf dem neuen QTI 2.1 konvertieren. error.select.one=Sie m\u00FCssen mindestens eine Frage w\u00E4hlen. error.select.one.author=Sie m\u00FCssen mindestens eine Frage w\u00E4hlen, bei welcher Sie die Autoren bearbeiten k\u00F6nnen. error.select.one.convert=Sie m\u00FCssen mindestens eine Frage w\u00E4hlen, welche Sie konvertieren k\u00F6nnen. diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties index 6379c28c98ac2ad6d020edc5d24f53316101e03b..d6d37af6fb3da162a34595b4d61982747e06c8ef 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties @@ -31,6 +31,7 @@ confirm.unshare=Do your really want to remove this question "{0}"? convert.editable=Allow other users to edit the question convert.format=Format convert.item=Convert +convert.item.long=Convert to QTI 2.1 convert.item.msg=Do you want to convert the {0} question(s) in the following format? convert.item.not.possible=You haven't selected any question you can convert. convert.item.successful={0} question(s) successfully converted. @@ -60,6 +61,7 @@ educational.learningTime.hour=h educational.learningTime.minute=m educational.learningTime.second=s error.input.toolong=The text you entered is to long ({1} characters). Only {1} characters are allowed. +error.qti.deprecated=This version of QTI is deprecated. Please consider to convert your test to QTI 2.1. error.select.one=You need to select at least one question. error.select.one.author=You need to select at least one question, for which you can change the authors. error.select.one.convert=You need to select at least one question, which you can convert. diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties index 5d6c45ff06db78a5fd2bb5a2a452af8bcb6bacb5..59d82737cd937a336a06283bd41459b2b65368d4 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties @@ -31,6 +31,7 @@ confirm.unshare=Voulez-vous vraiment enlever cette question de "{0}"? convert.editable=D'autres utilisateurs peuvent \u00E9diter la question. convert.format=Format convert.item=Convertir +convert.item.long=Convertir vers QTI 2.1 convert.item.msg=D\u00E9sirez-vous convertir la ou les questions "{0}" au format suivant? convert.item.not.possible=Vous n'avez pas s\u00E9lectionn\u00E9 de questions qui puissent \u00EAtre converties. convert.item.successful={0} question(s) ont \u00E9t\u00E9 converties avec succ\u00E8s. @@ -60,6 +61,7 @@ educational.learningTime.hour=h educational.learningTime.minute=m educational.learningTime.second=s error.input.toolong=Le texte que vous avez entr\u00E9 est trop long ({1} caract\u00E8res). Limitez-vous s'il vous pla\u00EEt \u00E0 {1} caract\u00E8res. +error.qti.deprecated=Cette version de QTI est obsol\u00E8te. Pensez s'il vous pla\u00EEt \u00E0 convertir votre test au format QTI 2.1. error.select.one=Vous devez s\u00E9lectionner au moins une question. error.select.one.author=Vous devez s\u00E9lectionner au moins une question qu'auteur peut \u00E9diter. error.select.one.convert=Vous devez s\u00E9lectionner au moins une question qui puisse \u00EAtre convertie dans un autre format.