103 lines
3.2 KiB
PHP
103 lines
3.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers;
|
||
|
|
|
||
|
|
use App\Models\AppUsers;
|
||
|
|
use App\Models\Directories;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Support\Facades\Hash;
|
||
|
|
|
||
|
|
class UsersController extends Controller
|
||
|
|
{
|
||
|
|
public function __construct()
|
||
|
|
{
|
||
|
|
$this->middleware('auth');
|
||
|
|
}
|
||
|
|
|
||
|
|
public function index(Request $request) {
|
||
|
|
return view('users.index', ['users' => AppUsers::all()]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function add(Request $request) {
|
||
|
|
return view('users.add');
|
||
|
|
}
|
||
|
|
|
||
|
|
public function store(Request $request) {
|
||
|
|
$surname = $request->surname;
|
||
|
|
$firstname = $request->firstname;
|
||
|
|
$email = $request->email;
|
||
|
|
$password = $request->new_password;
|
||
|
|
$activated = $request->UserActivated;
|
||
|
|
|
||
|
|
$user = AppUsers::where('email', '=', $email)->first();
|
||
|
|
if ($user) {
|
||
|
|
return back()->with(['status' => 'Cette adresse email est déjà utilisée.', 'surname' => $surname, 'firstname' => $firstname, 'activated' => $activated]);
|
||
|
|
}else {
|
||
|
|
$user = new AppUsers();
|
||
|
|
$user->surname = $surname;
|
||
|
|
$user->firstname = $firstname;
|
||
|
|
$user->email = $email;
|
||
|
|
$user->password = Hash::make($password);
|
||
|
|
$user->authorizedFolders = json_encode([]);
|
||
|
|
if ($activated === NULL) {
|
||
|
|
$user->activated = 0;
|
||
|
|
} else {
|
||
|
|
$user->activated = 1;
|
||
|
|
}
|
||
|
|
$user->save();
|
||
|
|
return redirect()->route('users.edit', ['id' => $user->id])->with('status', 'Ajouté !');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public function edit(Request $request) {
|
||
|
|
$user = AppUsers::findOrFail($request->id);
|
||
|
|
$folders = Directories::where('needAuthorization', 1)->get();
|
||
|
|
foreach ($folders as $k => $folder){
|
||
|
|
$folders[$k]['parents'] = $folder->parents;
|
||
|
|
}
|
||
|
|
return view('users.edit', ['user' => $user, 'folders' => $folders]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function update(Request $request) {
|
||
|
|
$surname = $request->surname;
|
||
|
|
$firstname = $request->firstname;
|
||
|
|
$email = $request->email;
|
||
|
|
$password = $request->new_password;
|
||
|
|
$activated = $request->UserActivated;
|
||
|
|
$role = $request->role;
|
||
|
|
$authorized_folders = $request->authorized_folders;
|
||
|
|
|
||
|
|
$user = AppUsers::findOrFail($request->id);
|
||
|
|
$user->surname = $surname;
|
||
|
|
$user->firstname = $firstname;
|
||
|
|
$user->email = $email;
|
||
|
|
$user->role = $role;
|
||
|
|
if ($authorized_folders === 'null') {
|
||
|
|
$user->authorizedFolders = json_encode([]);
|
||
|
|
}else{
|
||
|
|
$user->authorizedFolders = $authorized_folders;
|
||
|
|
}
|
||
|
|
if ($password != NULL){
|
||
|
|
$user->password = Hash::make($password);
|
||
|
|
}
|
||
|
|
if ($activated === NULL) {
|
||
|
|
$user->activated = 0;
|
||
|
|
}else{
|
||
|
|
$user->activated = 1;
|
||
|
|
}
|
||
|
|
$user->save();
|
||
|
|
|
||
|
|
return redirect()->route('users.edit', ['id' => $user->id])->with('status', 'Enregistré !');
|
||
|
|
}
|
||
|
|
|
||
|
|
public function generateAuthorizedFolders(Request $request) {
|
||
|
|
$current = $request->current;
|
||
|
|
$directory = $request->directory;
|
||
|
|
$all = array_merge($current, [$directory]);
|
||
|
|
|
||
|
|
var_dump($all);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|