feat(users) : ajout prénom et nom sur l'utilisateur
Auto Tag Develop / tag (push) Successful in 7s

Deux colonnes nullable firstName/lastName sur User (groupes me:read,
user:list, user:write), éditables dans le drawer utilisateur (admin).
L'affichage reste basé sur le username pour l'instant. Migration +
valeurs de démo dans les fixtures.
This commit is contained in:
Matthieu
2026-05-26 11:33:08 +02:00
parent 1991c43f8c
commit 02ac151ac0
5 changed files with 93 additions and 0 deletions
+18
View File
@@ -11,6 +11,16 @@
:error="touched.username && !form.username.trim() ? 'Le nom est requis' : ''"
@blur="touched.username = true"
/>
<MalioInputText
v-model="form.firstName"
label="Prénom"
input-class="w-full"
/>
<MalioInputText
v-model="form.lastName"
label="Nom"
input-class="w-full"
/>
<MalioInputPassword
v-model="form.password"
label="Mot de passe"
@@ -84,6 +94,8 @@ const isSubmitting = ref(false)
const form = reactive({
username: '',
firstName: '',
lastName: '',
password: '',
roles: [] as string[],
isEmployee: false,
@@ -98,11 +110,15 @@ watch(() => props.modelValue, (open) => {
if (open) {
if (props.item) {
form.username = props.item.username ?? ''
form.firstName = props.item.firstName ?? ''
form.lastName = props.item.lastName ?? ''
form.password = ''
form.roles = [...props.item.roles]
form.isEmployee = props.item.isEmployee ?? false
} else {
form.username = ''
form.firstName = ''
form.lastName = ''
form.password = ''
form.roles = ['ROLE_USER']
form.isEmployee = false
@@ -124,6 +140,8 @@ async function handleSubmit() {
try {
const payload: UserWrite = {
username: form.username.trim(),
firstName: form.firstName.trim() || null,
lastName: form.lastName.trim() || null,
roles: form.roles,
isEmployee: form.isEmployee,
}