<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

namespace Kufer\Web\KuferTools\Basis\Kursdetails\TnZertifikat;

abstract class BasicTnZertifikatUseCase extends \Kufer\KuferTools\Basis\UseCase\EinzelKursUseCase
{
  public function hasAccess($pToolsectionId = null)
  {
    if (!parent::hasAccess($pToolsectionId)) {
      return false;
    }

    if (!\DBWorkBASysSettings::isBadMergentheimFabi()) {
      return false;
    }

    return true;
  }

  public function action()
  {
    $this->handleResponseStrategies();
    $this->response->kurs = $this->getKurs($this->getKursId());

    return $this->response;
  }

  protected function getBelegungsHelper(\Kurs $kurs): \Kufer\KuferTools\Utils\DatamodulHelper\BelegungsHelper\BelegungsHelper
  {
    return new \Kufer\KuferTools\Utils\DatamodulHelper\BelegungsHelper\ZertifikatBelegungen($this->toolSettings, $kurs->id);
  }
}