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

namespace Kufer\KuferTools\Hausmeister\Raumbelegung\KursDetails\Detailsreiter\Teilnehmer;

class HmTeilnehmerUseCase extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\Teilnehmer\TeilnehmerUseCase
{
  public function __construct($request)
  {
    parent::__construct($request, new HmTeilnehmerResponse());
  }

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

  public static function getToolSectionId()
  {
    return 134;
  }

  protected function getMainReiterId()
  {
    return 341;
  }

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

    return $kurshelper->getIdsOhneFilter();
  }

  
  
  public function hasAccess($pToolSectionId = null)
  {
    if (!\Kufer\KuferTools\Basis\UseCase\EinzelKursUseCase::hasAccess(341)) {
      return false;
    }
    if (!$this->isRechtAllowed($this->getMainReiterId() . '.1.5')) {
      return false;
    }

    return true;
  }

  protected function getButtons()
  {
    $buttonsObj = new \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\HmTeilnehmerReiterButtons($this, $this->request, $this->response);
    $buttonsArray = $buttonsObj->getButtons();
    $selectionDependentButtons = array('E-Mail', 'E-Mail nach outlook');
    $this->response->markierenButtons = $this->markierenButtonNotwendig($buttonsArray, $selectionDependentButtons);

    return $buttonsArray;
  }

  protected function getResponse($kurs, $belegungen, $belegungenOhneFilter)
  {
    $response = parent::getResponse($kurs, $belegungen, $belegungenOhneFilter);
    $response->raumNr = $this->request->raumNr;

    return $response;
  }
}

class HmTeilnehmerRequest extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\Teilnehmer\TeilnehmerRequest
{
  public $raumNr;
}

class HmTeilnehmerResponse extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\Teilnehmer\TeilnehmerResponse
{
  public $raumNr;
}