Conflicts:
	skolehjem/resources/views/app/layout/base.blade.php
This commit is contained in:
frederikpyt 2020-07-28 14:30:37 +02:00
commit fd2184c654
17 changed files with 158 additions and 23 deletions

View File

@ -168,6 +168,15 @@ class ContactController extends Controller
'</td>'. '</td>'.
'</tr>'; '</tr>';
} }
}else{
$output.='<tr>'.
'<td>Din søgning matchede ikke nogen personer</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
} }
return Response($output); return Response($output);
} }

View File

@ -167,6 +167,14 @@ class EventController extends Controller
'</td>'. '</td>'.
'</tr>'; '</tr>';
} }
}else{
$output.='<tr>'.
'<td>Intet match</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
} }
return Response($output); return Response($output);
} }

View File

@ -164,6 +164,16 @@ class MenuPlanController extends Controller
'</td>'. '</td>'.
'</tr>'; '</tr>';
} }
}else{
$output.='<tr>'.
'<td>Intet match</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
} }
return Response($output); return Response($output);
} }

View File

@ -143,6 +143,13 @@ class rolesController extends Controller
'</td>'. '</td>'.
'</tr>'; '</tr>';
} }
}else{
$output.='<tr>'.
'<td>Intet match</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
} }
return Response($output); return Response($output);
} }

View File

@ -68,17 +68,18 @@ class UserController extends Controller
"email" => "required|email|unique:users", "email" => "required|email|unique:users",
"password" => "required|max:60", "password" => "required|max:60",
"phone" => "required|unique:users", "phone" => "required|unique:users",
"roles" => "max:255"
]); ]);
// Log::debug("FINISHED VALIDATION?"); // Log::debug("FINISHED VALIDATION?");
$rolez = $request->input("roles", [ "User" ]);
$user = new User($data); $user = new User($data);
// Log::debug("CREATED USER [NOT PERSISTED YET]"); // Log::debug("CREATED USER [NOT PERSISTED YET]");
$user->assignRole([ "R1", "R2" ]); $user->assignRole($rolez);
$user->save(); $user->save();
// Log::debug("SAVED USER"); // Log::debug("SAVED USER");
@ -166,16 +167,16 @@ class UserController extends Controller
//$user->save(); //$user->save();
} else { // Else if you're not on the admin site (user site) } else { // Else if you're not on the admin site (user site)
if ($request->input('password') != null) { // If you're editing the password if ($request->input('password') != null) { // If you're editing the password
if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back. if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back with fail message.
return Response::detect("users.editpass"); return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center">Der stod ikke det samme i `Nyt Password` & `Bekræft Nyt Password`!</p>');
} elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back. } elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back with fail message.
return Response::detect("users.editpass"); return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center">Det indtastede password i `Nuværende Password` er ikke dit nuværende password!</p>');
} else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout. } else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout.
/** @var User $user */ /** @var User $user */
$user->update($data); $user->update($data);
Auth::logout(); Auth::logout();
return redirect()->route("users.login"); return redirect()->route("users.login")->with('success#passwordchange', '<p class="text-center">Dit password er hermed ændret!</p>');
} }
} else { // Else if you're not editing the password but anything else (Email, Phone Number). Then update user. } else { // Else if you're not editing the password but anything else (Email, Phone Number). Then update user.
$user->update($data); $user->update($data);
@ -289,10 +290,13 @@ class UserController extends Controller
$users = User::query()->where('name_first', 'LIKE',$request->search.'%') $users = User::query()->where('name_first', 'LIKE',$request->search.'%')
->orWhere('name_last','LIKE', $request->search.'%') ->orWhere('name_last','LIKE', $request->search.'%')
->orWhere('phone','LIKE', $request->search.'%') ->orWhere('phone','LIKE', $request->search.'%')
->orWhere('email','LIKE',$request->search. '%')->get(); ->orWhere('email','LIKE',$request->search. '%')
->orWhere('name','LIKE',$request->search. '%')
->get();
if(count($users) !== 0){ if(count($users) !== 0){
foreach ($users as $key => $user){ foreach ($users as $key => $user){
$roles = null; $roles = null;
$rolesString = null; $rolesString = null;
@ -314,7 +318,7 @@ class UserController extends Controller
'<td>' . $user->name_last . '</td>'. '<td>' . $user->name_last . '</td>'.
'<td>' . $user->email . '</td>'. '<td>' . $user->email . '</td>'.
'<td>' . $user->phone .'</td>'. '<td>' . $user->phone .'</td>'.
'<td>' . $rolesString .'</td>'. '<td>' . $user->name .'</td>'.
'<td><a href="'. route("users.edit", [ "user" => $user->id ]) . '"><img class="w-100" src="'. asset('/images/icons/pencil-dark.svg') . '" alt="Update"></a></td>'. '<td><a href="'. route("users.edit", [ "user" => $user->id ]) . '"><img class="w-100" src="'. asset('/images/icons/pencil-dark.svg') . '" alt="Update"></a></td>'.
'<td><form method="post" action="' .route("users.destroy", [ "user" => $user->id ]). '" class="w-100 nostyle">'. '<td><form method="post" action="' .route("users.destroy", [ "user" => $user->id ]). '" class="w-100 nostyle">'.
csrf_field(). csrf_field().
@ -325,6 +329,16 @@ class UserController extends Controller
'</td>'. '</td>'.
'</tr>'; '</tr>';
} }
}else{
$output.='<tr>'.
'<td>Intet match</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
} }
return Response($output); return Response($output);
} }

