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:
@@ -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,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user