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

namespace Kufer\Web\KuferTools\Hausmeister\Raumbelegung\KursDetails\Detailsreiter\Termine;

class HmTermineUseCase extends \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Termine\TermineUseCase
{
  public static function getToolId()
  {
    return \ToolsAPI::TOOL_RAUMBELEGUNG_HM;
  }

  public static function getToolSectionId()
  {
    return 140;
  }

  protected function getMainReiterId()
  {
    return 341;
  }

  
  public function getAllowedKursnummern()
  {
    $kurshelper = new \Kufer\Web\KuferTools\Utils\DatamodulHelper\Kurse\HausmeisterKurseInRaum($this->toolSettings, \SessionOperations::getCurrentWebToolsUser(), $this->request->raumNr);

    return $kurshelper->getIdsOhneFilter();
  }

  
  
  public function hasAccess($pToolSectionId = null)
  {
    if (!\Kufer\Web\KuferTools\Basis\UseCase\EinzelKursUseCase::hasAccess(341)) {
      return false;
    }

    if (!$this->isRechtAllowed($this->getMainReiterId() . '.1.3')) {
      return false;
    }

    return true;
  }

  protected function getButtons()
  {
    $buttonsObj = new \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\HmTermineReiterButtons($this, $this->request, $this->response);
    $buttonsArray = $buttonsObj->getButtons();
    $selectionDependentButtons = array('Termin absagen');
    $this->response->markierenButtons = $this->markierenButtonNotwendig($buttonsArray, $selectionDependentButtons);

    return $buttonsArray;
  }
}

class HmTermineRequest extends \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Termine\TermineRequest
{
  public $raumNr;
}