Skip to content

Commit a185ba1

Browse files
committed
Merge branch 'v1.1.2_micro' into HEAD
2 parents 1bef316 + b8df417 commit a185ba1

File tree

18 files changed

+682
-398
lines changed

18 files changed

+682
-398
lines changed

API/Agents.php

+84-62
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function loadAgents(Request $request, EntityManagerInterface $entityManag
5050
$collection = $qb->getQuery()->getResult();
5151

5252
return new JsonResponse([
53-
'success' => true,
53+
'success' => true,
5454
'collection' => !empty($collection) ? $collection : [],
5555
]);
5656
}
@@ -67,13 +67,13 @@ public function loadAgentDetails($id, Request $request)
6767
}
6868

6969
$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(),
7777
'contactNumber' => $user->getAgentInstance()->getContactNumber()
7878
];
7979

@@ -83,9 +83,22 @@ public function loadAgentDetails($id, Request $request)
8383
]);
8484
}
8585

86-
public function createAgentRecord(Request $request, EntityManagerInterface $entityManager, UserService $userService)
86+
public function createAgentRecord(Request $request, ContainerInterface $container, EntityManagerInterface $entityManager, UserService $userService)
8787
{
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+
89102
$agentRecord = new User();
90103
$user = $entityManager->getRepository(User::class)->findOneByEmail($params['email']);
91104
$agentInstance = !empty($user) ? $user->getAgentInstance() : null;
@@ -97,14 +110,13 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
97110
]);
98111
}
99112

100-
$formDetails = $request->request->get('user_form');
101113
$uploadedFiles = $request->files->get('user_form');
102114

103115
// Profile upload validation
104116
$validMimeType = ['image/jpeg', 'image/png', 'image/jpg'];
105117

106-
if (isset( $uploadedFiles)) {
107-
if (!in_array($uploadedFiles->getMimeType(), $validMimeType)){
118+
if (isset($uploadedFiles)) {
119+
if (!in_array($uploadedFiles->getMimeType(), $validMimeType)) {
108120
return new JsonResponse([
109121
'success' => false,
110122
'message' => 'Profile image is not valid, please upload a valid format',
@@ -115,13 +127,13 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
115127
$fullname = trim(implode(' ', [$params['firstName'], $params['lastName']]));
116128
$supportRole = $entityManager->getRepository(SupportRole::class)->findOneByCode($params['role']);
117129

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']
125137
]);
126138

127139
if (!empty($user)) {
@@ -184,9 +196,21 @@ public function createAgentRecord(Request $request, EntityManagerInterface $enti
184196
]);
185197
}
186198

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)
188200
{
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+
190214
$dataFiles = $request->files->get('user_form');
191215
$em = $this->getDoctrine()->getManager();
192216
$user = $em->getRepository(User::class)->find($id);
@@ -196,17 +220,17 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
196220
return new JsonResponse([
197221
'success' => false,
198222
'message' => 'Agent not found.',
199-
],404);
223+
], 404);
200224
}
201225

202226
// Agent Profile upload validation
203227
$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)){
206230
return new JsonResponse([
207231
'success' => false,
208232
'message' => 'Profile image is not valid, please upload a valid format.',
209-
],404);
233+
], 404);
210234
}
211235
}
212236

@@ -221,14 +245,14 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
221245
if (
222246
isset($params['password']['first']) && !empty(trim($params['password']['first']))
223247
&& 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'])){
225249
$encodedPassword = $passwordEncoder->encodePassword($user, $params['password']['first']);
226250
$user->setPassword($encodedPassword);
227251
} else {
228252
return new JsonResponse([
229253
'success' => false,
230254
'message' => 'Both password does not match together.',
231-
],404);
255+
], 404);
232256
}
233257
}
234258

@@ -242,7 +266,7 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
242266
$oldSupportGroup = ($supportGroupList = $userInstance != null ? $userInstance->getSupportGroups() : null) ? $supportGroupList->toArray() : [];
243267
$oldSupportedPrivilege = ($supportPrivilegeList = $userInstance != null ? $userInstance->getSupportPrivileges() : null)? $supportPrivilegeList->toArray() : [];
244268

