From cf2cd9680bb1c4e68ab8917df0a4a513a0005427 Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 15 Feb 2017 15:18:52 +0100 Subject: [PATCH] This fixes #569 --- app/Import/Setup/CsvSetup.php | 17 ++++++++++++----- resources/views/import/csv/roles.twig | 8 +++++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/Import/Setup/CsvSetup.php b/app/Import/Setup/CsvSetup.php index ff20d45958..ddf17a5ca2 100644 --- a/app/Import/Setup/CsvSetup.php +++ b/app/Import/Setup/CsvSetup.php @@ -439,8 +439,9 @@ class CsvSetup implements SetupInterface Log::debug('Now in getDataForColumnRoles()'); $config = $this->job->configuration; $data = [ - 'columns' => [], - 'columnCount' => 0, + 'columns' => [], + 'columnCount' => 0, + 'columnHeaders' => [], ]; // show user column role configuration. @@ -449,8 +450,13 @@ class CsvSetup implements SetupInterface // create CSV reader. $reader = Reader::createFromString($content); $reader->setDelimiter($config['delimiter']); - $start = $config['has-headers'] ? 1 : 0; - $end = $start + config('csv.example_rows'); + $start = $config['has-headers'] ? 1 : 0; + $end = $start + config('csv.example_rows'); + $header = []; + if ($config['has-headers']) { + $header = $reader->fetchOne(0); + } + // collect example data in $data['columns'] Log::debug(sprintf('While %s is smaller than %d', $start, $end)); @@ -468,7 +474,8 @@ class CsvSetup implements SetupInterface } foreach ($row as $index => $value) { - $value = trim($value); + $value = trim($value); + $data['columnHeaders'][$index] = $header[$index] ?? ''; if (strlen($value) > 0) { $data['columns'][$index][] = $value; } diff --git a/resources/views/import/csv/roles.twig b/resources/views/import/csv/roles.twig index 74cf95b948..0df197187b 100644 --- a/resources/views/import/csv/roles.twig +++ b/resources/views/import/csv/roles.twig @@ -45,7 +45,13 @@ {% for i in 0..(data.columnCount-1) %} - {{ trans('csv.column') }} #{{ loop.index }} + + {% if data.columnHeaders[i] == '' %} + {{ trans('csv.column') }} #{{ loop.index }} + {% else %} + {{ data.columnHeaders[i] }} + {% endif %} + {% if data.columns[i]|length == 0 %} {{ trans('csv.no_example_data') }}