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

namespace Kufer\KuferTools\Dozent\KursUebersicht\Anwesenheiten;

class AnwSpeichernUseCase extends \Kufer\KuferTools\Basis\AnwesenheitenKurs\AnwSpeichernUseCase
{
  public static function getToolId()
  {
    return \ToolsAPI::TOOL_KURSUEBERSICHT_DOZ; 
  }

  public static function getToolSectionId()
  {
    return 226;
  }

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


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

    return true;
  }

  
  protected function isBearbeitbar()
  {
    $dbwTools = new \DBWorkTools();

    return (\SessionOperations::isDmzBetrieb() || !\SessionOperations::isReplikat() || \SessionOperations::isReplikatNichtDMZPraesentation())
         && ($dbwTools->getTool(18)->id == 18)
         && $this->isRechtAllowed('226.0.1');
  }

  protected function sindAnwInZukunftBearbeitbar()
  {
    return $this->toolSettings->anwInZukunftBearbeitenErlaubt;
  }

  protected function isDozTool()
  {
    return true;
  }

  
  protected function sindAnwVonAnderenDozentenBearbeitbar()
  {
    return $this->toolSettings->anwAndererDozentenBearbeitenErlaubt;
  }
}