Completed
Push — master ( 959e79...856e20 )
by Jan
06:43
created

GroupController::exportEntity()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 3
dl 0
loc 3
rs 10
1
<?php
2
/**
3
 *
4
 * part-db version 0.1
5
 * Copyright (C) 2005 Christoph Lechner
6
 * http://www.cl-projects.de/
7
 *
8
 * part-db version 0.2+
9
 * Copyright (C) 2009 K. Jacobs and others (see authors.php)
10
 * http://code.google.com/p/part-db/
11
 *
12
 * Part-DB Version 0.4+
13
 * Copyright (C) 2016 - 2019 Jan Böhmer
14
 * https://github.com/jbtronics
15
 *
16
 * This program is free software; you can redistribute it and/or
17
 * modify it under the terms of the GNU General Public License
18
 * as published by the Free Software Foundation; either version 2
19
 * of the License, or (at your option) any later version.
20
 *
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with this program; if not, write to the Free Software
28
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
29
 *
30
 */
31
32
namespace App\Controller;
33
34
35
use App\Controller\AdminPages\BaseAdminController;
36
use App\Entity\Parts\Category;
37
use App\Entity\UserSystem\Group;
38
use App\Form\AdminPages\CategoryAdminForm;
39
use App\Form\AdminPages\GroupAdminForm;
40
use App\Services\EntityExporter;
41
use App\Services\EntityImporter;
42
use App\Services\StructuralElementRecursionHelper;
43
use Doctrine\ORM\EntityManagerInterface;
44
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
45
use Symfony\Component\HttpFoundation\Request;
46
use Symfony\Component\HttpFoundation\Response;
47
48
/**
49
 * @Route("/group")
50
 */
51
class GroupController extends BaseAdminController
52
{
53
    protected $entity_class = Group::class;
54
    protected $twig_template = 'AdminPages/GroupAdmin.html.twig';
55
    protected $form_class = GroupAdminForm::class;
56
    protected $route_base = 'group';
57
58
    /**
59
     * @Route("/{id}/edit", requirements={"id"="\d+"}, name="group_edit")
60
     * @Route("/{id}/", requirements={"id"="\d+"})
61
     * @param Group $entity
62
     * @param Request $request
63
     * @param EntityManagerInterface $em
64
     * @return Response
65
     */
66
    public function edit(Group $entity, Request $request, EntityManagerInterface $em)
67
    {
68
        return $this->_edit($entity, $request, $em);
69
    }
70
71
    /**
72
     * @Route("/new", name="group_new")
73
     * @Route("/")
74
     * @param Request $request
75
     * @param EntityManagerInterface $em
76
     * @param EntityImporter $importer
77
     * @return Response
78
     */
79
    public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer)
80
    {
81
        return $this->_new($request, $em, $importer);
82
    }
83
84
    /**
85
     * @Route("/{id}", name="group_delete", methods={"DELETE"})
86
     * @param Request $request
87
     * @param Group $entity
88
     * @param StructuralElementRecursionHelper $recursionHelper
89
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
90
     */
91
    public function delete(Request $request, Group $entity, StructuralElementRecursionHelper $recursionHelper)
92
    {
93
        return $this->_delete($request, $entity, $recursionHelper);
94
    }
95
96
    /**
97
     * @Route("/export", name="group_export_all")
98
     * @param EntityManagerInterface $em
99
     * @param EntityExporter $exporter
100
     * @param Request $request
101
     * @return Response
102
     */
103
    public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request)
104
    {
105
        return $this->_exportAll($em, $exporter, $request);
106
    }
107
108
    /**
109
     * @Route("/{id}/export", name="group_export")
110
     * @param Group $entity
111
     * @param EntityExporter $exporter
112
     * @param Request $request
113
     * @return Response
114
     */
115
    public function exportEntity(Group $entity, EntityExporter $exporter, Request $request)
116
    {
117
        return $this->_exportEntity($entity, $exporter, $request);
118
    }
119
}