<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */


namespace Kufer\Web\KuferTools\Mitarbeiter\KursUebersicht\KursDetails\KursBearbeiten;

class KursBearbeitenPresenter extends \Kufer\Web\KuferTools\Basis\Presenter\JsonPresenter
{
  
  public function present()
  {
    $view = $this->getView();

    return \JsonOperations::encode4Ajax($this->getAjaxObject($view));
  }

  protected function getAjaxDialogTitle(): string
  {
    return 'Kursdetails bearbeiten';
  }

  protected function getView()
  {
    return new KursBearbeitenView($this->getViewModel());
  }

  protected function getViewModel()
  {
    $viewModel = new KursBearbeitenViewModel();
    $viewModel->toolSection = $this->useCaseResponse->toolSection;
    $viewModel->toolSettings = $this->useCaseResponse->toolSettings;
    $viewModel->kurs = $this->useCaseResponse->kurs;
    $viewModel->columns = $this->useCaseResponse->columns;

    return $viewModel;
  }

  protected function getJSDeclarations(): string
  {
    $result = parent::getJSDeclarations();
    $result .= 'registerNamespace("KuferTools.Kursplanung");' . "\n";
    $result .= \JsOperations::getDeclarationBoolean('KuferTools.Kursplanung.KursortEinschraenkungAussenstelle', $this->useCaseResponse->kursortEinschraenkungAussenstelle);
    $result .= \Kufer\Web\KuferTools\Utils\WssField\Kurs\Einzelveranstaltung::getJsDeclarations($this->useCaseResponse->kurs);

    return $result;
  }
}