Skip to content

Commit ab59817

Browse files
x0sinaImMohammad20000
authored andcommitted
fix: enable modify button when editing user with template
1 parent 9ce46fd commit ab59817

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

dashboard/src/components/dialogs/UserModal.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,18 @@ export default function UserModal({ isDialogOpen, onOpenChange, form, editingUse
694694
}
695695
}, [selectedTemplateId, form, t])
696696

697+
// Initialize form as valid when editing a user with existing template
698+
useEffect(() => {
699+
if (isDialogOpen && editingUser && selectedTemplateId) {
700+
const username = form.getValues('username')
701+
if (username && username.length >= 3) {
702+
form.clearErrors()
703+
setIsFormValid(true)
704+
setTouchedFields({ username: true })
705+
}
706+
}
707+
}, [isDialogOpen, editingUser, selectedTemplateId, form])
708+
697709
useEffect(() => {
698710
if (status === 'on_hold') {
699711
// Set default on_hold_expire_duration if not set
@@ -790,6 +802,15 @@ export default function UserModal({ isDialogOpen, onOpenChange, form, editingUse
790802
return true
791803
}
792804

805+
// Special case for editing user with template - if no fields touched, form is valid
806+
if (editingUser && selectedTemplateId !== null && !isSubmit) {
807+
const hasTouchedFields = Object.keys(touchedFields).some(key => touchedFields[key])
808+
if (!hasTouchedFields) {
809+
form.clearErrors()
810+
return true
811+
}
812+
}
813+
793814
// Special case for Next Plan enabled - if Next Plan is enabled and no other fields are touched,
794815
// consider the form valid (Next Plan fields are optional)
795816
if (nextPlanEnabled && editingUser && !isSubmit) {

0 commit comments

Comments
 (0)