Session message on fail - Users / Roles / Events

This commit is contained in:
Anders 2020-08-04 09:34:56 +02:00
parent b59189eac0
commit 2edfd71de9
7 changed files with 55 additions and 28 deletions

View File

@ -58,7 +58,7 @@ class EventController extends Controller
public function store(Request $request)
{
$requestBody = $request->validate([
"name" => "required|unique:events|max:255",
"name" => "required|max:255",
"description" => "required|max:255",
"date" => "required"
]);
@ -66,11 +66,12 @@ class EventController extends Controller
//creates a new Event model with the given parameter
$event = new Event($requestBody);
$saved = $event->save();
$allEvents = Event::query()->where('name', '=', $request->name)->get();
if(!$saved){
return Response::detect("events.store");
}else{
if(count($allEvents) > 0)
return redirect()->route("events.index", ['events' => $event])->with('EventNameExists', '<p><b>Der findes allerede et event med det navn!</b></p>');
else {
$event->save();
$event = Event::query()->paginate($request->input("limit", 20));
return redirect()->route("events.index", ['events' => $event]);
}
@ -129,14 +130,17 @@ class EventController extends Controller
$data = $request->all();
$event = Event::find($id);
$event->update($data);
$saved = $event->save();
if(!$saved){
return Response::detect("events.update", [ "event" => $event]);
$allEvents = Event::query()->where('name', '=', $request->name)->where('id', '!=', $id)->get();
if(count($allEvents) > 0){
return redirect()->route("events.index", ['events' => $event])->with('EventNameExists', '<p><b>Der findes allerede et event med det navn!</b></p>');
}else{
$event->update($data);
$event->save();
$event = Event::query()->paginate($request->input("limit", 20));
return Response::detect("events.index", ['events' => $event]);
return redirect()->route("events.index", ['events' => $event]);
}
}

View File

@ -57,13 +57,16 @@ class rolesController extends Controller
]);
$role = new Role($requestRole);
$saved = $role->save();
if(!$saved){
return Response::detect("roles.store");
}else{
$allRoles = Role::query()->where('name', '=', $request->name)->get();
// If there already is a role with that name, then don't create
if(count($allRoles) > 0)
return redirect()->route("roles.store")->with('RoleNameExists', '<p><b>Der findes allerede en rolle med det navn!</b></p>');
else { // Else - Create it
$role->save();
$roles = Role::query()->paginate($request->input("limit", 20));
return Response::detect("roles.index", ['roles' => $roles]);
return redirect()->route("roles.index", ['roles' => $roles]);
}
@ -103,14 +106,16 @@ class rolesController extends Controller
{
$data = $request->all();
$role = Role::find($id);
$role->update($data);
$saved = $role->save();
if(!$saved){
return Response::detect("roles.update", [ "role" => $role ]);
$allRoles = Role::query()->where('name', '=', $request->name)->where('id', '!=', $id)->get();
if(count($allRoles) > 0){
return redirect()->route("roles.index", [ "role" => $role ])->with('RoleNameExists', '<p><b>Der findes allerede en rolle med det navn!</b></p>');
}else{
$role->update($data);
$role->save();
$roles = Role::query()->paginate($request->input("limit", 20));
return Response::detect("roles.index", ['roles' => $roles]);
return redirect()->route("roles.index", ['roles' => $roles]);
}
}

View File

@ -67,14 +67,20 @@ class UserController extends Controller
$data = $request->validate([
"name_first" => "required|max:255",
"name_last" => "required|max:255",
"email" => "required|email|unique:users",
"email" => "required",
"password" => "required|max:60",
"phone" => "required|unique:users",
"phone" => "required",
]);
if ($request->password != $request->password2) {
$allUsersEmail = User::query()->where('email', '=', $request->email)->get();
$allUsersPhone = User::query()->where('phone', '=', $request->phone)->get();
if ($request->password != $request->password2)
return redirect()->route('users.create')->with('error#notsamepass', '<p><b>Der stod ikke det samme i `Password` & `Confirm Password`!</b></p>');
}
elseif (count($allUsersEmail) > 0)
return redirect()->route('users.create')->with('EmailExists', '<p><b>Der findes allerede en bruger med den Email!</b></p>');
elseif (count($allUsersPhone) > 0)
return redirect()->route('users.create')->with('PhoneExists', '<p><b>Der findes allerede en bruger med det Telefon Nr.!</b></p>');
$roles = $request->input("roles", [ "User" ]);
@ -130,9 +136,16 @@ class UserController extends Controller
{
$user = User::find($id);
$allUsersEmail = User::query()->where('email', '=', $request->email)->where('id', '!=', $id)->get();
$allUsersPhone = User::query()->where('phone', '=', $request->phone)->where('id', '!=', $id)->get();
if($id === Auth::id() || auth()->user()->hasPermissionTo("user.edit")) {
if ($request->roles != null && auth()->user()->hasPermissionTo("user.edit")) { //You can only edit roles on the admin site, so if there is an input roles, then update user info and edit roles
if ($request->password != "") { // If you have edited the password, then run this
if(count($allUsersEmail) > 0)
return redirect()->route('users.edit', ['user' => $id])->with('EmailExists', '<p><b>Der findes allerede en bruger med den Email!</b></p>');
elseif(count($allUsersPhone) > 0)
return redirect()->route('users.edit', ['user' => $id])->with('PhoneExists', '<p><b>Der findes allerede en bruger med det Telefon Nr.!</b></p>');
elseif ($request->password != "") { // If you have edited the password, then run this
if ($request->password == $request->password2) { // If the password is the same as confirm password, then update everything from user
$data = $request->all();
/** @var User $user */

View File

@ -17,8 +17,9 @@
@csrf
<input type="text" class="form-controller" id="search" name="search" placeholder="Søg på Evt Navn, Evt Dato"></input>
</form>
</div>
{!! session()->get('EventNameExists') !!}
<table class="tbl mt-2">
<tr>
<th>Event Navn</th>

View File

@ -17,9 +17,9 @@
@csrf
<input type="text" class="form-controller" id="search" name="search" placeholder="Søg efter navn"></input>
</form>
</div>
{!! session()->get('RoleNameExists') !!}
<table class="tbl mt-2">
<tr>
<th>Navn</th>

View File

@ -12,6 +12,8 @@
@section("content")
<h1>Opret Bruger:</h1>
{!! session()->get('error#notsamepass') !!}
{!! session()->get('EmailExists') !!}
{!! session()->get('PhoneExists') !!}
<form method="post" action="{{ route("users.store") }}">
@csrf
<label for="name_first">Fornavn:</label>

View File

@ -12,6 +12,8 @@
@section("content")
<h1>Rediger Bruger:</h1>
{!! session()->get('error#notsamepass') !!}
{!! session()->get('EmailExists') !!}
{!! session()->get('PhoneExists') !!}
<form method="post" action="{{ route("users.update", ['user' => $user]) }}">
@csrf
@method("put")