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

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


class HmSendSammelEMailUseCase extends \Kufer\Web\KuferTools\Ausgaben\SammelEMail\AnTeilnehmer\SendSammelEMailUseCase
{
  public function hasAccess($pToolSectionId = null)
  {
    if (!parent::hasAccess($pToolSectionId)) {
      return false;
    }
    if (!$this->isRechtAllowed('134.0.2')) {
      return false;
    }

    return true;
  }

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

  public static function getToolSectionId()
  {
    return 341;
  }

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

    return $kurshelper->getIdsOhneFilter();
  }

  protected function getResponse(string $pErrorMessage, $emailStatus)
  {
    $response = parent::getResponse($pErrorMessage, $emailStatus);
    $response->raumNr = $this->request->raumNr;

    return $response;
  }

  protected function getSenderPosition(): string
  {
    return 'Adresse';
  }

  protected function getSenderPerson(): \Personn
  {
    return \SessionOperations::getCurrentWebToolsHausmeister();
  }

  protected function shouldSaveEMailAnTeilnehmerInDokumentenverwaltung(): bool
  {
    return $this->toolSettings->storeSammelEMailToTeilnehmer;
  }
}