AuthorController.php 2.98 KB
Newer Older
speedprogs_de's avatar
speedprogs_de committed
1
<?php
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*******************************************************************
 *  Copyright notice
 *
 *  (c) 2011 Kai Vogel <kai.vogel@speedprogs.de>, Speedprogs.de
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ******************************************************************/
speedprogs_de's avatar
speedprogs_de committed
25

26
27
28
29
30
/**
 * Controller for the author object
 */
class Tx_TerFe2_Controller_AuthorController extends Tx_TerFe2_Controller_AbstractController
{
speedprogs_de's avatar
speedprogs_de committed
31

32
33
34
35
    /**
     * @var Tx_TerFe2_Domain_Repository_AuthorRepository
     */
    protected $authorRepository;
speedprogs_de's avatar
speedprogs_de committed
36

37
38
39
40
    /**
     * @var Tx_TerFe2_Domain_Repository_ExtensionRepository
     */
    protected $extensionRepository;
41

speedprogs_de's avatar
speedprogs_de committed
42

43
44
45
46
47
48
49
50
51
52
    /**
     * Initializes the controller
     *
     * @return void
     */
    protected function initializeController()
    {
        $this->authorRepository = $this->objectManager->get('Tx_TerFe2_Domain_Repository_AuthorRepository');
        $this->extensionRepository = $this->objectManager->get('Tx_TerFe2_Domain_Repository_ExtensionRepository');
    }
speedprogs_de's avatar
speedprogs_de committed
53
54


55
56
57
58
59
60
61
62
63
    /**
     * List action, displays all authors
     *
     * @return void
     */
    public function listAction()
    {
        $this->view->assign('authors', $this->authorRepository->findAll());
    }
speedprogs_de's avatar
speedprogs_de committed
64
65


66
67
68
69
70
71
72
73
74
75
76
77
    /**
     * Action that displays a single author
     *
     * @param Tx_TerFe2_Domain_Model_Author $author The author to display
     * @return void
     */
    public function showAction(Tx_TerFe2_Domain_Model_Author $author)
    {
        $this->view->assign('author', $author);
        $authorExtensions = $this->extensionRepository->findByAuthor($author);
        $this->view->assign('authorExtensions', $authorExtensions);
    }
speedprogs_de's avatar
speedprogs_de committed
78
79


80
81
82
83
84
85
86
87
88
89
90
    /**
     * Displays a form to edit an existing author
     *
     * @param Tx_TerFe2_Domain_Model_Author $author The author to display
     * @return void
     * @dontvalidate $author
     */
    public function editAction(Tx_TerFe2_Domain_Model_Author $author)
    {
        $this->view->assign('author', $author);
    }
speedprogs_de's avatar
speedprogs_de committed
91
92


93
94
95
96
97
98
99
100
101
102
103
104
105
    /**
     * Updates an existing author
     *
     * @param Tx_TerFe2_Domain_Model_Author $author Author to update
     * @return void
     */
    public function updateAction(Tx_TerFe2_Domain_Model_Author $author)
    {
        $this->authorRepository->update($author);
        $this->redirectWithMessage($this->translate('msg.author_updated'), 'list');
    }

}