MDL-46546 core_grades: Notice display for bad import.
authorAdrian Greeve <adrian@moodle.com>
Mon, 13 Oct 2014 02:36:38 +0000 (10:36 +0800)
committerAdrian Greeve <adrian@moodle.com>
Mon, 13 Oct 2014 02:36:38 +0000 (10:36 +0800)
If the initial import of csv data is bad, a notification
will be displayed to the user.

grade/import/csv/classes/load_data.php
grade/import/direct/index.php

index 3cbb069..21477b9 100644 (file)
@@ -77,17 +77,21 @@ class gradeimport_csv_load_data {
         $csvimport->load_csv_content($text, $encoding, $separator);
         $this->error = $csvimport->get_error();
 
-        // Get header (field names).
-        $this->headers = $csvimport->get_columns();
-        $this->trim_headers();
+        // If there are no import errors then proceed.
+        if (empty($this->error)) {
 
-        $csvimport->init();
-        $this->previewdata = array();
+            // Get header (field names).
+            $this->headers = $csvimport->get_columns();
+            $this->trim_headers();
 
-        for ($numlines = 0; $numlines <= $previewrows; $numlines++) {
-            $lines = $csvimport->next();
-            if ($lines) {
-                $this->previewdata[] = $lines;
+            $csvimport->init();
+            $this->previewdata = array();
+
+            for ($numlines = 0; $numlines <= $previewrows; $numlines++) {
+                $lines = $csvimport->next();
+                if ($lines) {
+                    $this->previewdata[] = $lines;
+                }
             }
         }
     }
index 1a9fc67..d1b6a4b 100644 (file)
@@ -69,7 +69,7 @@ if (!$iid) {
         $csvimport->load_csv_content($text, $formdata->encoding, 'tab', $formdata->previewrows);
         $csvimporterror = $csvimport->get_error();
         if (!empty($csvimporterror)) {
-            echo $renderer->errors($csvimport->get_error());
+            echo $renderer->errors(array($csvimport->get_error()));
             echo $OUTPUT->footer();
             die();
         }