Passed
Push — master ( 51edae...d29a9b )
by Curtis
11:52 queued 05:54
created

PersonForm::edit()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 10
c 0
b 0
f 0
nc 2
nop 1
dl 0
loc 14
rs 9.9332
1
<?php
2
3
namespace App\Forms\Builders;
4
5
use App\Person;
6
use LaravelEnso\Forms\Services\Form;
7
8
class PersonForm
9
{
10
    protected const TemplatePath = __DIR__.'/../Templates/person.json';
11
12
    protected Form $form;
13
14
    public function __construct()
15
    {
16
        $this->form = new Form(static::TemplatePath);
17
    }
18
19
    public function create()
20
    {
21
        return $this->form->create();
22
    }
23
24
    public function edit(Person $person)
25
    {
26
        if ($person->hasUser()) {
27
            $this->form->meta(
28
                'email',
29
                'tooltip',
30
                'Email can only be edited via the user form'
31
            )->readonly('email');
32
        }
33
34
        return $this->form
35
            ->value('company', optional($person->company())->id)
36
            ->append('userId', optional($person->user)->id)
37
            ->edit($person);
38
    }
39
}
40