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

89 lines
2.6 KiB
PHP
Raw Normal View History

2019-02-13 16:37:14 +01:00
<?php
namespace App\Http\Controllers;
2021-04-27 17:29:47 +02:00
use App\Http\Requests\Users\StoreUsers;
use App\Http\Requests\Users\UpdateUsers;
2019-02-13 16:37:14 +01:00
use App\Site;
use App\User;
2019-02-20 16:26:32 +01:00
use App\Log;
2019-02-13 16:37:14 +01:00
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
2021-04-27 17:29:47 +02:00
2019-02-13 16:37:14 +01:00
class MaintenanceController extends Controller
{
2021-04-27 17:29:47 +02:00
public function show(Request $request)
{
2019-02-13 16:37:14 +01:00
$users = User::all();
2019-03-01 09:23:52 +01:00
$dates = array(date('m/Y'));
for ($i = 1; $i < 6; $i++) {
2021-04-27 17:29:47 +02:00
$datebefore = date("m/Y", strtotime("-" . $i . " months"));
array_push($dates, $datebefore);
2019-02-20 16:26:32 +01:00
}
$count = array();
foreach ($dates as $month) {
$logs = Log::where(['log_statut' => 'NOK'])->whereMonth('created_at', $month)->count();
array_push($count, [$month, $logs]);
}
2021-04-27 17:29:47 +02:00
return view('maintenance.index')->with(['users' => $users, 'logs' => $count]);
2019-02-13 16:37:14 +01:00
}
2021-04-27 17:29:47 +02:00
public function usercreate(Request $request)
{
2019-02-13 16:37:14 +01:00
$sites = Site::all();
2021-04-27 17:29:47 +02:00
return view('user.create')->with(['sites' => $sites]);
2019-02-13 16:37:14 +01:00
}
public function userstore(StoreUsers $request)
2021-04-27 17:29:47 +02:00
{
$user = new User();
$user->fill($request->validated());
$user->password = Hash::make($request->password);
2019-02-13 16:37:14 +01:00
$user->save();
$sites = Site::whereIn('site_id', $request->site)->get()->pluck('id')->toArray();
$user->sites()->sync($sites);
2019-02-13 16:37:14 +01:00
return redirect()->route('maintenance.user.edit', ['user' => $user]);
2019-02-13 16:37:14 +01:00
}
2021-04-27 17:29:47 +02:00
public function useredit(User $user)
{
2025-04-03 09:30:16 +02:00
$sites = Site::all();
2019-02-13 16:37:14 +01:00
$usersites = $user->sites()->get()->pluck('site_id')->toArray();
2021-04-27 17:29:47 +02:00
return view('user.edit')->with(['user' => $user, 'sites' => $sites, 'usersites' => $usersites]);
2019-02-13 16:37:14 +01:00
}
public function userupdate(UpdateUsers $request, User $user)
2021-04-27 17:29:47 +02:00
{
//MAJ du User
$user->fill($request->validated());
2019-02-13 16:37:14 +01:00
$user->save();
//MAJ des sites liés
$sites = Site::whereIn('site_id', $request->site)->get()->pluck('id')->toArray();
2019-02-13 16:37:14 +01:00
$user->sites()->sync($sites);
2021-04-27 17:29:47 +02:00
$marques = Auth::user()->sites;
2021-04-27 17:29:47 +02:00
$submarques = $marques->map(function ($marque) {
2019-02-13 16:37:14 +01:00
return $marque->only(['id', 'site_nom', 'site_id', 'site_logo']);
});
session()->put('marques', $submarques);
return redirect()->route('maintenance.show');
}
2019-02-13 16:37:14 +01:00
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);
2019-02-21 12:05:28 +01:00
}
2019-02-13 16:37:14 +01:00
}
}