Completed
Push — Recipes ( 630f49...c8afb0 )
by Laurent
12:15 queued 03:48
created

CompanyController::createAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12

Duplication

Lines 12
Ratio 100 %

Importance

Changes 0
Metric Value
dl 12
loc 12
rs 9.8666
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
/**
3
 * CompanyController Configuration controller of the establishment.
4
 *
5
 * PHP Version 7
6
 *
7
 * @author    Quétier Laurent <[email protected]>
8
 * @copyright 2014 Dev-Int GLSR
9
 * @license   http://opensource.org/licenses/gpl-license.php GNU Public License
10
 *
11
 * @version GIT: <git_id>
12
 *
13
 * @link      https://github.com/Dev-Int/glsr
14
 */
15
namespace App\Controller\Settings;
16
17
use App\Controller\AbstractAppController;
18
use Symfony\Component\HttpFoundation\Request;
19
use Symfony\Component\Routing\Annotation\Route;
20
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
21
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
22
use App\Entity\Settings\Company;
23
use App\Form\Type\Settings\CompanyType;
24
25
/**
26
 * Company controller.
27
 *
28
 * @category Controller
29
 *
30
 * @Route("/admin/settings/company")
31
 */
32 View Code Duplication
class CompanyController extends AbstractAppController
33
{
34
    /**
35
     * Lists all Company entities.
36
     *
37
     * @Route("/", name="company")
38
     * @Method("GET")
39
     * @Template()
40
     *
41
     * @return array
42
     */
43
    public function indexAction()
44
    {
45
        $return = $this->abstractIndexAction('Settings\Company', 'company', null);
46
    
47
        return $return;
48
    }
49
50
    /**
51
     * Finds and displays a Company entity.
52
     *
53
     * @Route("/{id}/show", name="company_show", requirements={"id"="\d+"})
54
     * @Method("GET")
55
     * @Template()
56
     *
57
     * @param \App\Entity\Settings\Company $company Company item to display
58
     * @return array
59
     */
60
    public function showAction(Company $company)
61
    {
62
        $return = $this->abstractShowAction($company, 'company');
63
64
        return $return;
65
    }
66
67
    /**
68
     * Displays a form to create a new Company entity.
69
     *
70
     * @Route("/new", name="company_new")
71
     * @Method("GET")
72
     * @Template()
73
     *
74
     * @return array
75
     */
76
    public function newAction()
77
    {
78
        $return = $this->abstractNewAction(
79
            'Settings\Company',
80
            'App\Entity\Settings\Company',
81
            CompanyType::class,
82
            'company'
83
        );
84
85
        return $return;
86
    }
87
88
    /**
89
     * Creates a new Company entity.
90
     *
91
     * @Route("/create", name="company_create")
92
     * @Method("POST")
93
     * @Template("settings/company/new.html.twig")
94
     *
95
     * @param \Symfony\Component\HttpFoundation\Request $request Form request
96
     * @return array
97
     */
98
    public function createAction(Request $request)
99
    {
100
        $return = $this->abstractCreateAction(
101
            $request,
102
            'Settings\Company',
103
            'App\Entity\Settings\Company',
104
            CompanyType::class,
105
            'company'
106
        );
107
108
        return $return;
109
    }
110
111
    /**
112
     * Displays a form to edit an existing Company entity.
113
     *
114
     * @Route("/{id}/edit", name="company_edit", requirements={"id"="\d+"})
115
     * @Method("GET")
116
     * @Template()
117
     *
118
     * @param \App\Entity\Settings\Company $company Company item to edit
119
     * @return array
120
     */
121
    public function editAction(Company $company)
122
    {
123
        $return = $this->abstractEditAction(
124
            $company,
125
            'company',
126
            CompanyType::class
127
        );
128
129
        return $return;
130
    }
131
132
    /**
133
     * Edits an existing Company entity.
134
     *
135
     * @Route("/{id}/update", name="company_update", requirements={"id"="\d+"})
136
     * @Method("PUT")
137
     * @Template("settings/company/edit.html.twig")
138
     *
139
     * @param \App\Entity\Settings\Company              $company Company item to update
140
     * @param \Symfony\Component\HttpFoundation\Request $request Form request
141
     * @return array
142
     */
143
    public function updateAction(Company $company, Request $request)
144
    {
145
        $return = $this->abstractUpdateAction(
146
            $company,
147
            $request,
148
            'company',
149
            CompanyType::class
150
        );
151
152
        return $return;
153
    }
154
155
    /**
156
     * Deletes a Company entity.
157
     *
158
     * @Route("/{id}/delete", name="company_delete", requirements={"id"="\d+"})
159
     * @Method("DELETE")
160
     *
161
     * @param \App\Entity\Settings\Company              $company Company item to delete
162
     * @param \Symfony\Component\HttpFoundation\Request $request Form request
163
     * @return array
164
     */
165
    public function deleteAction(Company $company, Request $request)
166
    {
167
        $this->abstractDeleteAction(
168
            $company,
169
            $request,
170
            'company'
171
        );
172
173
        return $this->redirectToRoute('company');
174
    }
175
}
176