Änderung: Erweiterung der Benutzer- und Rechteverwaltung im Admin-Bereich

Änderungen:
- Neue Funktionen zur Benutzerverwaltung hinzugefügt: Benutzer suchen, Benutzer abrufen und Benutzer aktualisieren.
- Implementierung von Funktionen zur Verwaltung von Benutzerrechten: Rechtearten auflisten, Benutzerrechte auflisten, Recht hinzufügen und Recht entfernen.
- Routen für die neuen Funktionen im Admin-Router definiert.
- Übersetzungen für Benutzer- und Rechteverwaltung in den Sprachdateien aktualisiert.

Diese Anpassungen verbessern die Verwaltung von Benutzern und deren Rechten im Admin-Bereich und erweitern die Funktionalität der Anwendung.
This commit is contained in:
Torsten Schulz (local)
2025-09-12 09:13:22 +02:00
parent 7decc4c4ae
commit 550b4b5fcb
9 changed files with 440 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
<template>
<div class="admin-user-search">
<div class="search">
<input v-model="q" type="text" :placeholder="$t('admin.user.name')" @keyup.enter="search" />
<button @click="search">{{ $t('admin.user.search') }}</button>
</div>
<div v-if="results.length" class="results">
<ul>
<li v-for="u in results" :key="u.id" @click="$emit('select', u)">{{ u.username }}</li>
</ul>
</div>
</div>
</template>
<script>
import apiClient from '@/utils/axios.js';
export default {
name: 'AdminUserSearch',
emits: ['select'],
data() {
return { q: '', results: [] };
},
methods: {
async search() {
const res = await apiClient.get('/api/admin/users/search', { params: { q: this.q } });
this.results = res.data || [];
}
}
};
</script>
<style scoped>
.admin-user-search { display: grid; gap: 8px; }
.search { display: flex; gap: 8px; }
ul { list-style: none; padding: 0; margin: 0; }
li { padding: 6px 8px; border: 1px solid #ddd; margin-bottom: 6px; cursor: pointer; }
li:hover { background: #f5f5f5; }
</style>