From 797f6c238377a656bebde8c6c0af0acd15a251dc Mon Sep 17 00:00:00 2001 From: Rafiafrzl Date: Tue, 23 Dec 2025 20:10:33 +0700 Subject: [PATCH] refactor: clean up comments and streamline payload handling in user detail form --- src/pages/contact/component/ListContact.jsx | 8 ++------ src/pages/user/component/DetailUser.jsx | 19 ++++--------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/pages/contact/component/ListContact.jsx b/src/pages/contact/component/ListContact.jsx index 84ab232..cc443b8 100644 --- a/src/pages/contact/component/ListContact.jsx +++ b/src/pages/contact/component/ListContact.jsx @@ -267,9 +267,6 @@ const ListContact = memo(function ListContact(props) { } } - // Backend doesn't support is_active filter or order parameter - // Contact hanya supports: criteria, name, code, limit, page - const queryParams = new URLSearchParams(); Object.entries(searchParams).forEach(([key, value]) => { if (value !== '' && value !== null && value !== undefined) { @@ -309,11 +306,10 @@ const ListContact = memo(function ListContact(props) { // Listen for saved contact data useEffect(() => { if (props.lastSavedContact) { - fetchContacts(); // Refetch all contacts when data is saved + fetchContacts(); } }, [props.lastSavedContact]); - // Get contacts (already filtered by backend) const getFilteredContacts = () => { return filteredContacts; }; @@ -326,7 +322,7 @@ const ListContact = memo(function ListContact(props) { const showAddModal = () => { props.setSelectedData(null); props.setActionMode('add'); - // Pass the current active tab to determine contact type + props.setContactType?.(activeTab); }; diff --git a/src/pages/user/component/DetailUser.jsx b/src/pages/user/component/DetailUser.jsx index 1304fae..e829949 100644 --- a/src/pages/user/component/DetailUser.jsx +++ b/src/pages/user/component/DetailUser.jsx @@ -220,32 +220,24 @@ const DetailUser = (props) => { // For update mode: only send email if it has changed if (FormData.user_id) { - // Only include email if it has changed from original if (FormData.user_email !== originalEmail) { payload.user_email = FormData.user_email; } - // Add is_active for update mode + payload.is_active = FormData.is_active; } else { - // For create mode: always send email payload.user_email = FormData.user_email; } - // Only add role_id if it exists (backend requires number >= 1, no null) if (FormData.role_id) { payload.role_id = FormData.role_id; } // Add password and name for new user (create mode) if (!FormData.user_id) { - payload.user_name = FormData.user_name; // Username only for create - payload.user_password = FormData.password; // Backend expects 'user_password' - // Don't send confirmPassword, is_sa for create + payload.user_name = FormData.user_name; + payload.user_password = FormData.password; } - // For update mode: - // - Don't send 'user_name' (username is immutable) - // - is_active is now sent for update mode - // - Only send email if it has changed try { console.log('Payload being sent:', payload); @@ -261,7 +253,6 @@ const DetailUser = (props) => { // Check if response is successful if (response && (response.statusCode === 200 || response.statusCode === 201)) { - // If in edit mode and newPassword is provided, change password if (FormData.user_id && FormData.newPassword) { try { const passwordResponse = await changePassword( @@ -1146,9 +1137,7 @@ const DetailUser = (props) => { ))} {errors.role_id && ( - - {errors.role_id} - + {errors.role_id} )}