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

namespace Kufer\KuferTools\Mitarbeiter\KursUebersicht;

abstract class EinzelKursUseCase extends \Kufer\KuferTools\Mitarbeiter\KursUebersicht\Tool8UseCase
{
  public function __construct($request, $response)
  {
    parent::__construct($request, $response);
  }

  protected function getKursHelper()
  {
    return \Kufer\KuferTools\Utils\DatamodulHelper\KursHelper\KursHelperFactory::getKursHelperByToolID($this->getToolId(), $this->toolSettings);
  }

  public function getAllKursnrOhneFilter()
  {
    $kurshelper = $this->getKursHelper();

    return $kurshelper->getIdsOhneFilter();
  }

  public function getKurs($knr)
  {
    $dbwKurse = new \DBWorkKurseWT(1, true);

    return $dbwKurse->getKurs($knr);
  }

  public function hasAccess($pToolSectionId = null)
  {
    $accessZurToolSection = parent::hasAccess();

    if (!$accessZurToolSection) {
      return false;
    }
    
    $alleKursnummern = $this->getAllKursnrOhneFilter();

    return in_array($this->request->knr, $alleKursnummern);
  }
}