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

namespace Kufer\KuferTools\Firma\BayerischerApothekertag\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 function getAllowedKursnummern()
  {
    return $this->apotag->getAlleIds();
  }

  public static function getToolId()
  {
    return 24;
  }

  public static function getToolSectionId()
  {
    return 325;
  }

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

    return true;
  }

  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;
  }
}