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

namespace Kufer\KuferTools\Mitarbeiter\KursUebersicht\Detailsreiter\Termine\TermineSammelAenderung\HandleTermineSammelAenderung;

class HandleTermineSammelAenderungUseCase extends \Kufer\KuferTools\Basis\Kursdetails\DetailsReiter\Termine\TermineSammelAenderung\HandleTermineSammelAenderung\HandleTermineSammelAenderungUseCase
{
  public static function getToolId()
  {
    return \ToolsAPI::TOOL_KURSPLANUNG_MA;
  }

  public static function getToolSectionId()
  {
    return 378;
  }

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

    return true;
  }

  
  protected function preSammelKurstagUpdateHook($change, $changedFields)
  {
    list($change, $changedFields) = parent::preSammelKurstagUpdateHook($change, $changedFields);
    $kennung = $this->getMitarbeiterKennung();
    if (!empty($kennung)) {
      $change->bearbeiter = $kennung;
      $changedFields[] = 'bearbeiter';
    }

    return array($change, $changedFields);
  }

  private function getMitarbeiterKennung(): string
  {
    return \SessionOperations::getCurrentWebToolsMitarbeiterOrEmpty()->kennung;
  }
}