Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
LocaleController
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 update
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace App\Http\Controllers\admin;
4
5use App\Http\Controllers\Controller;
6use Illuminate\Http\RedirectResponse;
7use Illuminate\Http\Request;
8use Illuminate\Validation\Rule;
9
10/**
11 * The admin language switcher. Stores the choice on the signed-in user
12 * (users.locale) so it follows them across devices.
13 */
14class LocaleController extends Controller
15{
16    public function update(Request $request): RedirectResponse
17    {
18        $data = $request->validate([
19            'locale' => ['required', 'string', Rule::in(array_keys(config('app.locales', [])))],
20        ]);
21
22        $request->user()->update(['locale' => $data['locale']]);
23
24        return back();
25    }
26}