<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */

namespace Kufer\Web\KuferTools\Mitarbeiter\TeilnehmerInfo\Detailsreiter\BelegteKurse;

use Kufer\Web\KuferTools\Utils\DatamodulHelper\Teilnehmer\TeilnehmerHelper;

class BelegteKurseUseCase extends \Kufer\Web\KuferTools\Basis\TeilnehmerInfo\Detailsreiter\BelegteKurse\BelegteKurseUseCase
{
  protected function getBelegungenToolId()
  {
    return \ToolsAPI::TOOL_KURSPLANUNG_MA;
  }

  public static function getToolId()
  {
    return \ToolsAPI::TOOL_TEILNEHMERINFO_MA;
  }

  public static function getToolSectionId()
  {
    return 43;
  }

  protected function getMainReiterId()
  {
    return 411;
  }

  public function hasAccess($pToolSectionId = null)
  {
    if (!parent::hasAccess(411)) {
      return false;
    }
    if (!$this->isRechtAllowed($this->getMainReiterId() . '.1.2')) {
      return false;
    }

    return true;
  }

  protected function getBelegteKurseReiterButtons()
  {
    return new \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\BelegteKurseReiterButtons($this, $this->request, $this->response);
  }

  protected function getToolIdKursuebersicht()
  {
    return \Kufer\Web\KuferTools\Mitarbeiter\KursUebersicht\KursUebersicht\KursUebersichtUseCase::getToolId();
  }

  protected function getTeilnehmerHelper()
  {
    return TeilnehmerHelper::createMitarbeiterTeilnehmerUebersicht(
      $this->toolSettings,
      $this->getUser()
    );
  }
}