View File

@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers;
use App\UserEvent;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class UserEventController extends Controller
{
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function create(Request $request)
{
// Get written data from events.index
$data = $request->validate([
"user_id" => "required|max:255",
"event_id" => "required|max:255"
]);
// Check the UserEvent table if there is a row that has the user_id AND the event_id
$getTableInfo = UserEvent::where('user_id', $request->user_id)
->where('event_id', $request->event_id)->get();
// If the row has both, then go back and show an error - Cause you're not allowed to be on the same event twice.
if (count($getTableInfo) > 0)
return redirect()->route("events.index")->with('error#' . $request->event_id, '<p class="text-center">Du har allerede tilmeldt dig denne Aktivitet!</p>');
// If not, then it keeps going and saves and shows a success message
$UserEvent = new UserEvent($data);
$UserEvent->save();
return redirect()->route("events.index")->with('signup#' . $request->event_id, '<p class="text-center">Du er hermed tilmeldt denne aktivitet!</p>');
}
}

View File

@ -6,5 +6,13 @@ use Illuminate\Database\Eloquent\Model;
class UserEvent extends Model class UserEvent extends Model
{ {
// /**
* The attributes that are mass assignable.
*
* @var array
*/
//protected variable which contains name of database field(s) to be filled.
protected $fillable = [
'user_id', 'event_id'
];
} }

View File

@ -15,8 +15,8 @@ class CreateUserEventsTable extends Migration
{ {
Schema::create('user_events', function (Blueprint $table) { Schema::create('user_events', function (Blueprint $table) {
$table->id(); $table->id();
$table->integer("user_id")->unique(); $table->integer("user_id");
$table->integer("event_id")->unique(); $table->integer("event_id");
$table->timestamps(); $table->timestamps();

View File

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Seeder;
class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$roles = [
"administrator" => "Admin",
"user" => "Userstuff",
];
foreach ($roles as $key => $value) {
try {
if (\Spatie\Permission\Models\Role::findByName($key))
continue;
} catch (Exception $e) {
$permission = new \Spatie\Permission\Models\Role();
$permission->name = $key;
$permission->description = $value;
$permission->save();
}
}
}
}

View File

@ -18,6 +18,7 @@
<input type="text" class="form-controller" id="search" name="search" placeholder="Søg på Navn, Email, Telefon"></input> <input type="text" class="form-controller" id="search" name="search" placeholder="Søg på Navn, Email, Telefon"></input>
</form> </form>
<p></p>
</div> </div>
<table class="tbl mt-2"> <table class="tbl mt-2">

View File

@ -32,9 +32,6 @@
<div class="segment"> <div class="segment">
<h3 class="text-white"><a href="{{ route("external-links.index") }}" class="text-white">Eksterne Links</a></h3> <h3 class="text-white"><a href="{{ route("external-links.index") }}" class="text-white">Eksterne Links</a></h3>
</div> </div>
{{-- <div class="segment">--}}
{{-- <h3 class="text-white"><a href="{{ route('staff.index') }}" class="text-white">Personale</a></h3>--}}
{{-- </div>--}}
<div class="segment"> <div class="segment">
<h3 class="text-white"><a href="{{ route("contacts.index") }}" class="text-white">Kontakter</a></h3> <h3 class="text-white"><a href="{{ route("contacts.index") }}" class="text-white">Kontakter</a></h3>
</div> </div>

View File

@ -17,7 +17,7 @@
<form method="post" action="{{ route("users.store") }}"> <form method="post" action="{{ route("users.store") }}">
@csrf @csrf
<input type="text" class="form-controller" id="search" name="search" placeholder="Søg efter navn"></input> <input type="text" class="form-controller" id="search" name="search" placeholder="Søg efter navn,email,tf"></input>
</form> </form>
</div> </div>
@ -60,7 +60,6 @@
</table> </table>
{{ $users->links() }} {{ $users->links() }}
<script> <script>
$('#search').on('keyup', function () { $('#search').on('keyup', function () {
$value = $(this).val(); $value = $(this).val();

View File

@ -9,10 +9,16 @@
<h1 class="text-center sde-blue mb-0">Aktiviteter</h1> <h1 class="text-center sde-blue mb-0">Aktiviteter</h1>
@if(!$events->isEmpty()) @if(!$events->isEmpty())
@foreach($events as $event) @foreach($events as $event)
<form method="get" action="{{ route("userevents.create") }}">
<h3 class="sde-blue bold text-center mb-0">{{$event->name}}</h3> <h3 class="sde-blue bold text-center mb-0">{{$event->name}}</h3>
<p class="text-center mt-0">{{$event->date}}</p> <p class="text-center mt-0">{{$event->date}}</p>
<p class="text-center">{{$event->description}}</p> <p class="text-center">{{$event->description}}</p>
<a class="btn text-center btn-sde-blue" id="tilmeld">Tilmeld</a> <input type="hidden" name="user_id" value="{{ Auth::user()->id }}">
<input type="hidden" name="event_id" value="{{ $event->id }}">
{!! session()->get('error#' . $event->id) !!}
{!! session()->get('signup#' . $event->id) !!}
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">Tilmeld</button>
</form>
@endforeach @endforeach
@else @else
<p class="text-center">Der er ingen aktiviteter!</p> <p class="text-center">Der er ingen aktiviteter!</p>

View File

@ -3,16 +3,12 @@
<head> <head>
<title>@yield("title")</title> <title>@yield("title")</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
{{-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">--}}
{{-- <script src="http://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>--}}
<link type="text/css" rel="stylesheet" href="{{ mix("/css/webapp.css") }}"> <link type="text/css" rel="stylesheet" href="{{ mix("/css/webapp.css") }}">
</head> </head>
<body> <body>
{{-- @yield("header")--}}
<header class="row align-items-center"> <header class="row align-items-center">
<img class="w-50" id="sdeLogo" src="{{URL::asset('/images/logos/Logo-normal.svg')}}" alt="Syddansk Erhvervsskole"> <img class="w-50" id="sdeLogo" src="{{URL::asset('/images/logos/Logo-normal.svg')}}" alt="Syddansk Erhvervsskole">
<button class="ml-auto" id="toggle"> <button class="ml-auto" id="toggle">
{{-- <img src="{{URL::asset('/images/icons/icon.svg')}}" id="menuIcon" alt="-">--}}
<i id="icon" class="fas fa-bars"></i> <i id="icon" class="fas fa-bars"></i>
</button> </button>
</header> </header>

View File

@ -16,6 +16,8 @@
<input type="password" name="password" id="new" required> <input type="password" name="password" id="new" required>
<span>Bekræft Nyt Password:</span> <span>Bekræft Nyt Password:</span>
<input type="password" name="confirmpassword" id="confirm" required> <input type="password" name="confirmpassword" id="confirm" required>
{!! session()->get('error#notsamepass') !!}
{!! session()->get('error#oldpass') !!}
<button type="submit" class="btn text-center btn-sde-blue mt-1">Rediger</button> <button type="submit" class="btn text-center btn-sde-blue mt-1">Rediger</button>
</form> </form>
</main> </main>

View File

@ -19,6 +19,7 @@
<span class="toggle__text text-white">Remember password</span> <span class="toggle__text text-white">Remember password</span>
</span> </span>
</label> </label>
{!! session()->get('success#passwordchange') !!}
<input class="btn btn-dark" type="submit" value="Sign in"> <input class="btn btn-dark" type="submit" value="Sign in">
</form> </form>
<a class="text-white text-center" href="{{ route('users.show-forgot') }}">Forgot password?</a> <a class="text-white text-center" href="{{ route('users.show-forgot') }}">Forgot password?</a>

View File

@ -42,8 +42,8 @@ Route::get("/washing-reservationsapi", "WashingReservationController@api")->name
Route::resource("contacts", "ContactController"); Route::resource("contacts", "ContactController");
Route::resource("menu-plans", "MenuPlanController"); Route::resource("menu-plans", "MenuPlanController");
Route::resource("users", "UserController"); Route::resource("users", "UserController");
//Route::resource("staff", "StaffController");
Route::resource("events", "EventController"); Route::resource("events", "EventController");
Route::resource("userevents", "UserEventController");
Route::resource("washing-machines", "WashingMachineController"); Route::resource("washing-machines", "WashingMachineController");
Route::resource("washing-reservations", "WashingReservationController"); Route::resource("washing-reservations", "WashingReservationController");
Route::resource("feedbacks", "FeedbackController"); Route::resource("feedbacks", "FeedbackController");