Skip to content
Snippets Groups Projects
Commit cf9ff787 authored by srosse's avatar srosse
Browse files

Merge OpenOLAT 12.4 to OpenOLAT default branch with 6f2f3e4bf130a11ae714f14a7808587de0215860

parents 8b8b1815 a137d9b1
No related branches found
No related tags found
No related merge requests found
Showing
with 66 additions and 19 deletions
...@@ -108,7 +108,7 @@ public class NewControllerFactory { ...@@ -108,7 +108,7 @@ public class NewControllerFactory {
ContextEntryControllerCreator oldCreator = contextEntryControllerCreators.get(key); ContextEntryControllerCreator oldCreator = contextEntryControllerCreators.get(key);
contextEntryControllerCreators.put(key, controllerCreator); contextEntryControllerCreators.put(key, controllerCreator);
// Add config logging to console // Add config logging to console
log.info("Adding context entry controller creator for key::" + key + " and value::" + controllerCreator.getClass().getCanonicalName() log.debug("Adding context entry controller creator for key::" + key + " and value::" + controllerCreator.getClass().getCanonicalName()
+ (oldCreator == null ? "" : " replaceing existing controller creator ::" + oldCreator.getClass().getCanonicalName()), null); + (oldCreator == null ? "" : " replaceing existing controller creator ::" + oldCreator.getClass().getCanonicalName()), null);
} }
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
<!-- The e-Assessment parent node --> <!-- The e-Assessment parent node -->
<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
<property name="order" value="7420" /> <property name="order" value="7420" />
<property name="navigationKey" value="modules" /> <property name="navigationKey" value="eassessment" />
<property name="nodeIdentifierIfParent" value="eAssessmentParent" /> <property name="nodeIdentifierIfParent" value="eAssessmentParent" />
<property name="translationPackage" value="org.olat.admin" /> <property name="translationPackage" value="org.olat.admin" />
<property name="i18nActionKey" value="menu.eassessment" /> <property name="i18nActionKey" value="menu.eassessment" />
......
...@@ -28,6 +28,7 @@ import java.util.concurrent.atomic.AtomicInteger; ...@@ -28,6 +28,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.logging.OLog; import org.olat.core.logging.OLog;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
import org.olat.core.util.StringHelper;
import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.coordinate.CoordinatorManager;
import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.GenericEventListener;
import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.DisposableBean;
...@@ -99,6 +100,9 @@ public abstract class AbstractSpringModule implements GenericEventListener, Init ...@@ -99,6 +100,9 @@ public abstract class AbstractSpringModule implements GenericEventListener, Init
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
if (!StringHelper.containsNonWhitespace(userDataDirectory)) {
userDataDirectory = System.getProperty("java.io.tmpdir") + "/olatdata";
}
moduleConfigProperties.setUserDataDirectory(userDataDirectory); moduleConfigProperties.setUserDataDirectory(userDataDirectory);
moduleConfigProperties.init(); moduleConfigProperties.init();
initDefaultProperties(); initDefaultProperties();
......
...@@ -162,7 +162,7 @@ public class ExtManager extends LogDelegator { ...@@ -162,7 +162,7 @@ public class ExtManager extends LogDelegator {
for (Extension extension : extensionValues) { for (Extension extension : extensionValues) {
if (!extension.isEnabled()) { if (!extension.isEnabled()) {
count_disabled++; count_disabled++;
logInfo("* Disabled Extension got loaded :: " + extension + ". Check that you don't use it or that extension returns null for getExtensionFor() when disabled, resp. overwrite isEnabled().",null); logDebug("* Disabled Extension got loaded :: " + extension + ". Check that you don't use it or that extension returns null for getExtensionFor() when disabled, resp. overwrite isEnabled().",null);
} }
int orderKey = extension.getOrder(); int orderKey = extension.getOrder();
......
...@@ -54,7 +54,7 @@ public class ElementToReviewCellRenderer implements FlexiCellRenderer { ...@@ -54,7 +54,7 @@ public class ElementToReviewCellRenderer implements FlexiCellRenderer {
List<String> elements = rowToReview.getSubIndents(); List<String> elements = rowToReview.getSubIndents();
if(elements.size() == 1) { if(elements.size() == 1) {
String msg = nodeIdentToNodeShortTitles.get(elements.get(0)); String msg = nodeIdentToNodeShortTitles.get(elements.get(0));
target.append(msg); target.append(msg != null ? msg : "");
} else { } else {
String msg = translator.translate("elements.to.review", new String[]{ Integer.toString(elements.size()) }); String msg = translator.translate("elements.to.review", new String[]{ Integer.toString(elements.size()) });
target.append("<i class='o_icon o_icon_important'> </i> "); target.append("<i class='o_icon o_icon_important'> </i> ");
......
...@@ -44,6 +44,11 @@ public class QTI12ItemFactory implements QItemFactory { ...@@ -44,6 +44,11 @@ public class QTI12ItemFactory implements QItemFactory {
public QTI12ItemFactory(Type type) { public QTI12ItemFactory(Type type) {
this.type = type; this.type = type;
} }
@Override
public String getType() {
return "qti12_".concat(type.name());
}
@Override @Override
public String getLabel(Locale locale) { public String getLabel(Locale locale) {
...@@ -61,8 +66,7 @@ public class QTI12ItemFactory implements QItemFactory { ...@@ -61,8 +66,7 @@ public class QTI12ItemFactory implements QItemFactory {
@Override @Override
public QuestionItem createItem(Identity owner, String title, Locale locale) { public QuestionItem createItem(Identity owner, String title, Locale locale) {
QTIQPoolServiceProvider spi = CoreSpringFactory.getImpl(QTIQPoolServiceProvider.class); QTIQPoolServiceProvider spi = CoreSpringFactory.getImpl(QTIQPoolServiceProvider.class);
QuestionItem newItem = spi.createItem(owner, type, title, locale); return spi.createItem(owner, type, title, locale);
return newItem;
} }
public enum Type { public enum Type {
......
...@@ -43,6 +43,11 @@ public class QTI21AssessmentItemFactory implements QItemFactory { ...@@ -43,6 +43,11 @@ public class QTI21AssessmentItemFactory implements QItemFactory {
public QTI21AssessmentItemFactory(QTI21QuestionType type) { public QTI21AssessmentItemFactory(QTI21QuestionType type) {
this.type = type; this.type = type;
} }
@Override
public String getType() {
return "qti21_".concat(type.name());
}
@Override @Override
public String getLabel(Locale locale) { public String getLabel(Locale locale) {
......
...@@ -159,6 +159,13 @@ public class CorrectionIdentityAssessmentItemController extends FormBasicControl ...@@ -159,6 +159,13 @@ public class CorrectionIdentityAssessmentItemController extends FormBasicControl
protected void doDispose() { protected void doDispose() {
// //
} }
@Override
protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = super.validateFormLogic(ureq);
allOk &= identityInteractionsCtrl.validateFormLogic(ureq);
return allOk;
}
@Override @Override
protected void formOK(UserRequest ureq) { protected void formOK(UserRequest ureq) {
...@@ -175,13 +182,17 @@ public class CorrectionIdentityAssessmentItemController extends FormBasicControl ...@@ -175,13 +182,17 @@ public class CorrectionIdentityAssessmentItemController extends FormBasicControl
@Override @Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if(saveNextQuestionButton == source) { if(saveNextQuestionButton == source) {
doSave(); if(identityInteractionsCtrl.validateFormLogic(ureq)) {
fireEvent(ureq, Event.CHANGED_EVENT); doSave();
fireEvent(ureq, new NextAssessmentItemEvent()); fireEvent(ureq, Event.CHANGED_EVENT);
fireEvent(ureq, new NextAssessmentItemEvent());
}
} else if(saveBackOverviewButton == source) { } else if(saveBackOverviewButton == source) {
doSave(); if(identityInteractionsCtrl.validateFormLogic(ureq)) {
fireEvent(ureq, Event.CHANGED_EVENT); doSave();
fireEvent(ureq, Event.BACK_EVENT); fireEvent(ureq, Event.CHANGED_EVENT);
fireEvent(ureq, Event.BACK_EVENT);
}
} else { } else {
super.formInnerEvent(ureq, source, event); super.formInnerEvent(ureq, source, event);
} }
......
...@@ -419,10 +419,13 @@ public class CorrectionIdentityInteractionsController extends FormBasicControlle ...@@ -419,10 +419,13 @@ public class CorrectionIdentityInteractionsController extends FormBasicControlle
el.clearError(); el.clearError();
if(StringHelper.containsNonWhitespace(el.getValue())) { if(StringHelper.containsNonWhitespace(el.getValue())) {
Double minScore = QtiNodesExtractor.extractMinScore(assessmentItem);
Double maxScore = QtiNodesExtractor.extractMaxScore(assessmentItem);
try { try {
// check with the parse algorithm of BigDecimal first
new BigDecimal(el.getValue()).doubleValue();
Double minScore = QtiNodesExtractor.extractMinScore(assessmentItem);
Double maxScore = QtiNodesExtractor.extractMaxScore(assessmentItem);
double score = parseDouble(el); double score = parseDouble(el);
boolean boundariesOk = true; boolean boundariesOk = true;
if(minScore != null && score < minScore.doubleValue()) { if(minScore != null && score < minScore.doubleValue()) {
...@@ -439,6 +442,7 @@ public class CorrectionIdentityInteractionsController extends FormBasicControlle ...@@ -439,6 +442,7 @@ public class CorrectionIdentityInteractionsController extends FormBasicControlle
} }
allOk &= boundariesOk; allOk &= boundariesOk;
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
logWarn("Cannot parse the score: " + el.getValue(), null);
el.setErrorKey("error.double.format", null); el.setErrorKey("error.double.format", null);
allOk &= false; allOk &= false;
} }
......
...@@ -171,7 +171,9 @@ public class TableOfContentController extends BasicController implements TooledC ...@@ -171,7 +171,9 @@ public class TableOfContentController extends BasicController implements TooledC
} }
void updateSummaryView(UserRequest ureq) { void updateSummaryView(UserRequest ureq) {
summaryCtrl.reload(ureq); if(summaryCtrl != null) {
summaryCtrl.reload(ureq);
}
} }
private String getGuiPrefsKey(OLATResourceable binderOres) { private String getGuiPrefsKey(OLATResourceable binderOres) {
......
...@@ -31,6 +31,8 @@ import org.olat.core.id.Identity; ...@@ -31,6 +31,8 @@ import org.olat.core.id.Identity;
*/ */
public interface QItemFactory { public interface QItemFactory {
public String getType();
public String getLabel(Locale locale); public String getLabel(Locale locale);
public QuestionItem createItem(Identity owner, String title, Locale locale); public QuestionItem createItem(Identity owner, String title, Locale locale);
......
...@@ -67,8 +67,7 @@ public class QuestionPoolSite extends AbstractSiteInstance { ...@@ -67,8 +67,7 @@ public class QuestionPoolSite extends AbstractSiteInstance {
OLATResourceable ores = OresHelper.createOLATResourceableInstance("QPool", 0l); OLATResourceable ores = OresHelper.createOLATResourceableInstance("QPool", 0l);
ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores));
WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ureq, ores, new StateSite(this), wControl, true); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ureq, ores, new StateSite(this), wControl, true);
MainLayoutController c = new QuestionPoolSiteMainController(ureq, bwControl); return new QuestionPoolSiteMainController(ureq, bwControl);
return c;
} }
@Override @Override
......
...@@ -85,8 +85,10 @@ public class NewItemOptionsController extends FormBasicController { ...@@ -85,8 +85,10 @@ public class NewItemOptionsController extends FormBasicController {
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_new_item_form");
//title //title
titleEl = uifactory.addTextElement("general.title", "general.title", 128, "", formLayout); titleEl = uifactory.addTextElement("general.title", "general.title", 128, "", formLayout);
titleEl.setElementCssClass("o_sel_item_title");
//type //type
List<QItemFactory> factories = new ArrayList<>(); List<QItemFactory> factories = new ArrayList<>();
...@@ -100,7 +102,7 @@ public class NewItemOptionsController extends FormBasicController { ...@@ -100,7 +102,7 @@ public class NewItemOptionsController extends FormBasicController {
String[] typeKeys = new String[factories.size()]; String[] typeKeys = new String[factories.size()];
String[] valueKeys = new String[factories.size()]; String[] valueKeys = new String[factories.size()];
for(QItemFactory factory:factories) { for(QItemFactory factory:factories) {
String typeKey = "item.type." + count; String typeKey = factory.getType();
typeKeys[count] = typeKey; typeKeys[count] = typeKey;
keyToFactoryMap.put(typeKey, factory); keyToFactoryMap.put(typeKey, factory);
valueKeys[count] = factory.getLabel(getLocale()); valueKeys[count] = factory.getLabel(getLocale());
...@@ -108,6 +110,7 @@ public class NewItemOptionsController extends FormBasicController { ...@@ -108,6 +110,7 @@ public class NewItemOptionsController extends FormBasicController {
} }
typeEl = uifactory.addDropdownSingleselect("question.type", "menu.admin.types", formLayout, typeKeys, valueKeys, null); typeEl = uifactory.addDropdownSingleselect("question.type", "menu.admin.types", formLayout, typeKeys, valueKeys, null);
typeEl.setElementCssClass("o_sel_item_type");
//subject //subject
taxonomyLevelEl = uifactory.addDropdownSingleselect("process.start.review.taxonomy.level", formLayout, taxonomyLevelEl = uifactory.addDropdownSingleselect("process.start.review.taxonomy.level", formLayout,
...@@ -121,6 +124,7 @@ public class NewItemOptionsController extends FormBasicController { ...@@ -121,6 +124,7 @@ public class NewItemOptionsController extends FormBasicController {
} }
} }
taxonomyLevelEl.setVisible(qPoolSecurityCallback.canUseTaxonomy()); taxonomyLevelEl.setVisible(qPoolSecurityCallback.canUseTaxonomy());
taxonomyLevelEl.setElementCssClass("o_sel_item_taxonomy_level");
FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
buttonLayout.setRootForm(mainForm); buttonLayout.setRootForm(mainForm);
......
...@@ -117,6 +117,7 @@ public class QuestionPoolMainEditorController extends BasicController implements ...@@ -117,6 +117,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
content = new Panel("list"); content = new Panel("list");
columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), menuTree, content, "qpool"); columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), menuTree, content, "qpool");
columnLayoutCtr.addCssClassToMain("o_qpool");
doSelectControllerTreeNode(ureq, treeModel.getMyNode(), null, null); doSelectControllerTreeNode(ureq, treeModel.getMyNode(), null, null);
putInitialPanel(columnLayoutCtr.getInitialComponent()); putInitialPanel(columnLayoutCtr.getInitialComponent());
......
...@@ -56,6 +56,7 @@ public class ReviewController extends FormBasicController { ...@@ -56,6 +56,7 @@ public class ReviewController extends FormBasicController {
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
setFormDescription("process.rating.description"); setFormDescription("process.rating.description");
formLayout.setElementCssClass("o_sel_qpool_review_form");
ratingEl = uifactory.addRatingItem("process.rating", "process.rating", 0f, 5, true, formLayout); ratingEl = uifactory.addRatingItem("process.rating", "process.rating", 0f, 5, true, formLayout);
......
...@@ -66,6 +66,7 @@ public class ReviewStartController extends FormBasicController { ...@@ -66,6 +66,7 @@ public class ReviewStartController extends FormBasicController {
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_qpool_confirm_start_form");
setFormDescription("process.start.review.description", new String[] {item.getTitle()}); setFormDescription("process.start.review.description", new String[] {item.getTitle()});
qpoolTaxonomyTreeBuilder.loadTaxonomyLevelsSelection(getIdentity(), false, ignoreCompetences); qpoolTaxonomyTreeBuilder.loadTaxonomyLevelsSelection(getIdentity(), false, ignoreCompetences);
......
...@@ -103,6 +103,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle ...@@ -103,6 +103,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
FormLayoutContainer moduleCont = FormLayoutContainer.createDefaultFormLayout("module", getTranslator()); FormLayoutContainer moduleCont = FormLayoutContainer.createDefaultFormLayout("module", getTranslator());
moduleCont.setElementCssClass("o_sel_qpool_configuration");
moduleCont.setFormTitle(translate("admin.configuration.title")); moduleCont.setFormTitle(translate("admin.configuration.title"));
moduleCont.setRootForm(mainForm); moduleCont.setRootForm(mainForm);
formLayout.add("module", moduleCont); formLayout.add("module", moduleCont);
...@@ -110,6 +111,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle ...@@ -110,6 +111,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle
String[] onValues = new String[] { translate("on") }; String[] onValues = new String[] { translate("on") };
reviewProcessEnabledEl = uifactory.addCheckboxesHorizontal("review.process.enabled", moduleCont, onKeys, onValues); reviewProcessEnabledEl = uifactory.addCheckboxesHorizontal("review.process.enabled", moduleCont, onKeys, onValues);
reviewProcessEnabledEl.addActionListener(FormEvent.ONCHANGE); reviewProcessEnabledEl.addActionListener(FormEvent.ONCHANGE);
reviewProcessEnabledEl.setElementCssClass("o_sel_qpool_review_process");
if (qpoolModule.isReviewProcessEnabled()) { if (qpoolModule.isReviewProcessEnabled()) {
reviewProcessEnabledEl.select(onKeys[0], true); reviewProcessEnabledEl.select(onKeys[0], true);
} }
...@@ -196,6 +198,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle ...@@ -196,6 +198,7 @@ public class QuestionPoolAdminConfigurationController extends FormBasicControlle
poolManagerRightsEl.select(POOL_MANAGER_EDUCATIONAL_CONTEXT, qpoolModule.isPoolAdminAllowedToConfigEducationalContext()); poolManagerRightsEl.select(POOL_MANAGER_EDUCATIONAL_CONTEXT, qpoolModule.isPoolAdminAllowedToConfigEducationalContext());
FormLayoutContainer buttonsWrapperCont = FormLayoutContainer.createDefaultFormLayout("global", getTranslator()); FormLayoutContainer buttonsWrapperCont = FormLayoutContainer.createDefaultFormLayout("global", getTranslator());
buttonsWrapperCont.setElementCssClass("o_sel_qpool_buttons");
buttonsWrapperCont.setRootForm(mainForm); buttonsWrapperCont.setRootForm(mainForm);
formLayout.add("buttonsWrapper", buttonsWrapperCont); formLayout.add("buttonsWrapper", buttonsWrapperCont);
FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
......
...@@ -51,10 +51,12 @@ public class ReviewProcessActivationController extends FormBasicController { ...@@ -51,10 +51,12 @@ public class ReviewProcessActivationController extends FormBasicController {
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_qpool_reset_status_form");
uifactory.addStaticTextElement("description", "", translate("review.process.confirm.enable.description"), formLayout); uifactory.addStaticTextElement("description", "", translate("review.process.confirm.enable.description"), formLayout);
String[] resetValues = new String[] { translate("reset.status") }; String[] resetValues = new String[] { translate("reset.status") };
resetStatusaEl = uifactory.addCheckboxesHorizontal("reset.status", "", formLayout, resetKeys, resetValues); resetStatusaEl = uifactory.addCheckboxesHorizontal("reset.status", "", formLayout, resetKeys, resetValues);
resetStatusaEl.setElementCssClass("o_sel_qpool_reset_status");
FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
formLayout.add("buttons", buttonLayout); formLayout.add("buttons", buttonLayout);
......
...@@ -67,6 +67,7 @@ public class ReviewProcessAdminController extends FormBasicController { ...@@ -67,6 +67,7 @@ public class ReviewProcessAdminController extends FormBasicController {
@Override @Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_qpool_review_process_admin");
setFormTitle("admin.review.process.title"); setFormTitle("admin.review.process.title");
// decision provider // decision provider
...@@ -98,6 +99,7 @@ public class ReviewProcessAdminController extends FormBasicController { ...@@ -98,6 +99,7 @@ public class ReviewProcessAdminController extends FormBasicController {
String numberOfRatings = Integer.toString(qpoolModule.getReviewDecisionNumberOfRatings()); String numberOfRatings = Integer.toString(qpoolModule.getReviewDecisionNumberOfRatings());
numberOfRatingsEl = uifactory.addTextElement("number.of.ratings", 5, numberOfRatings, formLayout); numberOfRatingsEl = uifactory.addTextElement("number.of.ratings", 5, numberOfRatings, formLayout);
numberOfRatingsEl.setElementCssClass("o_sel_qpool_num_of_reviews");
numberOfRatingsEl.setMandatory(true); numberOfRatingsEl.setMandatory(true);
numberOfRatingsEl.setDisplaySize(5); numberOfRatingsEl.setDisplaySize(5);
...@@ -112,6 +114,7 @@ public class ReviewProcessAdminController extends FormBasicController { ...@@ -112,6 +114,7 @@ public class ReviewProcessAdminController extends FormBasicController {
translate(FINAL_VISIBILITY_MANAGER), translate(FINAL_VISIBILITY_MANAGER),
translate(FINAL_VISIBILITY_MANAGER_TEACHER)}; translate(FINAL_VISIBILITY_MANAGER_TEACHER)};
finalVisibilityEl = uifactory.addDropdownSingleselect("final.visibility", formLayout, finalVisibilityKeys, finalVisibilityValues); finalVisibilityEl = uifactory.addDropdownSingleselect("final.visibility", formLayout, finalVisibilityKeys, finalVisibilityValues);
finalVisibilityEl.setElementCssClass("o_sel_qpool_final_visibility");
String selectedKey = qpoolModule.isFinalVisibleTeach()? FINAL_VISIBILITY_MANAGER_TEACHER: FINAL_VISIBILITY_MANAGER; String selectedKey = qpoolModule.isFinalVisibleTeach()? FINAL_VISIBILITY_MANAGER_TEACHER: FINAL_VISIBILITY_MANAGER;
finalVisibilityEl.select(selectedKey, true); finalVisibilityEl.select(selectedKey, true);
......
...@@ -295,6 +295,7 @@ public class QuestionPoolMenuTreeModel extends GenericTreeModel implements DnDTr ...@@ -295,6 +295,7 @@ public class QuestionPoolMenuTreeModel extends GenericTreeModel implements DnDTr
if(!taxonomyLevels.isEmpty()) { if(!taxonomyLevels.isEmpty()) {
reviewNode = new GenericTreeNode(translator.translate("menu.review")); reviewNode = new GenericTreeNode(translator.translate("menu.review"));
reviewNode.setTitle(translator.translate("menu.review")); reviewNode.setTitle(translator.translate("menu.review"));
reviewNode.setCssClass("o_sel_qpool_review_taxonomy_levels");
rootNode.addChild(reviewNode); rootNode.addChild(reviewNode);
for(TaxonomyLevel taxonomyLevel:taxonomyLevels) { for(TaxonomyLevel taxonomyLevel:taxonomyLevels) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment