ldc-mesbr-app/app/Http/Controllers/MaintenanceController.php

102 lines
3.1 KiB
PHP
Raw Normal View History

2019-02-13 16:37:14 +01:00
<?php
namespace App\Http\Controllers;
use App\Campagne;
use App\Coupon;
use App\Site;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class MaintenanceController extends Controller
{
public function show(Request $request){
$users = User::all();
foreach ($users as &$user) {
$sites = $user->sites()->get();
$user->linkedSites = "";
foreach ($sites as $site) {
$user->linkedSites .= '<p>'.$site->site_nom.'</p>';
}
}
return view('maintenance.index')->with(['users'=> $users]);
}
public function usercreate(Request $request){
$sites = Site::all();
return view('user.create')->with(['sites'=> $sites]);
}
public function userstore(Request $request){
$nom = $request->name;
$email = $request->email;
$password = $request->password;
$role = $request->roles;
$user = new User;
$user->name = $nom;
$user->email = $email;
$user->password = Hash::make($password);
$user->roles = $role;
$user->save();
//MAJ des sites liés
$siteids = $request->site;
$sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray();
$user->sites()->sync($sites);
$sites = Site::all();
$usersites = $user->sites()->get()->pluck('site_id')->toArray();
return view('user.edit')->with(['user'=> $user, 'sites'=> $sites, 'usersites' => $usersites]);
}
public function useredit(User $user){
$sites = Site::all();
$usersites = $user->sites()->get()->pluck('site_id')->toArray();
return view('user.edit')->with(['user'=> $user, 'sites'=> $sites, 'usersites' => $usersites]);
}
public function userdestroy(User $user){
if ($user->delete()) {
return redirect(route('maintenance.show'));
} else {
session()->flash('delete_nok', 'Erreur lors de la suppression');
return view('maintenance.user.edit')->with('user', $user);
}
}
public function userupdate(Request $request, User $user){
//MAJ du User
$user->name = $request->name;
$user->email = $request->email;
$user->roles = $request->roles;
$user->save();
//MAJ des sites liés
$siteids = $request->site;
$sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray();
$user->sites()->sync($sites);
$marques = Auth::user()->sites;
$submarques = $marques->map(function($marque){
return $marque->only(['id', 'site_nom', 'site_id', 'site_logo']);
});
session()->put('marques', $submarques);
$users = User::all();
foreach ($users as &$user) {
$sites = $user->sites()->get();
$user->linkedSites = "";
foreach ($sites as $site) {
$user->linkedSites .= '<p>'.$site->site_nom.'</p>';
}
}
return view('maintenance.index')->with(['users'=> $users]);
}
}