/**
  * @param int $miner
  * @param int|null $column=null
  * @param string|null $columnName=null
  * @throws BadRequestException
  * @throws ForbiddenRequestException
  */
 public function renderAddAttribute($miner, $column = null, $columnName = null)
 {
     $miner = $this->findMinerWithCheckAccess($miner);
     $this->minersFacade->checkMinerMetasource($miner);
     $this->minersFacade->checkMinerState($miner, $this->getCurrentUser());
     $this->template->miner = $miner;
     $this->template->metasource = $miner->metasource;
     try {
         if (!empty($column)) {
             $datasourceColumn = $this->datasourcesFacade->findDatasourceColumn($miner->datasource, $column);
         } else {
             $datasourceColumn = $this->datasourcesFacade->findDatasourceColumnByName($miner->datasource, $columnName);
         }
     } catch (\Exception $e) {
         throw new BadRequestException($this->translate('Requested data field not found!'), 404);
     }
     $this->template->datasourceColumn = $datasourceColumn;
     $format = $datasourceColumn->format;
     $currentUser = $this->getCurrentUser();
     if (!$format) {
         //inicializace formátu (přiřazení metaatributu)
         //TODO implementovat podporu automatického mapování
         $format = $this->metaAttributesFacade->simpleCreateMetaAttributeWithFormatFromDatasourceColumn($datasourceColumn, $currentUser);
         $datasourceColumn->format = $format;
         $this->datasourcesFacade->saveDatasourceColumn($datasourceColumn);
     }
     $this->template->format = $format;
     $this->template->preprocessings = $this->metaAttributesFacade->findPreprocessingsForUser($format, $this->user->id);
     $this->template->supportedPreprocessingTypes = $this->metasourcesFacade->getSupportedPreprocessingTypes($miner->metasource, $currentUser);
 }