@@ -10,12 +10,13 @@ import {
10
10
GET_CLASSROOM_SUCCEEDED ,
11
11
FLAG_ADDING_USER_IN_CLASSROOM ,
12
12
FLAG_EDITING_USER_IN_CLASSROOM ,
13
- FLAG_DELETING_USER_IN_CLASSROOM ,
13
+ FLAG_DELETING_USERS_IN_CLASSROOM ,
14
14
} from '../types' ;
15
15
import {
16
16
ERROR_GENERAL ,
17
17
ERROR_DUPLICATE_CLASSROOM_NAME ,
18
18
ERROR_DUPLICATE_USERNAME_IN_CLASSROOM ,
19
+ ERROR_NO_USER_TO_DELETE ,
19
20
} from '../config/errors' ;
20
21
import {
21
22
ADD_CLASSROOM_CHANNEL ,
@@ -26,9 +27,9 @@ import {
26
27
GET_CLASSROOM_CHANNEL ,
27
28
EDIT_CLASSROOM_CHANNEL ,
28
29
ADD_USER_IN_CLASSROOM_CHANNEL ,
29
- DELETE_USER_IN_CLASSROOM_CHANNEL ,
30
- SHOW_DELETE_USER_IN_CLASSROOM_PROMPT_CHANNEL ,
31
- RESPOND_DELETE_USER_IN_CLASSROOM_PROMPT_CHANNEL ,
30
+ DELETE_USERS_IN_CLASSROOM_CHANNEL ,
31
+ SHOW_DELETE_USERS_IN_CLASSROOM_PROMPT_CHANNEL ,
32
+ RESPOND_DELETE_USERS_IN_CLASSROOM_PROMPT_CHANNEL ,
32
33
EDIT_USER_IN_CLASSROOM_CHANNEL ,
33
34
} from '../config/channels' ;
34
35
import {
@@ -47,7 +48,8 @@ import {
47
48
ERROR_DELETING_USER_IN_CLASSROOM_MESSAGE ,
48
49
ERROR_EDITING_USER_IN_CLASSROOM_MESSAGE ,
49
50
SUCCESS_EDITING_USER_IN_CLASSROOM_MESSAGE ,
50
- SUCCESS_DELETING_USER_IN_CLASSROOM_MESSAGE ,
51
+ SUCCESS_DELETING_USERS_IN_CLASSROOM_MESSAGE ,
52
+ ERROR_NO_USER_TO_DELETE_MESSAGE ,
51
53
} from '../config/messages' ;
52
54
import { createFlag } from './common' ;
53
55
@@ -58,7 +60,9 @@ const flagDeletingClassroom = createFlag(FLAG_DELETING_CLASSROOM);
58
60
const flagEditingClassroom = createFlag ( FLAG_EDITING_CLASSROOM ) ;
59
61
const flagEditingUserInClassroom = createFlag ( FLAG_EDITING_USER_IN_CLASSROOM ) ;
60
62
const flagAddingUserInClassroom = createFlag ( FLAG_ADDING_USER_IN_CLASSROOM ) ;
61
- const flagDeletingUserInClassroom = createFlag ( FLAG_DELETING_USER_IN_CLASSROOM ) ;
63
+ const flagDeletingUsersInClassroom = createFlag (
64
+ FLAG_DELETING_USERS_IN_CLASSROOM
65
+ ) ;
62
66
63
67
export const getClassrooms = ( ) => dispatch => {
64
68
dispatch ( flagGettingClassrooms ( true ) ) ;
@@ -224,41 +228,56 @@ export const addUserInClassroom = payload => dispatch => {
224
228
} ) ;
225
229
} ;
226
230
227
- export const deleteUserInClassroom = payload => dispatch => {
231
+ export const deleteUsersInClassroom = payload => dispatch => {
228
232
// show confirmation prompt
229
- window . ipcRenderer . send ( SHOW_DELETE_USER_IN_CLASSROOM_PROMPT_CHANNEL ) ;
233
+ window . ipcRenderer . send (
234
+ SHOW_DELETE_USERS_IN_CLASSROOM_PROMPT_CHANNEL ,
235
+ payload
236
+ ) ;
230
237
window . ipcRenderer . once (
231
- RESPOND_DELETE_USER_IN_CLASSROOM_PROMPT_CHANNEL ,
238
+ RESPOND_DELETE_USERS_IN_CLASSROOM_PROMPT_CHANNEL ,
232
239
( event , response ) => {
240
+ if ( response === ERROR_NO_USER_TO_DELETE ) {
241
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_NO_USER_TO_DELETE_MESSAGE ) ;
242
+ }
243
+ // accept deletion
233
244
if ( response === 1 ) {
234
- dispatch ( flagDeletingUserInClassroom ( true ) ) ;
235
- window . ipcRenderer . send ( DELETE_USER_IN_CLASSROOM_CHANNEL , payload ) ;
245
+ dispatch ( flagDeletingUsersInClassroom ( true ) ) ;
246
+ window . ipcRenderer . send ( DELETE_USERS_IN_CLASSROOM_CHANNEL , payload ) ;
236
247
}
237
248
}
238
249
) ;
239
- window . ipcRenderer . once (
240
- DELETE_USER_IN_CLASSROOM_CHANNEL ,
241
- ( event , response ) => {
242
- if ( response === ERROR_GENERAL ) {
250
+ window . ipcRenderer . once ( DELETE_USERS_IN_CLASSROOM_CHANNEL , ( e , response ) => {
251
+ switch ( response ) {
252
+ case ERROR_NO_USER_TO_DELETE : {
253
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_NO_USER_TO_DELETE_MESSAGE ) ;
254
+ break ;
255
+ }
256
+ case ERROR_GENERAL : {
243
257
toastr . error (
244
258
ERROR_MESSAGE_HEADER ,
245
259
ERROR_DELETING_USER_IN_CLASSROOM_MESSAGE
246
260
) ;
247
- } else {
261
+ break ;
262
+ }
263
+ default : {
248
264
// update current classroom
249
265
dispatch (
250
- getClassroom ( { id : payload . classroomId , userId : payload . teacherId } )
266
+ getClassroom ( {
267
+ id : payload . classroomId ,
268
+ userId : payload . teacherId ,
269
+ } )
251
270
) ;
252
271
253
272
toastr . success (
254
273
SUCCESS_MESSAGE_HEADER ,
255
- SUCCESS_DELETING_USER_IN_CLASSROOM_MESSAGE
274
+ SUCCESS_DELETING_USERS_IN_CLASSROOM_MESSAGE
256
275
) ;
257
276
}
258
-
259
- dispatch ( flagDeletingUserInClassroom ( false ) ) ;
260
277
}
261
- ) ;
278
+
279
+ dispatch ( flagDeletingUsersInClassroom ( false ) ) ;
280
+ } ) ;
262
281
} ;
263
282
264
283
export const editUserInClassroom = payload => dispatch => {
0 commit comments