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

namespace Kufer\KuferTools\Mitarbeiter\KursUebersicht\Detailsreiter\Teilnehmer\BelegungBearbeitenDialog;

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

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

  
  protected function getAjaxObject($pView)
  {
    $result = new \stdClass();
    $result->inhalt = $pView->show(); 
    $result->title = $this->getAjaxDialogTitle();
    
    $result->jsdeclarations = $this->getJSDeclarations();

    return $result;
  }

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

  protected function getViewModel()
  {
    $viewModel = new BelegungBearbeitenDialogViewModel();
    $viewModel->columns = $this->useCaseResponse->columns;
    $viewModel->belegung = $this->useCaseResponse->belegung;

    return $viewModel;
  }

  protected function getAjaxDialogTitle()
  {
    return 'Belegungsdaten bearbeiten';
  }

  protected function getJSDeclarations()
  {
    return 'registerNamespace("KuferTools.BelegungBearbeiten");' . "\n"
              . \JsOperations::getDeclarationString('KuferTools.BelegungBearbeiten.Anmeldedatum', \StringOperations::htmlentities($this->useCaseResponse->belegung->anm_datum, ENT_QUOTES))
              . \JsOperations::getDeclarationString('KuferTools.BelegungBearbeiten.Anmeldestatus', \StringOperations::htmlentities($this->useCaseResponse->belegung->status, ENT_QUOTES));
  }
}