initial commit
This commit is contained in:
25
resources/views/users/create.blade.php
Normal file
25
resources/views/users/create.blade.php
Normal file
@@ -0,0 +1,25 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Benutzer')
|
||||
@section('heading', 'Neuer Benutzer')
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('users.store') }}" class="max-w-md space-y-4 rounded-xl border border-slate-800 bg-slate-900/60 p-6">
|
||||
@csrf
|
||||
<label class="block"><span class="text-sm text-slate-400">Name</span>
|
||||
<input name="name" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">E-Mail</span>
|
||||
<input type="email" name="email" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Passwort</span>
|
||||
<input type="password" name="password" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Passwort bestätigen</span>
|
||||
<input type="password" name="password_confirmation" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Rolle</span>
|
||||
<select name="role" class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2">
|
||||
@foreach($roles as $role)<option value="{{ $role->value }}">{{ $role->label() }}</option>@endforeach
|
||||
</select></label>
|
||||
<label class="flex items-center gap-2 text-sm">
|
||||
<input type="checkbox" name="is_active" value="1" checked class="rounded text-cyan-500"> Aktiv
|
||||
</label>
|
||||
<button class="rounded-lg bg-cyan-600 px-6 py-2 font-medium hover:bg-cyan-500">Erstellen</button>
|
||||
</form>
|
||||
@endsection
|
||||
33
resources/views/users/edit.blade.php
Normal file
33
resources/views/users/edit.blade.php
Normal file
@@ -0,0 +1,33 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Benutzer')
|
||||
@section('heading', 'Benutzer bearbeiten')
|
||||
|
||||
@section('content')
|
||||
<form method="POST" action="{{ route('users.update', $user) }}" class="max-w-md space-y-4 rounded-xl border border-slate-800 bg-slate-900/60 p-6">
|
||||
@csrf @method('PUT')
|
||||
<label class="block"><span class="text-sm text-slate-400">Name</span>
|
||||
<input name="name" value="{{ old('name', $user->name) }}" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">E-Mail</span>
|
||||
<input type="email" name="email" value="{{ old('email', $user->email) }}" required class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Neues Passwort (optional)</span>
|
||||
<input type="password" name="password" class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Passwort bestätigen</span>
|
||||
<input type="password" name="password_confirmation" class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2"></label>
|
||||
<label class="block"><span class="text-sm text-slate-400">Rolle</span>
|
||||
<select name="role" class="mt-1 w-full rounded-lg border border-slate-700 bg-slate-800 px-3 py-2">
|
||||
@foreach($roles as $role)
|
||||
<option value="{{ $role->value }}" @selected(old('role', $user->role->value) === $role->value)>{{ $role->label() }}</option>
|
||||
@endforeach
|
||||
</select></label>
|
||||
<label class="flex items-center gap-2 text-sm">
|
||||
<input type="checkbox" name="is_active" value="1" @checked(old('is_active', $user->is_active)) class="rounded text-cyan-500"> Aktiv
|
||||
</label>
|
||||
<button class="rounded-lg bg-cyan-600 px-6 py-2 font-medium hover:bg-cyan-500">Speichern</button>
|
||||
</form>
|
||||
@if(auth()->id() !== $user->id)
|
||||
<form method="POST" action="{{ route('users.destroy', $user) }}" class="mt-4" onsubmit="return confirm('Benutzer löschen?')">
|
||||
@csrf @method('DELETE')
|
||||
<button class="rounded-lg border border-red-800 px-4 py-2 text-sm text-red-400">Benutzer löschen</button>
|
||||
</form>
|
||||
@endif
|
||||
@endsection
|
||||
37
resources/views/users/index.blade.php
Normal file
37
resources/views/users/index.blade.php
Normal file
@@ -0,0 +1,37 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Benutzer')
|
||||
@section('heading', 'Benutzerverwaltung')
|
||||
|
||||
@section('content')
|
||||
<a href="{{ route('users.create') }}" class="mb-6 inline-block rounded-lg bg-cyan-600 px-4 py-2 text-sm font-medium hover:bg-cyan-500">+ Benutzer</a>
|
||||
|
||||
<div class="overflow-hidden rounded-xl border border-slate-800">
|
||||
<table class="w-full text-left text-sm">
|
||||
<thead class="bg-slate-900 text-slate-400">
|
||||
<tr>
|
||||
<th class="px-4 py-3">Name</th>
|
||||
<th class="px-4 py-3">E-Mail</th>
|
||||
<th class="px-4 py-3">Rolle</th>
|
||||
<th class="px-4 py-3">VMs</th>
|
||||
<th class="px-4 py-3">Status</th>
|
||||
<th class="px-4 py-3"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-slate-800">
|
||||
@foreach($users as $user)
|
||||
<tr>
|
||||
<td class="px-4 py-3 font-medium">{{ $user->name }}</td>
|
||||
<td class="px-4 py-3 text-slate-400">{{ $user->email }}</td>
|
||||
<td class="px-4 py-3">{{ $user->role->label() }}</td>
|
||||
<td class="px-4 py-3">{{ $user->vms_count }}</td>
|
||||
<td class="px-4 py-3">{{ $user->is_active ? 'Aktiv' : 'Deaktiviert' }}</td>
|
||||
<td class="px-4 py-3 text-right">
|
||||
<a href="{{ route('users.edit', $user) }}" class="text-cyan-400 hover:underline">Bearbeiten</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{ $users->links() }}
|
||||
@endsection
|
||||
Reference in New Issue
Block a user