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

namespace Kufer\Web\KuferTools\Dozent\KursUebersicht\TnZertifikat;

class HandleTnZertifikatUseCase extends \Kufer\Web\KuferTools\Basis\Kursdetails\TnZertifikat\HandleTnZertifikatUseCase
{
  public static function getToolId()
  {
    return TnZertifikatUseCase::getToolId();
  }

  public static function getToolSectionId()
  {
    return TnZertifikatUseCase::getToolSectionId();
  }

  public function hasAccess($pToolsectionId = null)
  {
    if (!parent::hasAccess($pToolsectionId)) {
      return false;
    }

    if (!$this->isRechtAllowed('334.0.11')) {
      return false;
    }

    if (!\BelegungAPI::isUserAllowedToSeeTn($this->getKurs($this->getKursId()), $this->getToolId())) {
      return false;
    }

    return true;
  }

  protected function createDatDoc(): \Dat_doc
  {
    $result = parent::createDatDoc();
    $result->freigabe_doz_tools = true;
    $person = \SessionOperations::getCurrentWebToolsDozent();
    $result->nr = $person->id;
    $result->typ = 'D_K';

    return $result;
  }
}