From c4880737c632d859f4af365020040975aabdd918 Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Tue, 9 Dec 2025 14:40:12 +0000 Subject: [PATCH] Added the dropdown options for registered user or not, added the delete handler to delete from endpoint to users, fixing issues with module's handler's not working fine because of an issue with endpoint requesting --- src/components/entity/users/UserForm.js | 5 +++++ src/components/screens/ModuleListScreen.js | 6 +++--- src/components/screens/UserListScreen.js | 17 ++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/components/entity/users/UserForm.js b/src/components/entity/users/UserForm.js index 0dc9059..ab6c053 100644 --- a/src/components/entity/users/UserForm.js +++ b/src/components/entity/users/UserForm.js @@ -34,6 +34,11 @@ const UserForm = ({originalUser, onSubmit, onCancel}) => { {value: 7, label: '7 (Masters)'}, ]; + const registeredOptions = [ + {value: 1, label: 'True'}, + {value: 0, label: 'False'}, + ]; + // State ---------------------- const [user, setUser] = useState(originalUser || defaultUser); diff --git a/src/components/screens/ModuleListScreen.js b/src/components/screens/ModuleListScreen.js index a3e9f96..c98377a 100644 --- a/src/components/screens/ModuleListScreen.js +++ b/src/components/screens/ModuleListScreen.js @@ -25,7 +25,7 @@ const ModuleListScreen = ({navigation}) => { const deleteEndpoint = `${modulesEndpoint}/${module.ModuleID}`; const result = await API.delete(deleteEndpoint, module); if (result.isSuccess) { - loadModules(modulesEndpoint) + await loadModules(modulesEndpoint) navigation.goBack(); } else Alert.alert(result.message); @@ -38,7 +38,7 @@ const ModuleListScreen = ({navigation}) => { const handleAdd = async (module) => { const result = await API.post(modulesEndpoint, module); if (result.isSuccess) { - loadModules(modulesEndpoint) + await loadModules(modulesEndpoint) navigation.goBack(); } else Alert.alert(result.message); @@ -48,7 +48,7 @@ const ModuleListScreen = ({navigation}) => { const putEndpoint = `${modulesEndpoint}/${module.ModuleID}`; const result = await API.put(putEndpoint, module); if ( result.isSuccess ) { - loadModules(modulesEndpoint) + await loadModules(modulesEndpoint) navigation.navigate('ModuleListScreen'); } else Alert.alert(result.message); diff --git a/src/components/screens/UserListScreen.js b/src/components/screens/UserListScreen.js index 3167962..c13c347 100644 --- a/src/components/screens/UserListScreen.js +++ b/src/components/screens/UserListScreen.js @@ -13,16 +13,19 @@ const UserListScreen = ({navigation}) => { const usersEndpoint = 'https://softwarehub.uk/unibase/api/users'; // State ---------------------- - const [users, setUsers, isLoading, loadUsers] = useLoad(usersEndpoint); + const [users, isLoading, loadUsers] = useLoad(usersEndpoint); // Handlers ------------------- - const handleDelete = (user) => - setUsers(users.filter((item) => item.UserID !== user.UserID)); - const onDelete = (user) => { - handleDelete(user); - navigation.goBack(); - }; + const onDelete = async (user) => { + const deleteEndpoint = `${usersEndpoint}/${user.UserID}`; + const result = await API.delete(deleteEndpoint, user); + if (result.isSuccess) { + loadUsers(usersEndpoint) + navigation.goBack(); + } else + Alert.alert(result.message); + } const handleAdd = async (user) => { const result = await API.post(usersEndpoint, user);