Passed
Push — master ( 2b0762...9c76a8 )
by Bertrand
26:13 queued 17:43
created

WizardProfileController::redirectToWiki()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 7
rs 10
1
<?php
2
3
4
namespace App\Http\Controllers\Profile;
5
6
7
use App\Http\Controllers\Controller;
8
use App\Src\UseCases\Domain\Context\Model\Characteristic;
9
use App\Src\UseCases\Domain\Context\Queries\GetAllCharacteristics;
10
use App\Src\UseCases\Domain\Shared\Gateway\AuthGateway;
11
use App\Src\UseCases\Domain\Users\Dto\GetUserRole;
12
use App\Src\UseCases\Domain\Users\Profile\FillWikiUserProfile;
13
use Illuminate\Http\Request;
14
use Illuminate\Support\Facades\Auth;
15
16
/**
17
 * Controller used for filling public profile for the wiki
18
 */
19
class WizardProfileController extends Controller
20
{
21
    public function showWizard()
22
    {
23
        $characteristics = app(GetAllCharacteristics::class)->get();
24
        $user = app(AuthGateway::class)->current()->toArray();
25
        $roles = app(GetUserRole::class)->get()->toArray();
26
27
        return view('users.wizard-profile.wizard', [
28
            'userRoles' => $roles,
29
            'firstname' => $user['firstname'],
30
            'lastname' => $user['lastname'],
31
            'farmingTypeMain' => $characteristics[Characteristic::FARMING_TYPE],
32
            'croppingTypeMain' => $characteristics[Characteristic::CROPPING_SYSTEM],
33
            'email' => $user['email']
34
        ]);
35
    }
36
37
    public function processWizard(Request $request, FillWikiUserProfile $fillWikiUserProfile)
38
    {
39
        $role = $request->input('role') !== null ? $request->input('role') : '';
40
        $firstname = $request->input('firstname') !== null ? $request->input('firstname') : '';
41
        $lastname = $request->input('lastname') !== null ? $request->input('lastname') : '';
42
        $postalCode = $request->input('postal_code') !== null ? $request->input('postal_code') : '';
43
        $email = $request->input('email') !== null ? $request->input('email') : '';
44
        $farmingType = $request->input('farming_type') !== null ? $request->input('farming_type') : [];
45
46
        $fillWikiUserProfile->fill(Auth::user()->uuid, $role, $firstname, $lastname, $email, $postalCode, $farmingType);
47
        return redirect()->route('verification.notice');
48
    }
49
}
50