File: D:/HostingSpaces/Eurotools/euro-tools.nl/app/KommaApp/Users/Kms/UserController.php
<?php
/**
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma
*/
namespace App\KommaApp\Users\Kms;
use App\KommaApp\Kms\Core\SectionController;
use App\KommaApp\Users\Models\Role;
use App\KommaApp\Users\Models\User;
use Carbon\Carbon;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
class UserController extends SectionController
{
use SendsPasswordResetEmails;
protected $slug = "user";
protected $forModelName = User::class;
function __construct(UserSection $section)
{
parent::__construct($section);
}
/**
* Endpoint for approval via link
*
* @param User $user
* @return View
*/
function approve(User $user)
{
/** @var User $authenticatedUser */
$authenticatedUser = Auth::user();
if(!$authenticatedUser->role()->first()->isAtLeast(Role::Admin)) return redirect('/kms')->withErrors([
'message' => __('kms/users.not_enough_rights_to_approve')
]);
$userRoute = route('users.show', ['user' => $user]);
/** @var View $showView */
if($user->approved == 0) {
$this->sendResetLinkEmail(new Request(['email' => $user->email])); //Also see user's sendPasswordResetNotification method
$user->save();
return redirect($userRoute)->with('success', __('kms/users.can_login_enabled'));
} else {
return redirect($userRoute)->withErrors(['OnOff-approved' => __('kms/users.already_can_login')]);
}
}
/**
* For the sendResetLink email call above. We know the email is valid at this point so we always return true
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function validateEmail(Request $request)
{
return true;
}
}