hotfix(admin/user): implement password reset and update user password

- Implemented password reset functionality for admin users.
- Updated the user edit and create forms to use a password meter component for password strength validation.
- Modified the `AdminuserController` to handle the new password field and update user passwords.
- Updated the `createUserValidator` and `updateUserValidator` to validate the new password field.
- Updated the password field to `new_password` in the `Edit.vue` and `Create.vue` components.
- Added `showRequiredMessage` prop to `SimplePasswordMeter` component.
- Added conditional rendering for password strength bar in `SimplePasswordMeter` component.
- Added `fieldLabel` prop to `SimplePasswordMeter` component.
- Updated form submission to handle errors and reset password field.
This commit is contained in:
Kaimbacher 2025-03-19 15:52:37 +01:00
parent 9f5d35f7ba
commit 70f016422c
5 changed files with 77 additions and 25 deletions

View file

@ -41,13 +41,28 @@ const form = useForm({
first_name: '',
last_name: '',
email: '',
password: '',
new_password: '',
password_confirmation: '',
roles: [],
});
const submit = async () => {
await router.post(stardust.route('settings.user.store'), form);
// await router.post(stardust.route('settings.user.store'), form);
await form.post(stardust.route('settings.user.store'), {
preserveScroll: true,
onSuccess: () => {
form.reset();
},
onError: () => {
if (form.errors.new_password) {
form.reset('new_password');
enabled.value = false;
// newPasswordInput.value.focus();
// newPasswordInput.value?.focus();
}
},
});
};
</script>
@ -109,7 +124,7 @@ const submit = async () => {
</FormControl>
</FormField>
<password-meter :password="form.password" @score="handleScore" /> -->
<PasswordMeter v-model:password="form.password" :errors="form.errors" @score="handleScore" />
<PasswordMeter v-model="form.new_password" :errors="form.errors" @score="handleScore" />
<FormField label="Password Confirmation" :class="{ 'text-red-400': errors.password_confirmation }">
<FormControl