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

namespace Kufer\Web\KuferTools\Dozent\KursUebersicht\Detailsreiter\Teilnehmer\SammelEMail;

class DozSendSammelEMailUseCase extends \Kufer\Web\KuferTools\Basis\Kursdetails\Detailsreiter\Teilnehmer\SammelEMail\SendSammelEMailUseCase
{
  public static function getToolId()
  {
    return \ToolsAPI::TOOL_KURSUEBERSICHT_DOZ;
  }

  public static function getToolSectionId()
  {
    return 3;
  }

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

    return true;
  }

  protected function getCustomEinrichtungEMailAddress(): ?string
  {
    return $this->toolSettings->vhsEmailTool1Section3;
  }

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

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

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

  protected function transformDocumentManagerBuilder(\Kufer\Web\KuferTools\Utils\Builder\EMailDokumentenverwaltungBuilder $documentManagerBuilder): \Kufer\Web\KuferTools\Utils\Builder\EMailDokumentenverwaltungBuilder
  {
    return $documentManagerBuilder
      ->setVersandtVomCurrentDozenten();
  }
}