/**
  * Akce pro import CSV
  * @param string $file
  * @param string $name
  * @throws BadRequestException
  * @throws \Exception
  */
 public function actionImportCsv($file, $name)
 {
     $type = FileImportsFacade::FILE_TYPE_CSV;
     //kontrola, jestli zadaný soubor existuje
     if (!$this->fileImportsFacade->checkFileExists($file)) {
         throw new BadRequestException('Requested file was not found.');
     }
     /** @var Form $form */
     $form = $this->getComponent('importCsvForm');
     $defaultsArr = ['file' => $file, 'type' => $type, 'table' => $this->databasesFacade->prepareNewTableName($name, false)];
     //detekce pravděpodobného oddělovače
     $separator = $this->fileImportsFacade->getCSVDelimiter($file);
     $defaultsArr['separator'] = $separator;
     //připojení k DB pro zjištění názvu tabulky, který zatím není obsazen (dle typu preferované databáze)
     $csvColumnsCount = $this->fileImportsFacade->getColsCountInCSV($file, $separator);
     $databaseType = $this->databasesFacade->prefferedDatabaseType($csvColumnsCount);
     $newDatasource = $this->datasourcesFacade->prepareNewDatasourceForUser($this->usersFacade->findUser($this->user->id), $databaseType);
     $this->databasesFacade->openDatabase($newDatasource->getDbConnection());
     $defaultsArr['table'] = $this->databasesFacade->prepareNewTableName($name);
     $form->setDefaults($defaultsArr);
 }