From 36b9dc2f8a228548bdbeb3f45a6e3a4f5f0293db Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 26 Aug 2020 12:11:12 +0200 Subject: [PATCH] OO-4874: add export to questions list in question pool --- .../qpool/ui/AbstractItemListController.java | 21 +++++++++++++------ .../ui/CreateTestOverviewController.java | 2 +- .../modules/qpool/ui/ItemListController.java | 4 +++- .../ui/ItemListMyCompetencesController.java | 4 +++- .../qpool/ui/ItemListMyListsController.java | 4 +++- .../qpool/ui/ItemListMySharesController.java | 4 +++- .../qpool/ui/QuestionStatusCellRenderer.java | 8 ++++++- 7 files changed, 35 insertions(+), 12 deletions(-) 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 cf3afdf59bb..85ddd0a22fe 100644 --- a/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/AbstractItemListController.java @@ -172,14 +172,20 @@ public abstract class AbstractItemListController extends FormBasicController protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { //add the table FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("quickview", "<i class='o_icon o_icon_quickview'> </i>", "quick-view")); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.mark)); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.editable.i18nHeaderKey(), Cols.editable.ordinal(), + DefaultFlexiColumnModel quickViewCol = new DefaultFlexiColumnModel("quickview", "<i class='o_icon o_icon_quickview'> </i>", "quick-view"); + quickViewCol.setExportable(false); + columnsModel.addFlexiColumnModel(quickViewCol); + DefaultFlexiColumnModel markCol = new DefaultFlexiColumnModel(Cols.mark); + markCol.setExportable(false); + columnsModel.addFlexiColumnModel(markCol); + DefaultFlexiColumnModel editableCol = new DefaultFlexiColumnModel(true, Cols.editable.i18nHeaderKey(), Cols.editable.ordinal(), false, null, FlexiColumnModel.ALIGNMENT_LEFT, new BooleanCellRenderer( new CSSIconFlexiCellRenderer(CSS_ICON_READWRITE), new CSSIconFlexiCellRenderer(CSS_ICON_READONLY)) - )); + ); + editableCol.setExportable(false); + columnsModel.addFlexiColumnModel(editableCol); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.key)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.identifier, "select-item")); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.title, "select-item")); @@ -204,7 +210,7 @@ public abstract class AbstractItemListController extends FormBasicController columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.rating)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.numberOfRatings)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.itemVersion)); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.status, new QuestionStatusCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.status, new QuestionStatusCellRenderer(getTranslator()))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.statusLastModified)); if (licenseModule.isEnabled(licenseHandler)) { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, false, Cols.license.i18nHeaderKey(), null, Cols.license.ordinal(), "license", false, null, FlexiColumnModel.ALIGNMENT_LEFT, @@ -221,6 +227,7 @@ public abstract class AbstractItemListController extends FormBasicController itemsTable.setSortSettings(new FlexiTableSortOptions(true)); itemsTable.setExtendedSearch(extendedSearchCtrl); itemsTable.setColumnIndexForDragAndDropLabel(Cols.title.ordinal()); + itemsTable.setExportEnabled(true); itemsTable.setAndLoadPersistedPreferences(ureq, "qpool-list-" + prefsKey); listenTo(extendedSearchCtrl); @@ -236,7 +243,9 @@ public abstract class AbstractItemListController extends FormBasicController } protected void initActionColumns(FlexiTableColumnModel columnsModel) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("details", translate("details"), "select-item")); + DefaultFlexiColumnModel detailsCol = new DefaultFlexiColumnModel("details", translate("details"), "select-item"); + detailsCol.setExportable(false); + columnsModel.addFlexiColumnModel(detailsCol); } protected abstract void initButtons(UserRequest ureq, FormItemContainer formLayout); diff --git a/src/main/java/org/olat/modules/qpool/ui/CreateTestOverviewController.java b/src/main/java/org/olat/modules/qpool/ui/CreateTestOverviewController.java index e09a8e7776b..7a3816fbf2c 100644 --- a/src/main/java/org/olat/modules/qpool/ui/CreateTestOverviewController.java +++ b/src/main/java/org/olat/modules/qpool/ui/CreateTestOverviewController.java @@ -111,7 +111,7 @@ public class CreateTestOverviewController extends FormBasicController { } columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.type)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.format)); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.status, new QuestionStatusCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.status, new QuestionStatusCellRenderer(getTranslator()))); if(withLicenses) { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.license)); } diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemListController.java b/src/main/java/org/olat/modules/qpool/ui/ItemListController.java index 9e624f4fdf8..a32578e7c15 100644 --- a/src/main/java/org/olat/modules/qpool/ui/ItemListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/ItemListController.java @@ -67,7 +67,9 @@ public class ItemListController extends AbstractItemListController { @Override protected void initActionColumns(FlexiTableColumnModel columnsModel) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("select", translate("select"), "select-item")); + DefaultFlexiColumnModel selectCol = new DefaultFlexiColumnModel("select", translate("select"), "select-item"); + selectCol.setExportable(false); + columnsModel.addFlexiColumnModel(selectCol); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemListMyCompetencesController.java b/src/main/java/org/olat/modules/qpool/ui/ItemListMyCompetencesController.java index 4aa1db1ab09..c03e1181d83 100644 --- a/src/main/java/org/olat/modules/qpool/ui/ItemListMyCompetencesController.java +++ b/src/main/java/org/olat/modules/qpool/ui/ItemListMyCompetencesController.java @@ -90,7 +90,9 @@ public class ItemListMyCompetencesController extends AbstractItemListController @Override protected void initActionColumns(FlexiTableColumnModel columnsModel) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("select", translate("select"), "select-item")); + DefaultFlexiColumnModel selectCol = new DefaultFlexiColumnModel("select", translate("select"), "select-item"); + selectCol.setExportable(false); + columnsModel.addFlexiColumnModel(selectCol); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemListMyListsController.java b/src/main/java/org/olat/modules/qpool/ui/ItemListMyListsController.java index 8ea1dcb1e25..a487d49d537 100644 --- a/src/main/java/org/olat/modules/qpool/ui/ItemListMyListsController.java +++ b/src/main/java/org/olat/modules/qpool/ui/ItemListMyListsController.java @@ -103,7 +103,9 @@ public class ItemListMyListsController extends AbstractItemListController { @Override protected void initActionColumns(FlexiTableColumnModel columnsModel) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("select", translate("select"), "select-item")); + DefaultFlexiColumnModel selectCol = new DefaultFlexiColumnModel("select", translate("select"), "select-item"); + selectCol.setExportable(false); + columnsModel.addFlexiColumnModel(selectCol); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemListMySharesController.java b/src/main/java/org/olat/modules/qpool/ui/ItemListMySharesController.java index 2080c8474a5..264d41679b6 100644 --- a/src/main/java/org/olat/modules/qpool/ui/ItemListMySharesController.java +++ b/src/main/java/org/olat/modules/qpool/ui/ItemListMySharesController.java @@ -136,7 +136,9 @@ public class ItemListMySharesController extends AbstractItemListController { @Override protected void initActionColumns(FlexiTableColumnModel columnsModel) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("select", translate("select"), "select-item")); + DefaultFlexiColumnModel selectCol = new DefaultFlexiColumnModel("select", translate("select"), "select-item"); + selectCol.setExportable(false); + columnsModel.addFlexiColumnModel(selectCol); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionStatusCellRenderer.java b/src/main/java/org/olat/modules/qpool/ui/QuestionStatusCellRenderer.java index 6563c9b87f8..acc65940b72 100644 --- a/src/main/java/org/olat/modules/qpool/ui/QuestionStatusCellRenderer.java +++ b/src/main/java/org/olat/modules/qpool/ui/QuestionStatusCellRenderer.java @@ -30,6 +30,12 @@ import org.olat.modules.qpool.QuestionStatus; * */ public class QuestionStatusCellRenderer extends LabelCellRenderer { + + private final Translator translator; + + public QuestionStatusCellRenderer(Translator translator) { + this.translator = translator; + } @Override protected String getElementCssClass(Object val) { @@ -50,7 +56,7 @@ public class QuestionStatusCellRenderer extends LabelCellRenderer { } @Override - protected String getCellValue(Object val, Translator translator) { + protected String getCellValue(Object val, Translator transl) { if (val instanceof QuestionStatus) { QuestionStatus status = (QuestionStatus) val; return translator.translate("lifecycle.status." + status.name()); -- GitLab