Implemented permissions and user administration #2
|
|
@ -48,6 +48,29 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col class="leader3" />
|
||||||
|
<col class="form3" />
|
||||||
|
<col class="form3" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr><th colspan="3">Benutzer</th></tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Benutzername</td>
|
||||||
|
<td colspan="2"><input type="text" name="username" value={data.user.username} /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Passwort ändern</td>
|
||||||
|
<td><input type="password" name="password1" /></td>
|
||||||
|
<td><input type="password" name="password2" placeholder="Wiederholen"/></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{#if data.user?.id == data.loggedInAs.id || Permissions.has(data.loggedInAs.permissions ?? 0, Permissions.USERADMIN.EDIT_PASSWORD)}
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col class="leader2" />
|
<col class="leader2" />
|
||||||
|
|
@ -64,8 +87,16 @@
|
||||||
<td>
|
<td>
|
||||||
<div class="permission-selector">
|
<div class="permission-selector">
|
||||||
{#each Permissions.iterate(Permissions.USERADMIN) as permission}
|
{#each Permissions.iterate(Permissions.USERADMIN) as permission}
|
||||||
<label for={permission.value}>
|
<label>
|
||||||
<input type="checkbox" id={permission.value} name="USERADMIN" value={permission.value} data-bits={Permissions.deconstruct(permission.value).join(" ")} onclick={(event) => {
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
id={permission.value}
|
||||||
|
name="USERADMIN"
|
||||||
|
value={permission.value}
|
||||||
|
checked={Permissions.has(data.user.permissions, permission.value)}
|
||||||
|
disabled={data.user?.id == data.loggedInAs.id}
|
||||||
|
data-bits={Permissions.deconstruct(permission.value).join(" ")}
|
||||||
|
onclick={(event) => {
|
||||||
const target = event.target as HTMLInputElement
|
const target = event.target as HTMLInputElement
|
||||||
const container = target.parentElement?.parentElement ?? target
|
const container = target.parentElement?.parentElement ?? target
|
||||||
|
|
||||||
|
|
@ -110,28 +141,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<table>
|
|
||||||
<colgroup>
|
|
||||||
<col class="leader3" />
|
|
||||||
<col class="form3" />
|
|
||||||
<col class="form3" />
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr><th colspan="3">Benutzer</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Benutzername</td>
|
|
||||||
<td colspan="2"><input type="text" name="username" value={data.user.username} /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Passwort ändern</td>
|
|
||||||
<td><input type="password" name="password1" /></td>
|
|
||||||
<td><input type="password" name="password2" placeholder="Wiederholen"/></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<button type="submit">Speichern</button>
|
<button type="submit">Speichern</button>
|
||||||
|
|
||||||
|
|
@ -182,6 +193,10 @@ input[type="text"] {
|
||||||
border-bottom: solid 1px black;
|
border-bottom: solid 1px black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
label:has(input[type="checkbox"][disabled]) {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
margin-left: 85%;
|
margin-left: 85%;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue