Skip to content

Instantly share code, notes, and snippets.

@brandonsueur
Created September 12, 2019 23:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brandonsueur/6163bb714f0c1172c073553ade48e52d to your computer and use it in GitHub Desktop.
Save brandonsueur/6163bb714f0c1172c073553ade48e52d to your computer and use it in GitHub Desktop.
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests\UserAddRequest;
use App\LogActivity;
use Illuminate\Support\Facades\Hash;
class UsersController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function show()
{
$users = (Auth::user()->role === 'super-admin') ? User::all() : User::all()->where('user_type', Auth::user()->user_type);
return view('users.index', compact('users'));
}
/**
* Carriers to validate
*
* @return void
*/
public function toValidate(){
$users = User::all()
->where('role', 'admin')
->where('user_type', 'carrier')
->where('verified', 0);
return view('users.tovalidate', compact('users'));
}
public function profile($id){
$user = User::find($id);
// @TODO list my salarieds
return view('users.profile', compact('user'));
}
public function update(){
// your code ...
}
public function verify($id){
$user = User::find($id);
$user->verified = 1;
$user->save();
\LogActivity::addToLog("user(carrier):validate");
return redirect()->back()->with('success', "{$user->username} est maintenant validé.");
}
/**
* Delete an user
*
* @todo no remove all user data
* @param int $id
* @return void
*/
public function deleting($id){
$user = User::find($id);
$user->delete();
\LogActivity::addToLog("user:delete");
return redirect()->back()->with('success', "{$user->username} est maintenant supprimé.");
}
public function create(){
return view('users.create');
}
public function store(UserAddRequest $request)
{
$user = new User;
$user->first_name = $request->first_name;
$user->last_name = $request->last_name;
$user->username = strtolower($user->first_name . $request->last_name);
$user->email = $request->email;
$user->user_type = $request->user_type;
$user->role = $request->role;
$user->verified = true;
$user->password = Hash::make($request->password);
$user->save();
\LogActivity::addToLog("user($user->user_type):created");
return redirect()
->action('UsersController@show')
->with('status', "$request->first_name est maintenant inscrit sur la plateforme.");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment