Add audit button to user profile
This commit is contained in:
parent
15e02f978c
commit
3cd64c3527
@ -1,20 +1,21 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { get } from 'svelte/store';
|
||||||
|
import { t } from '$lib/i18n';
|
||||||
|
import type { ActionData, PageData } from './$types';
|
||||||
|
import AdminPrivilegesSelect from '$lib/components/admin/AdminPrivilegesSelect.svelte';
|
||||||
|
import { env } from '$env/dynamic/public';
|
||||||
|
import { onNavigate } from '$app/navigation';
|
||||||
|
import { popupFormErrors } from '$lib/form-errors';
|
||||||
|
import { displayMessage, clearMessages } from '$lib/stores/messages.store';
|
||||||
|
import { hasPrivileges } from '$lib/utils';
|
||||||
import SplitView from '$lib/components/container/SplitView.svelte';
|
import SplitView from '$lib/components/container/SplitView.svelte';
|
||||||
import FormWrapper from '$lib/components/form/FormWrapper.svelte';
|
import FormWrapper from '$lib/components/form/FormWrapper.svelte';
|
||||||
import FormSection from '$lib/components/form/FormSection.svelte';
|
import FormSection from '$lib/components/form/FormSection.svelte';
|
||||||
import FormControl from '$lib/components/form/FormControl.svelte';
|
import FormControl from '$lib/components/form/FormControl.svelte';
|
||||||
import ColumnView from '$lib/components/container/ColumnView.svelte';
|
import ColumnView from '$lib/components/container/ColumnView.svelte';
|
||||||
import AvatarCard from '$lib/components/avatar/AvatarCard.svelte';
|
import AvatarCard from '$lib/components/avatar/AvatarCard.svelte';
|
||||||
import Button from '$lib/components/Button.svelte';
|
|
||||||
import { t } from '$lib/i18n';
|
|
||||||
import type { ActionData, PageData } from './$types';
|
|
||||||
import AdminPrivilegesSelect from '$lib/components/admin/AdminPrivilegesSelect.svelte';
|
|
||||||
import { env } from '$env/dynamic/public';
|
|
||||||
import ActionButton from '$lib/components/ActionButton.svelte';
|
import ActionButton from '$lib/components/ActionButton.svelte';
|
||||||
import { onNavigate } from '$app/navigation';
|
import Button from '$lib/components/Button.svelte';
|
||||||
import { popupFormErrors } from '$lib/form-errors';
|
|
||||||
import { displayMessage, clearMessages } from '$lib/stores/messages.store';
|
|
||||||
import { get } from 'svelte/store';
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
data: PageData;
|
data: PageData;
|
||||||
@ -23,6 +24,8 @@
|
|||||||
|
|
||||||
let { data, form }: Props = $props();
|
let { data, form }: Props = $props();
|
||||||
|
|
||||||
|
const hasAuditPrivilege = hasPrivileges(data.user.privileges, ['admin:audit']);
|
||||||
|
|
||||||
$effect(() => popupFormErrors(form, 'admin.users.errors'));
|
$effect(() => popupFormErrors(form, 'admin.users.errors'));
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
if (form?.errors && !form.errors.length) {
|
if (form?.errors && !form.errors.length) {
|
||||||
@ -97,16 +100,33 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<h3>{$t('admin.users.actions')}</h3>
|
<h3>{$t('admin.users.actions')}</h3>
|
||||||
{#if data.details.activated}
|
<ul>
|
||||||
<ActionButton action="?/email&type=password">{$t('admin.users.passwordEmail')}</ActionButton>
|
{#if hasAuditPrivilege}
|
||||||
{:else}
|
<li>
|
||||||
<ActionButton action="?/email&type=activate">{$t('admin.users.activationEmail')}</ActionButton
|
<a href="/ssoadmin/audit?user={data.details.uuid}">{$t('admin.audit.title')}</a>
|
||||||
>
|
</li>
|
||||||
<form action="?/deleteInfo" method="POST">
|
{/if}
|
||||||
<Button type="submit" variant="link">{$t('admin.users.deleteInfo')}</Button>
|
|
||||||
- <span>{$t('admin.users.deleteInfoHint')}</span>
|
{#if data.details.activated}
|
||||||
</form>
|
<li>
|
||||||
{/if}
|
<ActionButton action="?/email&type=password"
|
||||||
|
>{$t('admin.users.passwordEmail')}</ActionButton
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
{:else}
|
||||||
|
<li>
|
||||||
|
<ActionButton action="?/email&type=activate"
|
||||||
|
>{$t('admin.users.activationEmail')}</ActionButton
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<form action="?/deleteInfo" method="POST">
|
||||||
|
<Button type="submit" variant="link">{$t('admin.users.deleteInfo')}</Button>
|
||||||
|
- <span>{$t('admin.users.deleteInfoHint')}</span>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
|
</ul>
|
||||||
</ColumnView>
|
</ColumnView>
|
||||||
</SplitView>
|
</SplitView>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user