245-
if(isset($params['role'])) {
269+
if (isset($params['role'])) {
246270
$role = $em->getRepository(SupportRole::class)->findOneBy(array('code' => $params['role']));
247271
$userInstance->setSupportRole($role);
248272
}
@@ -271,21 +295,21 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
271295
$userInstance->setSignature($params['signature']);
272296
$userInstance->setIsActive(isset($params['isActive']) ? $params['isActive'] : 0);
273297

274-
//Team support to agent
275-
if(isset($params['userSubGroup'])){
298+
// Team support to agent
299+
if (isset($params['userSubGroup'])) {
276300
foreach ($params['userSubGroup'] as $userSubGroup) {
277-
if($userSubGrp = $uvdeskService->getEntityManagerResult(
301+
if ($userSubGrp = $uvdeskService->getEntityManagerResult(
278302
SupportTeam::class,
279303
'findOneBy', [
280304
'id' => $userSubGroup
281305
]
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);
286310

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]);
289313
}
290314

291315
foreach ($oldSupportTeam as $removeteam) {
@@ -294,22 +318,21 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
294318
}
295319
}
296320

297-
//Group support
298-
if(isset($params['groups'])){
321+
//Group support
322+
if (isset($params['groups'])) {
299323
foreach ($params['groups'] as $userGroup) {
300-
if($userGrp = $uvdeskService->getEntityManagerResult(
324+
if ($userGrp = $uvdeskService->getEntityManagerResult(
301325
SupportGroup::class,
302326
'findOneBy', [
303327
'id' => $userGroup
304328
]
305-
)
306-
)
329+
))
307330

308-
if(!$oldSupportGroup || !in_array($userGrp, $oldSupportGroup)){
309-
$userInstance->addSupportGroup($userGrp);
331+
if (!$oldSupportGroup || !in_array($userGrp, $oldSupportGroup)) {
332+
$userInstance->addSupportGroup($userGrp);
310333

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]);
313336
}
314337

315338
foreach ($oldSupportGroup as $removeGroup) {
@@ -318,22 +341,23 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
318341
}
319342
}
320343

321-
//Privilegs support
322-
if(isset($params['agentPrivilege'])){
344+
// Privilege support
345+
if (isset($params['agentPrivilege'])){
323346
foreach ($params['agentPrivilege'] as $supportPrivilege) {
324-
if($supportPlg = $uvdeskService->getEntityManagerResult(
347+
if ($supportPlg = $uvdeskService->getEntityManagerResult(
325348
SupportPrivilege::class,
326349
'findOneBy', [
327350
'id' => $supportPrivilege
328351
]
329-
)
330-
)
331-
if(!$oldSupportedPrivilege || !in_array($supportPlg, $oldSupportedPrivilege)){
332-
$userInstance->addSupportPrivilege($supportPlg);
352+
))
333353

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]);
336359
}
360+
337361
foreach ($oldSupportedPrivilege as $removeGroup) {
338362
$userInstance->removeSupportPrivilege($removeGroup);
339363
$em->persist($userInstance);
@@ -363,16 +387,14 @@ public function updateAgentRecord($id, Request $request, UVDeskService $uvdeskSe
363387
return new JsonResponse([
364388
'success' => false,
365389
'message' => 'User with same email is already exist.',
366-
],404);
390+
], 404);
367391
}
368-
369392
}
370393

371394
public function deleteAgentRecord(Request $request, $agentId, EventDispatcherInterface $eventDispatcher, UserService $userService)
372395
{
373396
$entityManager = $this->getDoctrine()->getManager();
374397
if ($agentId) {
375-
376398
$user = $entityManager->createQueryBuilder()
377399
->select('u')
378400
->from(User::class, 'u')
@@ -387,7 +409,7 @@ public function deleteAgentRecord(Request $request, $agentId, EventDispatcherInt
387409
return new JsonResponse([
388410
'success' => false,
389411
'message' => 'Agent information not found.',
390-
],404);
412+
], 404);
391413
}
392414

393415
if ($user->getAgentInstance()->getSupportRole()->getCode() != "ROLE_SUPER_ADMIN") {
@@ -417,8 +439,8 @@ public function deleteAgentRecord(Request $request, $agentId, EventDispatcherInt
417439
return new JsonResponse([
418440
'success' => false,
419441
'message' => 'Authorization failed.',
420-
],404);
442+
], 404);
421443
}
422444
}
423445
}
424-
}
446+
}

0 commit comments

Comments
 (0)