Projekt

Obecné

Profil

« Předchozí | Další » 

Revize cddd4e21

Přidáno uživatelem Filip Jani před téměř 6 roky(ů)

Re #7595 vyhledávání v katalogu

Zobrazit rozdíly:

app/FrontModule/presenters/TransliterationPresenter.php
7 7
use App\FrontModule\Components\IKeyboard;
8 8
use App\FrontModule\Components\ITransliterationSearchFormFactory;
9 9
use App\FrontModule\Components\ITransliterationSearchResultListFactory;
10
use App\FrontModule\Components\ITransliterationViewFactory;
10 11
use App\Model\Repository\LineRepository;
11 12
use App\Model\Repository\LitReferenceRepository;
12 13
use App\Model\Repository\RevHistoryRepository;
......
39 40

  
40 41
    /** @var IKeyboard */
41 42
    private $keyboard;
43
    /**
44
     * @var ITransliterationViewFactory
45
     */
46
    private $transliterationViewFactory;
42 47

  
43 48
    public function __construct(
44 49
        ITransliterationSearchFormFactory $transliterationSearchFormFactory,
......
48 53
        RevHistoryRepository $revHistoryRepository,
49 54
        LineRepository $lineRepository,
50 55
        ITransliterationSearchResultListFactory $transliterationSearchResultListFactory,
51
        IKeyboard $keyboard
56
        IKeyboard $keyboard,
57
        ITransliterationViewFactory $transliterationViewFactory
52 58
    )
53 59
    {
54 60
        parent::__construct();
......
61 67
        $this->lineRepository = $lineRepository;
62 68
        $this->transliterationSearchResultListFactory = $transliterationSearchResultListFactory;
63 69
        $this->keyboard = $keyboard;
70
        $this->transliterationViewFactory = $transliterationViewFactory;
64 71
    }
65 72

  
66 73
    public function actionView($id)
67 74
    {
68
        $transliteration = $this->transliterationRepository->getTransliterationDetail($id);
69
        if(!$transliteration)
70
        {
71
            $this->presenter->flashMessage('Transliteration not found');
72
            $this->redirect('Transliteration:search');
73
        }
74
        $lines = $this->lineRepository->getAllLinesForTransliteration($id);
75
        $lineArray = [];
76
        foreach ($lines as $line)
77
        {
78
            $lineArray[$line->object_type][$line->surface_type][] = array('transliteration' => $line->transliteration, 'line_number' => $line->line_number);
79
        }
80

  
81
        $this->template->transliteration = $transliteration;
82
        $this->template->litReferences = $this->litReferenceRepository->findBy([LitReferenceRepository::COLUMN_TRANSLITERATION_ID => $id]);
83
        $this->template->revisionHistory = $this->revHistoryRepository->findBy([RevHistoryRepository::COLUMN_TRANSLITERATION_ID => $id]);
84
        $this->template->lineArray = $lineArray;
75
        $this->template->id = $id;
76
    }
77

  
78
    public function createComponentTransliterationView()
79
    {
80
        return $this->transliterationViewFactory->create();
85 81
    }
86 82

  
87 83
    public function createComponentTransliterationSearchForm()

Také k dispozici: Unified diff