@@ -50,7 +50,7 @@ public function loadAgents(Request $request, EntityManagerInterface $entityManag
50
50
$ collection = $ qb ->getQuery ()->getResult ();
51
51
52
52
return new JsonResponse ([
53
- 'success ' => true ,
53
+ 'success ' => true ,
54
54
'collection ' => !empty ($ collection ) ? $ collection : [],
55
55
]);
56
56
}
@@ -67,13 +67,13 @@ public function loadAgentDetails($id, Request $request)
67
67
}
68
68
69
69
$ agentDetails = [
70
- 'id ' => $ user ->getId (),
71
- 'firstName ' => $ user ->getFirstName (),
72
- 'lastName ' => $ user ->getLastName (),
73
- 'userEmail ' => $ user ->getUsername (),
74
- 'isEnabled ' => $ user ->getIsEnabled (),
75
- 'isActive ' => $ user ->getAgentInstance ()->getIsActive (),
76
- 'isVerified ' => $ user ->getAgentInstance ()->getIsVerified (),
70
+ 'id ' => $ user ->getId (),
71
+ 'firstName ' => $ user ->getFirstName (),
72
+ 'lastName ' => $ user ->getLastName (),
73
+ 'userEmail ' => $ user ->getUsername (),
74
+ 'isEnabled ' => $ user ->getIsEnabled (),
75
+ 'isActive ' => $ user ->getAgentInstance ()->getIsActive (),
76
+ 'isVerified ' => $ user ->getAgentInstance ()->getIsVerified (),
77
77
'contactNumber ' => $ user ->getAgentInstance ()->getContactNumber ()
78
78
];
79
79
@@ -83,9 +83,22 @@ public function loadAgentDetails($id, Request $request)
83
83
]);
84
84
}
85
85
86
- public function createAgentRecord (Request $ request , EntityManagerInterface $ entityManager , UserService $ userService )
86
+ public function createAgentRecord (Request $ request , ContainerInterface $ container , EntityManagerInterface $ entityManager , UserService $ userService )
87
87
{
88
- $ params = $ request ->request ->all ();
88
+ $ params = $ request ->request ->all ()? : json_decode ($ request ->getContent (),true );
89
+
90
+ foreach ($ params as $ key => $ value ) {
91
+ if (!in_array ($ key , ['email ' , 'user_form ' , 'firstName ' , 'lastName ' ,'contactNumber ' ,'isActive ' ,'signature ' ,'designation ' ,'role ' ,'ticketView ' ,'userSubGroup ' ,'groups ' ,'agentPrivilege ' ])) {
92
+ unset($ params [$ key ]);
93
+ }
94
+ }
95
+
96
+ if (empty ($ params ['email ' ]) || empty ($ params ['firstName ' ]) || empty ($ params ['groups ' ]) || empty ($ params ['role ' ])) {
97
+ $ json ['error ' ] = $ container ->get ('translator ' )->trans ('required fields: email,firstName,lastName,groups and role. ' );
98
+
99
+ return new JsonResponse ($ json , Response::HTTP_BAD_REQUEST );
100
+ }
101
+
89
102
$ agentRecord = new User ();
90
103
$ user = $ entityManager ->getRepository (User::class)->findOneByEmail ($ params ['email ' ]);
91
104
$ agentInstance = !empty ($ user ) ? $ user ->getAgentInstance () : null ;
@@ -97,14 +110,13 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
97
110
]);
98
111
}
99
112
100
- $ formDetails = $ request ->request ->get ('user_form ' );
101
113
$ uploadedFiles = $ request ->files ->get ('user_form ' );
102
114
103
115
// Profile upload validation
104
116
$ validMimeType = ['image/jpeg ' , 'image/png ' , 'image/jpg ' ];
105
117
106
- if (isset ( $ uploadedFiles )) {
107
- if (!in_array ($ uploadedFiles ->getMimeType (), $ validMimeType )){
118
+ if (isset ($ uploadedFiles )) {
119
+ if (!in_array ($ uploadedFiles ->getMimeType (), $ validMimeType )) {
108
120
return new JsonResponse ([
109
121
'success ' => false ,
110
122
'message ' => 'Profile image is not valid, please upload a valid format ' ,
@@ -115,13 +127,13 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
115
127
$ fullname = trim (implode (' ' , [$ params ['firstName ' ], $ params ['lastName ' ]]));
116
128
$ supportRole = $ entityManager ->getRepository (SupportRole::class)->findOneByCode ($ params ['role ' ]);
117
129
118
- $ user = $ userService ->createUserInstance ($ request -> request -> get ( 'email ' ) , $ fullname , $ supportRole , [
119
- 'contact ' => $ params ['contactNumber ' ],
120
- 'source ' => 'website ' ,
121
- 'active ' => !empty ($ params ['isActive ' ]) ? true : false ,
122
- 'image ' => $ uploadedFiles ? $ uploadedFiles : null ,
123
- 'signature ' => $ params ['signature ' ],
124
- 'designation ' =>$ params ['designation ' ]
130
+ $ user = $ userService ->createUserInstance ($ params [ 'email ' ] , $ fullname , $ supportRole , [
131
+ 'contact ' => $ params ['contactNumber ' ],
132
+ 'source ' => 'website ' ,
133
+ 'active ' => !empty ($ params ['isActive ' ]) ? true : false ,
134
+ 'image ' => $ uploadedFiles ? $ uploadedFiles : null ,
135
+ 'signature ' => $ params ['signature ' ],
136
+ 'designation ' => $ params ['designation ' ]
125
137
]);
126
138
127
139
if (!empty ($ user )) {
@@ -184,9 +196,21 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
184
196
]);
185
197
}
186
198
187
- public function updateAgentRecord ($ id , Request $ request , UVDeskService $ uvdeskService , UserPasswordEncoderInterface $ passwordEncoder , FileSystem $ fileSystem , EventDispatcherInterface $ eventDispatcher )
199
+ public function updateAgentRecord ($ id , Request $ request , UVDeskService $ uvdeskService , ContainerInterface $ container , UserPasswordEncoderInterface $ passwordEncoder , FileSystem $ fileSystem , EventDispatcherInterface $ eventDispatcher )
188
200
{
189
- $ params = $ request ->request ->all ();
201
+ $ params = $ request ->request ->all ()? : json_decode ($ request ->getContent (),true );
202
+
203
+ foreach ($ params as $ key => $ value ) {
204
+ if (!in_array ($ key , ['email ' , 'user_form ' , 'firstName ' , 'lastName ' ,'contactNumber ' ,'isActive ' ,'signature ' ,'designation ' ,'role ' ,'ticketView ' ,'userSubGroup ' ,'groups ' ,'agentPrivilege ' ])) {
205
+ unset($ params [$ key ]);
206
+ }
207
+ }
208
+
209
+ if (empty ($ params ['email ' ]) || empty ($ params ['firstName ' ]) || empty ($ params ['groups ' ]) || empty ($ params ['role ' ])) {
210
+ $ json ['error ' ] = $ container ->get ('translator ' )->trans ('required fields: email,firstName,lastName,groups and role. ' );
211
+ return new JsonResponse ($ json , Response::HTTP_BAD_REQUEST );
212
+ }
213
+
190
214
$ dataFiles = $ request ->files ->get ('user_form ' );
191
215
$ em = $ this ->getDoctrine ()->getManager ();
192
216
$ user = $ em ->getRepository (User::class)->find ($ id );
@@ -196,17 +220,17 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
196
220
return new JsonResponse ([
197
221
'success ' => false ,
198
222
'message ' => 'Agent not found. ' ,
199
- ],404 );
223
+ ], 404 );
200
224
}
201
225
202
226
// Agent Profile upload validation
203
227
$ validMimeType = ['image/jpeg ' , 'image/png ' , 'image/jpg ' ];
204
- if (isset ($ dataFiles )){
205
- if (!in_array ($ dataFiles ->getMimeType (), $ validMimeType )){
228
+ if (isset ($ dataFiles )) {
229
+ if (!in_array ($ dataFiles ->getMimeType (), $ validMimeType )){
206
230
return new JsonResponse ([
207
231
'success ' => false ,
208
232
'message ' => 'Profile image is not valid, please upload a valid format. ' ,
209
- ],404 );
233
+ ], 404 );
210
234
}
211
235
}
212
236
@@ -221,14 +245,14 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
221
245
if (
222
246
isset ($ params ['password ' ]['first ' ]) && !empty (trim ($ params ['password ' ]['first ' ]))
223
247
&& isset ($ params ['password ' ]['second ' ]) && !empty (trim ($ params ['password ' ]['second ' ]))) {
224
- if (trim ($ params ['password ' ]['first ' ]) == trim ($ params ['password ' ]['second ' ])){
248
+ if (trim ($ params ['password ' ]['first ' ]) == trim ($ params ['password ' ]['second ' ])){
225
249
$ encodedPassword = $ passwordEncoder ->encodePassword ($ user , $ params ['password ' ]['first ' ]);
226
250
$ user ->setPassword ($ encodedPassword );
227
251
} else {
228
252
return new JsonResponse ([
229
253
'success ' => false ,
230
254
'message ' => 'Both password does not match together. ' ,
231
- ],404 );
255
+ ], 404 );
232
256
}
233
257
}
234
258
@@ -242,7 +266,7 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
242
266
$ oldSupportGroup = ($ supportGroupList = $ userInstance != null ? $ userInstance ->getSupportGroups () : null ) ? $ supportGroupList ->toArray () : [];
243
267
$ oldSupportedPrivilege = ($ supportPrivilegeList = $ userInstance != null ? $ userInstance ->getSupportPrivileges () : null )? $ supportPrivilegeList ->toArray () : [];
244
268
245
- if (isset ($ params ['role ' ])) {
269
+ if (isset ($ params ['role ' ])) {
246
270
$ role = $ em ->getRepository (SupportRole::class)->findOneBy (array ('code ' => $ params ['role ' ]));
247
271
$ userInstance ->setSupportRole ($ role );
248
272
}
@@ -271,21 +295,21 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
271
295
$ userInstance ->setSignature ($ params ['signature ' ]);
272
296
$ userInstance ->setIsActive (isset ($ params ['isActive ' ]) ? $ params ['isActive ' ] : 0 );
273
297
274
- //Team support to agent
275
- if (isset ($ params ['userSubGroup ' ])){
298
+ // Team support to agent
299
+ if (isset ($ params ['userSubGroup ' ])) {
276
300
foreach ($ params ['userSubGroup ' ] as $ userSubGroup ) {
277
- if ($ userSubGrp = $ uvdeskService ->getEntityManagerResult (
301
+ if ($ userSubGrp = $ uvdeskService ->getEntityManagerResult (
278
302
SupportTeam::class,
279
303
'findOneBy ' , [
280
304
'id ' => $ userSubGroup
281
305
]
282
- )
283
- )
284
- if (! $ oldSupportTeam || !in_array ($ userSubGrp , $ oldSupportTeam )){
285
- $ userInstance ->addSupportTeam ($ userSubGrp );
306
+ ))
307
+
308
+ if (! $ oldSupportTeam || !in_array ($ userSubGrp , $ oldSupportTeam )) {
309
+ $ userInstance ->addSupportTeam ($ userSubGrp );
286
310
287
- } elseif ($ oldSupportTeam && ($ key = array_search ($ userSubGrp , $ oldSupportTeam )) !== false )
288
- unset($ oldSupportTeam [$ key ]);
311
+ } elseif ($ oldSupportTeam && ($ key = array_search ($ userSubGrp , $ oldSupportTeam )) !== false )
312
+ unset($ oldSupportTeam [$ key ]);
289
313
}
290
314
291
315
foreach ($ oldSupportTeam as $ removeteam ) {
@@ -294,22 +318,21 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
294
318
}
295
319
}
296
320
297
- //Group support
298
- if (isset ($ params ['groups ' ])){
321
+ //Group support
322
+ if (isset ($ params ['groups ' ])) {
299
323
foreach ($ params ['groups ' ] as $ userGroup ) {
300
- if ($ userGrp = $ uvdeskService ->getEntityManagerResult (
324
+ if ($ userGrp = $ uvdeskService ->getEntityManagerResult (
301
325
SupportGroup::class,
302
326
'findOneBy ' , [
303
327
'id ' => $ userGroup
304
328
]
305
- )
306
- )
329
+ ))
307
330
308
- if (!$ oldSupportGroup || !in_array ($ userGrp , $ oldSupportGroup )){
309
- $ userInstance ->addSupportGroup ($ userGrp );
331
+ if (!$ oldSupportGroup || !in_array ($ userGrp , $ oldSupportGroup )) {
332
+ $ userInstance ->addSupportGroup ($ userGrp );
310
333
311
- } elseif ($ oldSupportGroup && ($ key = array_search ($ userGrp , $ oldSupportGroup )) !== false )
312
- unset($ oldSupportGroup [$ key ]);
334
+ } elseif ($ oldSupportGroup && ($ key = array_search ($ userGrp , $ oldSupportGroup )) !== false )
335
+ unset($ oldSupportGroup [$ key ]);
313
336
}
314
337
315
338
foreach ($ oldSupportGroup as $ removeGroup ) {
@@ -318,22 +341,23 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
318
341
}
319
342
}
320
343
321
- //Privilegs support
322
- if (isset ($ params ['agentPrivilege ' ])){
344
+ // Privilege support
345
+ if (isset ($ params ['agentPrivilege ' ])){
323
346
foreach ($ params ['agentPrivilege ' ] as $ supportPrivilege ) {
324
- if ($ supportPlg = $ uvdeskService ->getEntityManagerResult (
347
+ if ($ supportPlg = $ uvdeskService ->getEntityManagerResult (
325
348
SupportPrivilege::class,
326
349
'findOneBy ' , [
327
350
'id ' => $ supportPrivilege
328
351
]
329
- )
330
- )
331
- if (!$ oldSupportedPrivilege || !in_array ($ supportPlg , $ oldSupportedPrivilege )){
332
- $ userInstance ->addSupportPrivilege ($ supportPlg );
352
+ ))
333
353
334
- }elseif ($ oldSupportedPrivilege && ($ key = array_search ($ supportPlg , $ oldSupportedPrivilege )) !== false )
335
- unset($ oldSupportedPrivilege [$ key ]);
354
+ if (! $ oldSupportedPrivilege || !in_array ($ supportPlg , $ oldSupportedPrivilege )){
355
+ $ userInstance ->addSupportPrivilege ($ supportPlg );
356
+
357
+ } elseif ($ oldSupportedPrivilege && ($ key = array_search ($ supportPlg , $ oldSupportedPrivilege )) !== false )
358
+ unset($ oldSupportedPrivilege [$ key ]);
336
359
}
360
+
337
361
foreach ($ oldSupportedPrivilege as $ removeGroup ) {
338
362
$ userInstance ->removeSupportPrivilege ($ removeGroup );
339
363
$ em ->persist ($ userInstance );
@@ -363,16 +387,14 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
363
387
return new JsonResponse ([
364
388
'success ' => false ,
365
389
'message ' => 'User with same email is already exist. ' ,
366
- ],404 );
390
+ ], 404 );
367
391
}
368
-
369
392
}
370
393
371
394
public function deleteAgentRecord (Request $ request , $ agentId , EventDispatcherInterface $ eventDispatcher , UserService $ userService )
372
395
{
373
396
$ entityManager = $ this ->getDoctrine ()->getManager ();
374
397
if ($ agentId ) {
375
-
376
398
$ user = $ entityManager ->createQueryBuilder ()
377
399
->select ('u ' )
378
400
->from (User::class, 'u ' )
@@ -387,7 +409,7 @@ public function deleteAgentRecord(Request $request, $agentId, EventDispatcherInt
387
409
return new JsonResponse ([
388
410
'success ' => false ,
389
411
'message ' => 'Agent information not found. ' ,
390
- ],404 );
412
+ ], 404 );
391
413
}
392
414
393
415
if ($ user ->getAgentInstance ()->getSupportRole ()->getCode () != "ROLE_SUPER_ADMIN " ) {
@@ -417,8 +439,8 @@ public function deleteAgentRecord(Request $request, $agentId, EventDispatcherInt
417
439
return new JsonResponse ([
418
440
'success ' => false ,
419
441
'message ' => 'Authorization failed. ' ,
420
- ],404 );
442
+ ], 404 );
421
443
}
422
444
}
423
445
}
424
- }
446
+ }
0 commit comments