ldc-com-app-bo/app/Http/Controllers/UsersController.php

108 lines
3.4 KiB
PHP
Raw Normal View History

2021-01-15 14:47:59 +01:00
<?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){
2021-03-10 11:00:53 +01:00
$name = "";
2021-01-15 14:47:59 +01:00
$folders[$k]['parents'] = $folder->parents;
2021-03-10 11:00:53 +01:00
foreach ($folder->parents as $parent)
$name .= json_decode($parent->name)->fr . " / ";
$name .= json_decode($folder->name)->fr;
$folders[$k]['name'] = $name;
2021-01-15 14:47:59 +01:00
}
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);
}
}