|
|
|
@ -81,16 +81,17 @@ class TableController extends Controller |
|
|
|
|
*/ |
|
|
|
|
public function create() |
|
|
|
|
{ |
|
|
|
|
$exampleData = |
|
|
|
|
"Mercenaria mercenaria,hard clam,40\n" . |
|
|
|
|
"Magallana gigas,pacific oyster,30\n" . |
|
|
|
|
"Patella vulgata,common limpet,20"; |
|
|
|
|
$exampleData = ""; |
|
|
|
|
// "Mercenaria mercenaria,hard clam,40\n" . |
|
|
|
|
// "Magallana gigas,pacific oyster,30\n" . |
|
|
|
|
// "Patella vulgata,common limpet,20"; |
|
|
|
|
|
|
|
|
|
$columns = Column::columnsFromJson([ |
|
|
|
|
// fake 'id' to satisfy the check in Column constructor |
|
|
|
|
['id' => 1, 'name' => 'latin', 'type' => 'string', 'title' => 'Latin Name'], |
|
|
|
|
['id' => 2, 'name' => 'common', 'type' => 'string', 'title' => 'Common Name'], |
|
|
|
|
['id' => 3, 'name' => 'lifespan', 'type' => 'int', 'title' => 'Lifespan (years)'] |
|
|
|
|
['id' => 1, 'name' => 'column_1', 'type' => 'string', 'title' => 'First Column'], |
|
|
|
|
// ['id' => 1, 'name' => 'latin', 'type' => 'string', 'title' => 'Latin Name'], |
|
|
|
|
// ['id' => 2, 'name' => 'common', 'type' => 'string', 'title' => 'Common Name'], |
|
|
|
|
// ['id' => 3, 'name' => 'lifespan', 'type' => 'int', 'title' => 'Lifespan (years)'] |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
return view('table.create', [ |
|
|
|
@ -210,7 +211,33 @@ class TableController extends Controller |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// --- DATA --- |
|
|
|
|
$dataCsvLines = Utils::csvToArray($input->data); |
|
|
|
|
$fname = 'csv-file'; |
|
|
|
|
$dataCsvLines = []; |
|
|
|
|
if ($request->hasFile($fname)) { |
|
|
|
|
try { |
|
|
|
|
$file = $request->file($fname); |
|
|
|
|
if ($file->isValid() && $file->isReadable()) { |
|
|
|
|
$handle = $file->openFile(); |
|
|
|
|
$dataCsvLines = Utils::csvToArray($handle); |
|
|
|
|
if (empty($dataCsvLines)) throw new \Exception("Failed to parse CSV file."); |
|
|
|
|
$handle = null; |
|
|
|
|
} else { |
|
|
|
|
throw new \Exception("File not valid."); |
|
|
|
|
} |
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
return $this->backWithErrors(['csv-file' => $e->getMessage()]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if ($input->data) { |
|
|
|
|
try { |
|
|
|
|
$text = trim($input->data); |
|
|
|
|
if (!empty($text)) { |
|
|
|
|
$dataCsvLines = Utils::csvToArray($text); |
|
|
|
|
} |
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
return $this->backWithErrors(['data' => $e->getMessage()]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Preparing data to insert into the Rows table |
|
|
|
|
$rowsToInsert = null; |
|
|
|
|