Completed
Push — master ( e274d6...06c648 )
by Jan
03:50
created

SupplierForm   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 33
c 1
b 0
f 0
dl 0
loc 50
rs 10
wmc 9

1 Method

Rating   Name   Duplication   Size   Complexity  
B additionalFormElements() 0 48 9
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\Form\AdminPages;
33
34
35
use App\Entity\Base\NamedDBElement;
36
use App\Entity\PriceInformations\Currency;
37
use App\Form\AdminPages\BaseEntityAdminForm;
38
use App\Form\Type\StructuralEntityType;
39
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
40
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
41
use Symfony\Component\Form\Extension\Core\Type\CurrencyType;
42
use Symfony\Component\Form\Extension\Core\Type\EmailType;
43
use Symfony\Component\Form\Extension\Core\Type\MoneyType;
44
use Symfony\Component\Form\Extension\Core\Type\TelType;
45
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
46
use Symfony\Component\Form\Extension\Core\Type\TextType;
47
use Symfony\Component\Form\Extension\Core\Type\UrlType;
48
use Symfony\Component\Form\FormBuilderInterface;
49
50
class SupplierForm extends BaseEntityAdminForm
51
{
52
    protected function additionalFormElements(FormBuilderInterface $builder, array $options, NamedDBElement $entity)
53
    {
54
        $is_new = $entity->getID() === null;
55
56
        $builder->add('address', TextareaType::class, ['label' => 'company.address.label',
57
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
58
            'attr' => ['placeholder' => 'company.address.placeholder'], 'required' => false,
59
            'empty_data' => ''
60
        ]);
61
62
        $builder->add('phone_number', TelType::class, ['label' => 'company.phone_number.label',
63
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
64
            'attr' => ['placeholder' => 'company.phone_number.placeholder'], 'required' => false,
65
            'empty_data' => ''
66
        ]);
67
68
        $builder->add('fax_number', TelType::class, ['label' => 'company.fax_number.label',
69
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
70
            'attr' => ['placeholder' => 'company.fax_number.placeholder'], 'required' => false,
71
            'empty_data' => ''
72
        ]);
73
74
        $builder->add('email_address', EmailType::class, ['label' => 'company.email.label',
75
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
76
            'attr' => ['placeholder' => 'company.email.placeholder'], 'required' => false,
77
            'empty_data' => ''
78
        ]);
79
80
        $builder->add('website', UrlType::class, ['label' => 'company.website.label',
81
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
82
            'attr' => ['placeholder' => 'company.website.placeholder'], 'required' => false,
83
            'empty_data' => ''
84
        ]);
85
86
        $builder->add('auto_product_url', UrlType::class, ['label' => 'company.auto_product_url.label',
87
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'edit', $entity),
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
88
            'attr' => ['placeholder' => 'company.auto_product_url.placeholder'], 'required' => false,
89
            'empty_data' => ''
90
        ]);
91
92
        $builder->add('default_currency', StructuralEntityType::class, ['class' => Currency::class,
93
            'required' => false, 'label' => 'supplier.default_currency.label', 'disable_not_selectable' => true,
94
        'disabled' => !$this->security->isGranted($is_new ? 'create' : 'move', $entity), ]);
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
95
96
        $builder->add('shipping_costs', MoneyType::class, [ 'required' => false,
97
            'currency' => $this->params->get('default_currency'), 'scale' => 3,
98
            'label' => 'supplier.shipping_costs.label',
99
            'disabled' => !$this->security->isGranted($is_new ? 'create' : 'move', $entity)
0 ignored issues
show
introduced by
The condition $is_new is always false.
Loading history...
100
        ]);
101
    }
102
}