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

namespace Kufer\Web\KuferTools\Veranstalter\KursUebersicht\KursUebersicht;

class KursUebersichtMitKursPlanungPresenter extends KursUebersichtPresenter
{
  protected function getContent()
  {
    $content = parent::getContent();

    $content .= $this->getKursplanungAnderenContentAlsBody($this->useCaseResponse->kursplanung->kursplanungen);

    return $content;
  }

  protected function getKursplanungViewModel()
  {
    $viewModel = $this->getUebersichtViewModel();
    
    
    $viewModel->ueberschrift = $this->useCaseResponse->kursplanung->ueberschrift;
    $viewModel->freitext = $this->useCaseResponse->kursplanung->freitext;
    $viewModel->display_buttons_top = $this->useCaseResponse->kursplanung->display_buttons_top;
    $viewModel->display_buttons_bottom = $this->useCaseResponse->kursplanung->display_buttons_bottom;
    $viewModel->panels = $this->getPanels();

    return $viewModel;
  }

  protected function getKursplanungAnderenContentAlsBody($datamodulArray)
  {
    $result = '';
    $view = new \Kufer\Web\KuferTools\Basis\Uebersicht\UebersichtView($this->getKursplanungViewModel());
    if (!$this->isDatamodulAryEmpty($datamodulArray)) {
      $result .= $view->getHeader();
      foreach ($datamodulArray as $key => $datamodul) {
        $result .= $this->getKursplanungAndererContent($datamodul, $key);
      }
      $result .= $view->getFooter();
    } else {
      $result .= $view->getNoData();
    }

    return $result;
  }

  protected function getKursplanungAndererContent($datamodul, $key)
  {
    $panelViewModel = $this->getPanelViewModel($datamodul);

    $panelViewModel->index = $key;
    $panelViewModel->columns = $this->useCaseResponse->kursplanung->columns;
    $panelViewModel->datamodul = $datamodul;
    $panelViewModel->toolSection = $this->useCaseResponse->toolSection;
    $panelViewModel->toolSettings = $this->useCaseResponse->toolSettings;

    $panelViewModel->panel = $this->kursplanungToPanel($datamodul);
    $bodyView = $this->getPanelView($panelViewModel);

    return $bodyView->show();
  }

  protected function kursplanungToPanel($datamodul)
  {
    $panel = new \Kufer\Web\KuferTools\Basis\Panel\Panel();
    $panel->title = $datamodul->getVarValue('kurzbez');
    $panel->titleHinweis = '';
    $panel->body = $this->getPanelBody($datamodul);
    $panel->buttons = '';

    if (\DBWorkBASysSettings::isSalzburgBildungswerk()) {
      $xsrf = new \Xsrf();
      $key = $xsrf->generateKey4Action('LoescheKursplanung', $datamodul->id);
      if ($datamodul->in_bearbeitung) {
        $panel->buttons = '<a href="index.php?tool_id=52&einstieg=1&kursplanung=' . $datamodul->id . '&action=kursvorschlagBearbeiten"><button class="btn btn-default"><i class="fa fa-edit"></i> Bearbeiten</button></a>';
        $panel->buttons .= ' <a href="index.php?tool_id=51&action=deleteKursplanung&nr=' . $datamodul->id . '&xsrf=' . $key . '"><button class="btn btn-danger loescheKursvorschlag"><i class="fa fa-times"></i> Löschen</button></a>';
      }
    }
    $panel->spaltenMax = 2;

    $panel->showCheckbox = false;
    $panel->checkBoxValue = '';

    $panel->verlinkeTitle = false;
    $panel->titleLink = '';
    $panel->bootstrapColor = 'default';

    return $panel;
  }
}