File: /var/www/ipsremont-demo/app/Http/Controllers/SettingsController.php
<?php
namespace App\Http\Controllers;
use App\Http\Requests\Settings\UpdateRequest;
use App\Models\Permission;
use App\Repository\Settings\SettingsRepository;
use App\Services\Settings\SettingsService;
use App\Traits\GridTrait;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\View\View;
class SettingsController extends Controller
{
use GridTrait;
/** @var string */
protected string $permission = Permission::settings;
/** @var SettingsService */
protected SettingsService $service;
/**
* SettingsController constructor.
*/
public function __construct()
{
parent::__construct();
$this->service = new SettingsService();
}
/**
* Display a listing of the resource.
*
* @return Application|Factory|View
*/
public function index()
{
$name = SettingsService::getField('name');
$email = SettingsService::getField('email');
$password = SettingsService::getField('password');
$validate = new UpdateRequest();
return view('settings.edit', compact('name','email', 'password', 'validate'));
}
/**
* Update the specified resource in storage.
*
* @param UpdateRequest $request
* @return RedirectResponse
*/
public function update(UpdateRequest $request)
{
$this->service->update($request);
return redirect()->route('settings.index')
->with(["messageSuccess" => __('settings.messageUpdate')]);
}
}