Passed
Push — master ( b8147c...403ced )
by Curtis
11:47 queued 05:39
created

PersonFormIndi::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace App\Forms\Builders;
4
5
use App\Person;
6
use LaravelEnso\Forms\Services\Form;
7
8
class PersonFormIndi
9
{
10
    protected const TemplatePath = __DIR__.'/../Templates/personindi.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
        $actions = ['back', 'update'];
34
        return $this->form
35
            ->value('company', optional($person->company())->id)
36
            ->append('userId', optional($person->user)->id)
37
            ->actions($actions)
38
            ->edit($person);
39
    }
40
}
41