From a88d6b11489c4af2b95d413a8612f12b920c7220 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 12 May 2016 08:53:01 +0200
Subject: [PATCH] OO-2015: in export, show the default visible columns, always
 visible and the selected one

---
 .../table/ExportableFlexiTableDataModelDelegate.java   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
index e0ddd1a21ef..95767e75ece 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/ExportableFlexiTableDataModelDelegate.java
@@ -37,8 +37,7 @@ import org.olat.core.gui.translator.Translator;
 public class ExportableFlexiTableDataModelDelegate  {
 	
 	public MediaResource export(FlexiTableComponent ftC, Translator translator) {
-		FlexiTableDataModel<?> dataModel = ftC.getFlexiTableElement().getTableDataModel();
-		List<FlexiColumnModel> columns = getColumnModels(dataModel);
+		List<FlexiColumnModel> columns = getColumnModels(ftC.getFlexiTableElement());
 		return export(ftC, columns, translator);
 	}
 	
@@ -47,13 +46,14 @@ public class ExportableFlexiTableDataModelDelegate  {
 		return exporter.export(ftC, columns, translator);
 	}
 	
-	protected List<FlexiColumnModel> getColumnModels(FlexiTableDataModel<?> delegate) {
-		FlexiTableColumnModel columnModel = delegate.getTableColumnModel();
+	private final List<FlexiColumnModel> getColumnModels(FlexiTableElementImpl tableEl) {
+		FlexiTableDataModel<?> dataModel = tableEl.getTableDataModel();
+		FlexiTableColumnModel columnModel = dataModel.getTableColumnModel();
 		int numOfColumns = columnModel.getColumnCount();
 		List<FlexiColumnModel> columns = new ArrayList<>(numOfColumns);
 		for(int i=0; i<numOfColumns; i++) {
 			FlexiColumnModel column = columnModel.getColumnModel(i);
-			if(column.isDefaultVisible() && column.isExportable()) {
+			if((column.isDefaultVisible() || tableEl.isColumnModelVisible(column)) && column.isExportable()) {
 				columns.add(column);
 			}
 		}
-- 
GitLab