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

namespace Kufer\Web\KuferTools\Dozent\KursBewerbung\Detailsreiter\Termine;

class DozTermineUseCase extends \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Termine\TermineUseCase
{
  public static function getToolId()
  {
    return 10;
  }

  public static function getToolSectionId()
  {
    return 580;
  }

  protected function getMainReiterId()
  {
    return 49;
  }

  protected function getDatamodulHelper($kurs): \Kufer\Web\KuferTools\Utils\DatamodulHelper\KursTage\KurstageZuKurs
  {
    return new \Kufer\Web\KuferTools\Utils\DatamodulHelper\KursTage\DozKurstageZuKurs($this->toolSettings, $this->getUser(), $this->request, $kurs);
  }

  protected function getButtons()
  {
    $buttonsObj = new \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\DozTermineReiterButtons($this, $this->request, $this->response);

    return $buttonsObj->getButtons();
  }

  protected function getResponse($kurs, $termine)
  {
    $response = parent::getResponse($kurs, $termine);
    $response->markierenButtons = $this->bieteMarkierenAn();

    return $response;
  }

  protected function getKurstage($kurs)
  {
    $kurstage = parent::getKurstage($kurs);

    return \Kufer\Web\KuferTools\Utils\DatamodulHelper\KursTage\DozentenKurstage::erweitereKurstageUmRechnungsstatus($kurstage, $this->getUser());
  }

  public function zeigeTerminAbsagenButton()
  {
    return false;
  }

  public function zeigeTerminAbrechnenButton()
  {
    return false;
  }

  public function zeigeTerminAbrechnenButtonNeussVhs()
  {
    return false;
  }

  public function zeigeTerminAbrechnenButtonMoenchengladBildungswerk()
  {
    return false;
  }

  public function zeigeHonorarReiterButton()
  {
    return false;
  }

  public function bieteMarkierenAn()
  {
    return false;
  }

  public function zeigeTerminDirectAbrechnenButton(): bool
  {
    return false;
  }

  public function zeigeTermineBearbeitenButton(): bool
  {
    return false;
  }

  public function zeigeTermineHinzufuegenButton(): bool
  {
    return false;
  }

  public function zeigeTermineKopierenButton(): bool
  {
    return false;
  }

  public function zeigeTermineLoeschenButton(): bool
  {
    return false;
  }
}