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

namespace Kufer\KuferTools\Veranstalter\KursUebersichtAndererVeranstalter\KursUebersicht;


class KursUebersichtUseCase extends \Kufer\KuferTools\Basis\KursUebersicht\KursUebersichtUseCase
{
  public function __construct($request)
  {
    parent::__construct($request, new KursUebersichtResponse());
  }

  public static function getToolSectionId()
  {
    return 639;
  }

  public static function getToolId()
  {
    return \ToolsAPI::TOOL_KURSUEBERSICHT_ANDERER_VERANSTALTER_VA;
  }

  protected function getAlleIds()
  {
    $kurshelper = $this->getKursHelper();

    return $kurshelper->getIdsMitFilter($this->getToolId(), $this->request->suchParameter, $this->request->einstieg, false);
  }

  
  protected function displayTitel($pVonDate = '', $pBisDate = '')
  {
    if ($pVonDate == '' || $pBisDate == '') {
      return 'Übersicht ' . $this->response->sprachSettings->Kurs['Plural']['Genitiv'] . ' anderer Veranstalter';
    }

    return 'Übersicht ' . $this->response->sprachSettings->Kurs['Plural']['Genitiv'] . ' anderer Veranstalter im Zeitraum von ' . $pVonDate . ' bis ' . $pBisDate;
  }

  protected function getButtons()
  {
    $buttonFactory = new \Kufer\KuferTools\Basis\Button\ButtonFactory();
    $buttons = array();

    $anzahlEintraege = count($this->response->kurse);
    $this->addFilterButton($buttons, $buttonFactory, $anzahlEintraege, 'Filter');

    if ($this->datensaetzeVorhanden()) {
      $buttons[] = array($buttonFactory->getSortierenButton());
    }

    return $buttons;
  }

  protected function verlinkePanelHeaderAllowed()
  {
    $pageId = self::getToolSectionId();

    return $this->isRechtAllowed($pageId . '.0.1')
            && \ToolsAPI::rechteOR(array('640.1.1', '640.1.2', '640.1.3', '640.1.4'), $this->getToolId());
  }
}

class KursUebersichtRequest extends \Kufer\KuferTools\Basis\KursUebersicht\KursUebersichtRequest
{
}

class KursUebersichtResponse extends \Kufer\KuferTools\Basis\KursUebersicht\KursUebersichtResponse
{
}