mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2025-10-29 01:05:32 +00:00
210 lines
7.3 KiB
Plaintext
210 lines
7.3 KiB
Plaintext
{{ $model := . }}
|
|
|
|
|
|
<div class="flex max-w-lg mx-auto !pt-44">
|
|
<div class="flex-col w-full">
|
|
{{ if $model.redirect_url }}
|
|
<a href="{{ $model.redirect_url }}" class="text-gray-700 hover:text-slate-950">
|
|
<i class="ri-arrow-left-s-line"></i> Zurück
|
|
</a>
|
|
{{ else }}
|
|
<a href="/" class="text-gray-700 hover:text-slate-950">
|
|
<i class="ri-arrow-left-s-line"></i> Startseite
|
|
</a>
|
|
{{ end }}
|
|
<h1 class="text-2xl self-baseline w-full my-6 font-bold">Benutzer bearbeiten</h1>
|
|
{{ if $model.success }}
|
|
<div
|
|
class="text-green-800 text-sm mt-2 rounded bg-green-200 p-2 font-bold border-green-700
|
|
border-2 mb-3">
|
|
{{ $model.success }}
|
|
</div>
|
|
{{ end }}
|
|
{{ if $model.error }}
|
|
<div
|
|
class="text-red-800 text-sm mt-2 rounded bg-red-200 p-2 font-bold border-red-700
|
|
border-2 mb-3">
|
|
{{ $model.error }}
|
|
</div>
|
|
{{ end }}
|
|
<form class="w-full grid grid-cols-3 gap-4" method="POST" x-data="{ openpw: false }">
|
|
<div
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1 pb-1.5
|
|
bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="username" class="text-sm text-gray-700 font-bold">
|
|
Name <i class="ri-text"></i>
|
|
</label>
|
|
<input
|
|
type="text"
|
|
name="name"
|
|
id="name"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none"
|
|
placeholder=""
|
|
required
|
|
autocomplete="off"
|
|
value="{{ $model.user.Name }}"
|
|
autofocus />
|
|
</div>
|
|
<div
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1 pb-1.5
|
|
bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="username" class="text-sm text-gray-700 font-bold">
|
|
E-Mail <i class="ri-at-line"></i>
|
|
</label>
|
|
<input
|
|
type="email"
|
|
name="username"
|
|
id="username"
|
|
autocomplete="off"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none"
|
|
placeholder=""
|
|
required
|
|
value="{{ $model.user.Email }}" />
|
|
</div>
|
|
<div
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1
|
|
pb-1.5 bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="role" class="text-sm text-gray-700 font-bold">
|
|
Rolle <i class="ri-user-3-line"></i>
|
|
</label>
|
|
<select
|
|
{{ if not (eq $model.request.user.Role "Admin") -}}
|
|
disabled
|
|
{{- end }}
|
|
name="role"
|
|
id="role"
|
|
autocomplete="off"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none
|
|
disabled:opacity-50">
|
|
<option value="User" {{ if eq $model.user.Role "User" }}selected{{ end }}>
|
|
Benutzer
|
|
</option>
|
|
<option value="Editor" {{ if eq $model.user.Role "Editor" }}selected{{ end }}>
|
|
Redakteur
|
|
</option>
|
|
<option value="Admin" {{ if eq $model.user.Role "Admin" }}selected{{ end }}>
|
|
Administrator
|
|
</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-span-3">
|
|
<div class="flex items-center">
|
|
<input type="checkbox" name="openpw" id="openpw" x-model="openpw" class="mr-2" />
|
|
<label for="openpw" class="text-sm text-gray-700 font-bold">
|
|
Passwort ändern <i class="ri-key-2-line"></i>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{- if not (eq $model.request.user.Role "Admin") -}}
|
|
<div
|
|
x-bind:style="!openpw ? 'display:none' : ''"
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1 pb-1.5
|
|
bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="password_old" class="text-sm text-gray-700 font-bold"> Altes Passwort </label>
|
|
<input
|
|
x-bind:type="openpw ? 'password' : 'hidden'"
|
|
minlength="10"
|
|
name="password_old"
|
|
id="password_old"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none"
|
|
placeholder=""
|
|
required />
|
|
</div>
|
|
{{- end -}}
|
|
<div
|
|
x-bind:style="!openpw ? 'display:none' : ''"
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1 pb-1.5
|
|
bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="password" class="text-sm text-gray-700 font-bold"> Neues Passwort </label>
|
|
<input
|
|
x-bind:type="openpw ? 'password' : 'hidden'"
|
|
minlength="10"
|
|
name="password"
|
|
id="password"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none"
|
|
placeholder=""
|
|
required />
|
|
</div>
|
|
<div
|
|
x-bind:style="!openpw ? 'display:none' : ''"
|
|
class="col-span-3 border-2 border-transparent focus-within:border-slate-600 px-2 py-1 pb-1.5
|
|
bg-slate-200 focus-within:bg-slate-50 rounded-md transition-all duration-100">
|
|
<label for="password_repeat" class="text-sm text-gray-700 font-bold">
|
|
Passwort wiederholen
|
|
</label>
|
|
<input
|
|
x-bind:type="openpw ? 'password' : 'hidden'"
|
|
minlength="10"
|
|
name="password_repeat"
|
|
id="password_repeat"
|
|
class="mt-1 block w-full rounded-md focus:border-none focus:outline-none"
|
|
placeholder=""
|
|
required />
|
|
</div>
|
|
<div class="col-span-1 col-start-2">
|
|
<a
|
|
href="/user/{{ $model.user.Id }}/edit?redirectTo={{ $model.redirect_url }}"
|
|
type="cancel"
|
|
class="w-full inline-flex justify-center py-2 px-4 border border-transparent rounded-md text-sm font-medium text-gray-800 bg-stone-200 hover:bg-stone-300 cursor-pointer focus:outline-none
|
|
focus:ring-2 focus:ring-offset-2 focus:ring-slate-500 no-underline">
|
|
Zurücksetzen
|
|
</a>
|
|
</div>
|
|
<div class="col-span-1 col-start-3">
|
|
<input
|
|
type="hidden"
|
|
name="csrf_nonce"
|
|
id="csrf_nonce"
|
|
required
|
|
value="{{ $model.csrf_nonce }}" />
|
|
<input
|
|
type="hidden"
|
|
name="csrf_token"
|
|
id="csrf_token"
|
|
required
|
|
value="{{ $model.csrf_token }}" />
|
|
<button
|
|
type="submit"
|
|
class="w-full inline-flex justify-center py-2 px-4 border border-transparent rounded-md
|
|
shadow-sm text-sm font-medium text-white bg-slate-700 hover:bg-slate-800 cursor-pointer focus:outline-none
|
|
focus:ring-2 focus:ring-offset-2 focus:ring-slate-500">
|
|
Speichern
|
|
</button>
|
|
</div>
|
|
<!--
|
|
<div class="col-span-3">
|
|
<a href="/forgot-password" class="text-sm text-slate-600 hover:text-slate-900">
|
|
Passwort vergessen?
|
|
</a>
|
|
</div>
|
|
-->
|
|
</form>
|
|
|
|
<div class="col-span-1 mt-12 justify-self-end self-end items-end flex flex-row justify-end">
|
|
{{ if not $model.user.Deactivated }}
|
|
<button
|
|
type="submit"
|
|
formmethod="POST"
|
|
formaction="/user/{{ $model.user.Id }}/deactivate"
|
|
type="button"
|
|
class="inline-flex justify-center py-2 px-3 underline decoration-dotted
|
|
hover:decoration-solid
|
|
rounded-lg text-sm font-medium text-red-800 cursor-pointer">
|
|
Deaktivieren
|
|
</button>
|
|
{{ else }}
|
|
<button
|
|
type="submit"
|
|
formmethod="POST"
|
|
formaction="/user/{{ $model.user.Id }}/activate"
|
|
type="button"
|
|
class="inline-flex justify-center py-2 px-4 border border-transparent hover:border-red-800
|
|
rounded-lg text-sm font-medium text-red-800 bg-red-200 hover:bg-red-300 cursor-pointer
|
|
focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-slate-500 no-underline">
|
|
<i class="ri-restart-line"></i> Aktivieren
|
|
</button>
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
</div>
|