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

namespace Kufer\KuferTools\Teilnehmer\BayerischerApothekertagEhrengaeste\Detailsreiter\Downloads;

class DownloadsUseCase extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\Downloads\DownloadsUseCase
{
  private $apotag;

  public function __construct($request)
  {
    parent::__construct($request);
    $this->apotag = new \Kufer\KuferTools\Teilnehmer\BayerischerApothekertag\Utils\Apothekertag();
  }

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

  public static function getToolSectionId()
  {
    return 329;
  }

  public function hasAccess($pToolSectionId = null)
  {
    return $this->apotag->isBATKurs($this->request->knr);
  }

  public static function getColumns(?int $toolSectionId = null): array
  {
    
    $wssInFiles = new \Kufer\KuferTools\Utils\WssInFiles();

    return $wssInFiles->getWss(static::getToolSectionId());
  }

  protected function getDownloads($kurs)
  {
    $dokumente = parent::getDownloads($kurs);
    $freigegebeneDokus = array();
    $docStatusKlasse = new \DokumentStatusTools();

    foreach ($dokumente as $doc) {
      $userStatus = $docStatusKlasse->berechneStatus($doc->knr);
      if ($doc->isFreigegeben($userStatus)) {
        $freigegebeneDokus[] = $doc;
      }
    }

    return $freigegebeneDokus;
  }
}