@@ -24,6 +24,7 @@ import {
24
24
setCurrentItem ,
25
25
deleteLdap ,
26
26
testLdap ,
27
+ resetTestLdap ,
27
28
} from 'Plugins/services/redux/actions/LdapActions'
28
29
import { getPersistenceType } from 'Plugins/services/redux/actions/PersistenceActions'
29
30
import { useTranslation } from 'react-i18next'
@@ -50,6 +51,7 @@ function LdapListPage({
50
51
const history = useHistory ( )
51
52
const [ item , setItem ] = useState ( { } )
52
53
const [ modal , setModal ] = useState ( false )
54
+ const [ testRunning , setTestRunning ] = useState ( false )
53
55
const pageSize = localStorage . getItem ( 'paggingSize' ) || 10
54
56
const [ alertObj , setAlertObj ] = useState ( {
55
57
severity : '' ,
@@ -137,31 +139,44 @@ function LdapListPage({
137
139
function testLdapConnect ( row ) {
138
140
const testPromise = new Promise ( function ( resolve , reject ) {
139
141
setAlertObj ( { ...alertObj , show : false } )
142
+ dispatch ( resetTestLdap ( ) )
140
143
resolve ( )
141
144
} )
142
145
143
146
testPromise
144
147
. then ( ( ) => {
148
+ setTestRunning ( true )
145
149
dispatch ( testLdap ( row ) )
146
150
} )
147
- . then ( ( ) => {
148
- if ( testStatus ) {
149
- setAlertObj ( {
150
- ...alertObj ,
151
- severity : 'success' ,
152
- message : `${ t ( 'messages.ldap_connection_success' ) } ` ,
153
- show : true ,
154
- } )
155
- } else {
156
- setAlertObj ( {
157
- ...alertObj ,
158
- severity : 'error' ,
159
- message : `${ t ( 'messages.ldap_connection_error' ) } ` ,
160
- show : true ,
161
- } )
162
- }
163
- } )
164
151
}
152
+
153
+ useEffect ( ( ) => {
154
+ dispatch ( resetTestLdap ( ) )
155
+ setAlertObj ( { ...alertObj , show : false } )
156
+ } , [ ] )
157
+
158
+ useEffect ( ( ) => {
159
+ if ( testStatus === null || ! testRunning ) {
160
+ return
161
+ }
162
+
163
+ if ( testStatus ) {
164
+ setAlertObj ( {
165
+ ...alertObj ,
166
+ severity : 'success' ,
167
+ message : `${ t ( 'messages.ldap_connection_success' ) } ` ,
168
+ show : true ,
169
+ } )
170
+ } else {
171
+ setAlertObj ( {
172
+ ...alertObj ,
173
+ severity : 'error' ,
174
+ message : `${ t ( 'messages.ldap_connection_error' ) } ` ,
175
+ show : true ,
176
+ } )
177
+ }
178
+ } , [ testStatus ] )
179
+
165
180
return (
166
181
< Card style = { applicationStyle . mainCard } >
167
182
< CardBody >
0 commit comments