diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java index d295116f132d49b4d618e2faada70606fd736d79..c93909d2f31094e0fa617a042094d94bd22431cf 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java @@ -34,6 +34,7 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { private String headerKey; private String headerLabel; + private String iconHeader; private Integer headerAlignment; private String columnKey; private int columnIndex; @@ -60,50 +61,50 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { } public DefaultFlexiColumnModel(FlexiColumnDef def, String action) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, new TextFlexiCellRenderer())); } public DefaultFlexiColumnModel(boolean defVisible, FlexiColumnDef def, String action) { - this(defVisible, false, def.i18nHeaderKey(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, new TextFlexiCellRenderer())); } public DefaultFlexiColumnModel(boolean defVisible, FlexiSortableColumnDef def) { - this(defVisible, false, def.i18nHeaderKey(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, new TextFlexiCellRenderer()); } public DefaultFlexiColumnModel(boolean defVisible, FlexiSortableColumnDef def, FlexiCellRenderer renderer) { - this(defVisible, false, def.i18nHeaderKey(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(FlexiSortableColumnDef def, String action) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, new TextFlexiCellRenderer())); } public DefaultFlexiColumnModel(boolean defVisible, FlexiSortableColumnDef def, String action) { - this(defVisible, false, def.i18nHeaderKey(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, new TextFlexiCellRenderer())); } public DefaultFlexiColumnModel(FlexiColumnDef def, FlexiCellRenderer renderer) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), null, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), null, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(FlexiSortableColumnDef def, FlexiCellRenderer renderer) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(FlexiColumnDef def, String action, FlexiCellRenderer renderer) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, renderer)); } public DefaultFlexiColumnModel(FlexiSortableColumnDef def, String action, FlexiCellRenderer renderer) { - this(true, false, def.i18nHeaderKey(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, + this(true, false, def.i18nHeaderKey(), def.iconHeader(), def.ordinal(), action, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, renderer)); } @@ -133,15 +134,15 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { * @param action */ public DefaultFlexiColumnModel(String headerKey, String label, String action, boolean newWindow) { - this(true, true, headerKey, -1, action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(label, action, newWindow)); + this(true, true, headerKey, null, -1, action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(label, action, newWindow)); } public DefaultFlexiColumnModel(String headerKey, int columnIndex, boolean sortable, String sortKey) { - this(true, false, headerKey, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, new TextFlexiCellRenderer()); + this(true, false, headerKey, null, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, new TextFlexiCellRenderer()); } public DefaultFlexiColumnModel(String headerKey, int columnIndex, FlexiCellRenderer renderer) { - this(true, false, headerKey, columnIndex, null, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, false, headerKey, null, columnIndex, null, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); } /** @@ -152,20 +153,20 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { * @param renderer */ public DefaultFlexiColumnModel(String headerKey, int columnIndex, String action, FlexiCellRenderer renderer) { - this(true, true, headerKey, columnIndex, action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, true, headerKey, null, columnIndex, action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(String headerKey, int columnIndex, boolean sortable, String sortKey, FlexiCellRenderer renderer) { - this(true, false, headerKey, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, false, headerKey, null, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(boolean defVisible, String headerKey, int columnIndex, boolean sortable, String sortKey) { - this(defVisible, false, headerKey, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, headerKey, null, columnIndex, null, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, new TextFlexiCellRenderer()); } public DefaultFlexiColumnModel(boolean defVisible, String headerKey, int columnIndex, String action, boolean sortable, String sortKey) { - this(defVisible, false, headerKey, columnIndex, action, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, + this(defVisible, false, headerKey, null, columnIndex, action, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, new TextFlexiCellRenderer())); } @@ -179,22 +180,23 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { * @param renderer */ public DefaultFlexiColumnModel(String headerKey, int columnIndex, String action, boolean sortable, String sortedKey, FlexiCellRenderer renderer) { - this(true, true, headerKey, columnIndex, action, sortable, sortedKey, FlexiColumnModel.ALIGNMENT_LEFT, renderer); + this(true, true, headerKey, null, columnIndex, action, sortable, sortedKey, FlexiColumnModel.ALIGNMENT_LEFT, renderer); } public DefaultFlexiColumnModel(boolean defVisible, String headerKey, int columnIndex, boolean sortable, String sortKey, int alignment, FlexiCellRenderer cellRenderer) { - this(defVisible, false, headerKey, columnIndex, null, sortable, sortKey, alignment, cellRenderer); + this(defVisible, false, headerKey, null, columnIndex, null, sortable, sortKey, alignment, cellRenderer); } - public DefaultFlexiColumnModel(boolean defVisible, boolean alwaysVisible, String headerKey, int columnIndex, String action, + public DefaultFlexiColumnModel(boolean defVisible, boolean alwaysVisible, String headerKey, String iconHeader, int columnIndex, String action, boolean sortable, String sortKey, int alignment, FlexiCellRenderer cellRenderer) { this.defaultVisible = defVisible; this.alwaysVisible = alwaysVisible; this.sortable = sortable; this.sortedKey = sortKey; this.headerKey = headerKey; + this.iconHeader = iconHeader; this.columnIndex = columnIndex; - this.columnKey = headerKey.replace(".", "").toLowerCase(); + this.columnKey = headerKey == null ? iconHeader : headerKey.replace(".", "").toLowerCase(); this.alignment = alignment; this.cellRenderer = cellRenderer; footerCellRenderer = new TextFlexiCellRenderer(); @@ -229,6 +231,15 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { this.headerLabel = headerLabel; } + @Override + public String getIconHeader() { + return iconHeader; + } + + public void setIconHeader(String iconHeader) { + this.iconHeader = iconHeader; + } + @Override public Integer getHeaderAlignment() { return headerAlignment; diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnDef.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnDef.java index 6aa159b81dc56353ec15856bdaeee8c4b6b40e77..2790d15ff7d6514789dadfab6608b5e3ca3af193 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnDef.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnDef.java @@ -1,4 +1,5 @@ /** + * <a href="http://www.openolat.org"> * OpenOLAT - Online Learning and Training</a><br> * <p> @@ -31,4 +32,11 @@ public interface FlexiColumnDef { public String i18nHeaderKey(); + /** + * @return Replace the i18n header + */ + public default String iconHeader() { + return null; + } + } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java index 4406cc3158130acc7c02e1143d11644b4c3a9e32..5cbe8d2203eeb25d62bc424c1897e62fbc677e18 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java @@ -58,6 +58,8 @@ public interface FlexiColumnModel { public String getHeaderLabel(); + public String getIconHeader(); + public Integer getHeaderAlignment(); public String getColumnKey(); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableClassicRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableClassicRenderer.java index a216d66d97e1057dba868ddb37102e3e0b9ccc8c..ca65d3492cdcd2ce8f59dcdcf1c14cda9aa2fb9d 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableClassicRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableClassicRenderer.java @@ -135,7 +135,23 @@ class FlexiTableClassicRenderer extends AbstractFlexiTableRenderer implements Co private String getHeader(FlexiColumnModel fcm, Translator translator) { String header; - if(StringHelper.containsNonWhitespace(fcm.getHeaderLabel())) { + if(StringHelper.containsNonWhitespace(fcm.getIconHeader())) { + StringBuilder sb = new StringBuilder(64); + sb.append("<i class=\"").append(fcm.getIconHeader()).append("\""); + + String title = null; + if(StringHelper.containsNonWhitespace(fcm.getHeaderLabel())) { + title = fcm.getHeaderLabel(); + } else { + title = translator.translate(fcm.getHeaderKey()); + } + if(StringHelper.containsNonWhitespace(title)) { + sb.append(" title=\"").append(title).append("\""); + } + + sb.append("> </i>"); + header = sb.toString(); + } else if(StringHelper.containsNonWhitespace(fcm.getHeaderLabel())) { header = fcm.getHeaderLabel(); } else { header = translator.translate(fcm.getHeaderKey()); diff --git a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties index de0b7f31a2faa61dda5085fbc57f35905e415012..965f981086888dce5043c5a77602f9b932246473 100644 --- a/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/assessment/bulk/_i18n/LocalStrings_de.properties @@ -17,7 +17,7 @@ bulk.assessment.done=Die Massenbewertung ist fertig. bulk.assessment.enlisted=Die Massenbewertung ist gespeichert und wird zu einem sp\u00E4teren Zeitpunkt bearbeitet. bulk.assessment.error=Ein unerwarteter Fehler ist w\u00E4hrend der Massenbewertung aufgetreten. bulk.assessment.error.feedback=Es sind Probleme aufgetreten. Die folgenden Daten wurden nicht importiert. Die restlichen Daten wurden trotzdem ausgef\u00FChrt\:<p>{0} -bulk.assessment.error.title=Nicht alle Bewertung k\u00F6nnte erfolgreich abgelegt werden +bulk.assessment.error.title=Nicht alle Bewertung konnten erfolgreich abgelegt werden bulk.wizard.desc=Mit dem Werkzeug "Massenbewertung" k\u00F6nnen f\u00FCr mehrere Teilnehmer Bewertungsdaten wie Punkte, Statusinformationen, Kommentare sowie R\u00FCckgabedateien in einem Schritt \u00FCbermittelt werden. bulk.wizard.start=W\u00E4hlen Sie die Schaltfl\u00E4che "$\:new.bulk" um nun eine Massenbewertung vorzubereiten oder durchzuf\u00FChren. Weitere Informationen sowie Informationen zum Dateiformat finden Sie in der Kontexthilfe. bulk.wizard.title=Massenbewertung @@ -93,7 +93,7 @@ form.step3.submission.dont.change=Nicht \u00E4ndern form.step3.submission.help=Abgabe werden nur akzeptiert (wenn Option gew\u00E4hlt ist) wenn "Bestanden" oder Punkte gesetzt werden. form.step3.visibility=Resultate Sichtbarkeit form.step3.visibility.visible=Resultate auf sichtbar setzen -form.step3.visibility.notvisible=Resultate auf nit sichtbar setzen +form.step3.visibility.notvisible=Resultate auf nicht sichtbar setzen form.step3.visibility.dont.change=Sichtbarkeit nicht \u00E4ndern new.bulk=Neue Massenbewertung starten passed.false=$org.olat.course.assessment\:passed.false diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java index 69ef4ab209a18621593d817f53c3ca6bcfab8a68..3be9783e947a4952ac68cb6b51005261d74ff284 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java @@ -402,7 +402,9 @@ public class IdentityListCourseNodeController extends FormBasicController protected void initCalloutColumns(FlexiTableColumnModel columnsModel) { if(courseNode instanceof AssessableCourseNode) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdentityCourseElementCols.tools)); + DefaultFlexiColumnModel toolsCol = new DefaultFlexiColumnModel(IdentityCourseElementCols.tools); + toolsCol.setExportable(false); + columnsModel.addFlexiColumnModel(toolsCol); } } diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java index b6dd2b68cbc0d98f974fae8ac7f3e0bc9bde8821..20f54440108d3bbdc04cf9ed68b732af67982603 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java @@ -179,7 +179,7 @@ public class IdentityListCourseNodeTableModel extends DefaultFlexiTableDataModel public enum IdentityCourseElementCols implements FlexiSortableColumnDef { username("table.header.name"), attempts("table.header.attempts"), - userVisibility("table.header.userVisibility"), + userVisibility("table.header.userVisibility", "o_icon o_icon-fw o_icon_results_hidden"), score("table.header.score"), min("table.header.min"), max("table.header.max"), @@ -199,9 +199,15 @@ public class IdentityListCourseNodeTableModel extends DefaultFlexiTableDataModel cut("table.header.cut"); private final String i18nKey; - + private final String icon; + private IdentityCourseElementCols(String i18nKey) { + this(i18nKey, null); + } + + private IdentityCourseElementCols(String i18nKey, String icon) { this.i18nKey = i18nKey; + this.icon = icon; } @Override @@ -209,6 +215,11 @@ public class IdentityListCourseNodeTableModel extends DefaultFlexiTableDataModel return i18nKey; } + @Override + public String iconHeader() { + return icon; + } + @Override public boolean sortable() { return true; diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties index 254ea1bd0cf5b1a49d1514306e9b63682793eb40..bbaa22065a6503697f56acf3eefcc6ae905de371 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties @@ -72,7 +72,7 @@ table.header.numOfPassed=$org.olat.modules.assessment.ui\:table.header.numOfPass table.header.passed=$org.olat.modules.assessment.ui\:table.header.passed table.header.scoreAverage=$org.olat.modules.assessment.ui\:table.header.scoreAverage table.header.tools=$org.olat.modules.assessment.ui\:table.header.tools -table.header.userVisibility=<i class='o_icon o_icon-fw o_icon_results_hidden'> </i> +table.header.userVisibility=Sichtbarkeit tooltip.of={0} von {1} title.infocoach=Bewertungsinformationen tool.correction=Korrigieren diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties index 101587dfdd91f95f57cf7c2f1546eb2988ec4d94..ea6b104dc3d6ace2663a43afb4d94ccaad79b4e6 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties @@ -72,7 +72,7 @@ table.header.numOfPassed=$org.olat.modules.assessment.ui\:table.header.numOfPass table.header.passed=$org.olat.modules.assessment.ui\:table.header.passed table.header.scoreAverage=$org.olat.modules.assessment.ui\:table.header.scoreAverage table.header.tools=$org.olat.modules.assessment.ui\:table.header.tools -table.header.userVisibility=<i class\='o_icon o_icon-fw o_icon_results_hidden'> </i> +table.header.userVisibility=Visibility title.infocoach=Information on assessment tool.correction=Correction tool.details=Show details / assess diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_fr.properties index c9801065045b1b8c9dcb53ed09e362056bc189c2..e695a4d96a6a27b419a1af3472bb37368ec2a595 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_fr.properties @@ -73,7 +73,7 @@ table.header.numOfPassed=$org.olat.modules.assessment.ui\:table.header.numOfPass table.header.passed=$org.olat.modules.assessment.ui\:table.header.passed table.header.scoreAverage=$org.olat.modules.assessment.ui\:table.header.scoreAverage table.header.tools=$org.olat.modules.assessment.ui\:table.header.tools -table.header.userVisibility=<i class\='o_icon o_icon-fw o_icon_results_hidden'> </i> +table.header.userVisibility=Visibilit\u00E9 title.infocoach=Informations sur l'\u00E9valuation tool.correction=Corriger tool.details=Montrer les d\u00E9tails / \u00E9valuer diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_it.properties index e4fd789ec275afe34f04d2391c45fedfb53d9c0b..574b1321541ace63ae0b83a188e5122fbef9ba99 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_it.properties @@ -59,7 +59,6 @@ table.header.numOfParticipants=$org.olat.modules.assessment.ui\:table.header.num table.header.numOfPassed=$org.olat.modules.assessment.ui\:table.header.numOfPassed table.header.passed=$org.olat.modules.assessment.ui\:table.header.passed table.header.scoreAverage=$org.olat.modules.assessment.ui\:table.header.scoreAverage -table.header.userVisibility=<i class\='o_icon o_icon-fw o_icon_results_hidden'> </i> title.infocoach=Informazioni sulla valutazione tooltip.of={0} di {1} user.visibility=Risultati diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_pt_BR.properties index e4b64c6c0cb3fd4ba0078c7b7521327de3cd8604..769f07b50b30073ed242f5fb838e006731b35be5 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_pt_BR.properties @@ -67,7 +67,6 @@ table.header.numOfPassed=$org.olat.modules.assessment.ui\:table.header.numOfPass table.header.passed=$org.olat.modules.assessment.ui\:table.header.passed table.header.scoreAverage=$org.olat.modules.assessment.ui\:table.header.scoreAverage table.header.tools=$org.olat.modules.assessment.ui\:table.header.tools -table.header.userVisibility=<i class\='o_icon o_icon-fw o_icon_results_hidden'> </i> title.infocoach=Informa\u00E7\u00E3o sobre a avalia\u00E7\u00E3o tool.correction=Corre\u00E7\u00E3o tool.details=Mostrar detalhes / avaliar diff --git a/src/main/java/org/olat/course/nodes/SurveyCourseNode.java b/src/main/java/org/olat/course/nodes/SurveyCourseNode.java index a638274235ab0b7abe7deb01b1445e2b334bbdd8..830bb2762803011a218b72288848c5cecbbce331 100644 --- a/src/main/java/org/olat/course/nodes/SurveyCourseNode.java +++ b/src/main/java/org/olat/course/nodes/SurveyCourseNode.java @@ -239,8 +239,19 @@ public class SurveyCourseNode extends AbstractAccessableCourseNode { super.postCopy(envMapper, processType, course, sourceCrourse); postImportCopy(course); } + + @Override + public CourseNode createInstanceForCopy(boolean isNewTitle, ICourse course, Identity author) { + CourseNode copyInstance = super.createInstanceForCopy(isNewTitle, course, author); + postImportCopy(course, copyInstance.getIdent()); + return copyInstance; + } private void postImportCopy(ICourse course) { + postImportCopy(course, getIdent()); + } + + private void postImportCopy(ICourse course, String nodeIdent) { RepositoryEntry ores = RepositoryManager.getInstance().lookupRepositoryEntry(course, true); EvaluationFormManager evaluationFormManager = CoreSpringFactory.getImpl(EvaluationFormManager.class); RepositoryEntry formEntry = getEvaluationForm(getModuleConfiguration()); diff --git a/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java b/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java index 7b712b5a3bd89fb4a0cbf646d7e0e6be448f1345..73d1c47968ee4d2cdc63ab203ed227bf0d9b6288 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java @@ -1,4 +1,5 @@ /** + * <a href="http://www.openolat.org"> * OpenOLAT - Online Learning and Training</a><br> * <p> diff --git a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedBindersController.java b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedBindersController.java index f7134713636efaa0450023dcd184de1bdfa341d0..be01d199f58a479c0a8dd83009ce0362c51f5432 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedBindersController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedBindersController.java @@ -162,11 +162,11 @@ public class SharedBindersController extends FormBasicController implements Acti new AssessmentEntryCellRenderer(getTranslator()))); StaticFlexiCellRenderer selectRenderer = new StaticFlexiCellRenderer(translate("select"), "select"); selectRenderer.setIconRightCSS("o_icon-sw o_icon_start"); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, true, "select", -1, "select", false, null, + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, true, "select", null, -1, "select", false, null, FlexiColumnModel.ALIGNMENT_LEFT, selectRenderer)); StaticFlexiCellRenderer leaveRenderer = new StaticFlexiCellRenderer(translate("leave"), "leave"); leaveRenderer.setIconRightCSS("o_icon-sw o_icon_delete"); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, "leave", -2, "leave", false, null, + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, "leave", null, -2, "leave", false, null, FlexiColumnModel.ALIGNMENT_LEFT, leaveRenderer)); model = new SharedBindersDataModel(columnsModel, getLocale()); diff --git a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java index 5b2de627b06fdced0f4a687273c875ece5d2015c..9252e3efed12910eb18c91a4f61184b46ccde241 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java @@ -148,7 +148,7 @@ public class SharedPagesController extends FormBasicController implements Activa new SharedPageStatusCellRenderer(getTranslator()))); FlexiCellRenderer titleRenderer = new BooleanCellRenderer( new StaticFlexiCellRenderer("select", new PageTitleCellRenderer()), new PageTitleCellRenderer()); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, true, "select", + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, true, "select", null, SharePageCols.pageName.ordinal(), "select", true, SharePageCols.pageName.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, titleRenderer)); diff --git a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java index b9ea22feeda95b72f637e19ad0d2704aab963519..e50cbaed29b5bfb90c69b56e8e49a5cbff23198b 100644 --- a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java @@ -201,7 +201,7 @@ public abstract class AbstractItemListController extends FormBasicController columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.status.i18nKey(), Cols.status.ordinal(), true, OrderBy.status.name(), new QuestionStatusCellRenderer())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.statusLastModified.i18nKey(), Cols.statusLastModified.ordinal(), true, OrderBy.statusLastModified.name())); if (licenseModule.isEnabled(licenseHandler)) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, Cols.license.i18nKey(), Cols.license.ordinal(), "license", false, null, FlexiColumnModel.ALIGNMENT_LEFT, + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, Cols.license.i18nKey(), null, Cols.license.ordinal(), "license", false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer("license", new LicenseRenderer(getLocale())))); } initActionColumns(columnsModel); diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java index 63d5536076316c10fd7fcdfd3d722e03d5f04766..97804b800c60926dee99ac88c781b3671c94d32c 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java @@ -351,7 +351,9 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController reviewLink = initStatus(statusDropdown, RepositoryEntryStatusEnum.review, entryStatus); coachPublishLink = initStatus(statusDropdown, RepositoryEntryStatusEnum.coachpublished, entryStatus); publishLink = initStatus(statusDropdown, RepositoryEntryStatusEnum.published, entryStatus); - closeLink = initStatus(statusDropdown, RepositoryEntryStatusEnum.closed, entryStatus); + if(!RepositoryEntryManagedFlag.isManaged(re, RepositoryEntryManagedFlag.close)) { + closeLink = initStatus(statusDropdown, RepositoryEntryStatusEnum.closed, entryStatus); + } } } @@ -505,6 +507,8 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController } else if("Settings".equalsIgnoreCase(type) || "EditDescription".equalsIgnoreCase(type)) { List<ContextEntry> subEntries = entries.subList(1, entries.size()); doSettings(ureq, subEntries); + } else if("Infos".equalsIgnoreCase(type)) { + doDetails(ureq); } } diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java index 7a1d59d61567d3233261f7887f415099bf310be3..08a262428dfb543600f62d21130226e55a88c4e6 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java @@ -344,7 +344,7 @@ public class AuthorListController extends FormBasicController implements Activat true, OrderBy.lectureEnabled.name(), FlexiColumnModel.ALIGNMENT_LEFT, new LectureInfosRenderer(getTranslator()))); if (licenseModule.isEnabled(licenseHandler)) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, Cols.license.i18nKey(), Cols.license.ordinal(), "license", false, null, FlexiColumnModel.ALIGNMENT_LEFT, + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, Cols.license.i18nKey(), null, Cols.license.ordinal(), "license", false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer("license", new LicenseRenderer(getLocale())))); } diff --git a/src/test/java/org/olat/selenium/page/qti/QTI21Page.java b/src/test/java/org/olat/selenium/page/qti/QTI21Page.java index 7faa721a0f86f774c631babe0ea747aa147923a9..d196541a52f4dad397acdf4f34ab3d29f9caf186 100644 --- a/src/test/java/org/olat/selenium/page/qti/QTI21Page.java +++ b/src/test/java/org/olat/selenium/page/qti/QTI21Page.java @@ -375,9 +375,7 @@ public class QTI21Page { public QTI21Page moveToAssociateItems() { By associateItemsBy = By.xpath("//div[@class='association'][3]"); OOGraphene.waitElement(associateItemsBy, browser); - if(browser instanceof FirefoxDriver) { - OOGraphene.scrollTo(associateItemsBy, browser); - } + OOGraphene.scrollTo(associateItemsBy, browser); return this; }