Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
7489 nelberth 1
<?php
2
declare(strict_types=1);
3
 
4
namespace LeadersLinked\Controller;
5
 
6
use Laminas\Authentication\AuthenticationService;
7
use Laminas\Authentication\Result as AuthResult;
8
use Laminas\Db\Adapter\AdapterInterface;
16768 efrain 9
 
7489 nelberth 10
use Laminas\Mvc\Controller\AbstractActionController;
11
use Laminas\Mvc\I18n\Translator;
12
use Laminas\Log\LoggerInterface;
13
use Laminas\View\Model\ViewModel;
14
use Laminas\View\Model\JsonModel;
9524 nelberth 15
use LeadersLinked\Model\Topic;
10383 nelberth 16
use LeadersLinked\Model\HighPerformanceTeamsGroups;
7489 nelberth 17
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
10369 nelberth 18
use LeadersLinked\Form\HighPerformanceTeamsGroupsViewTopicForm;
7489 nelberth 19
use LeadersLinked\Library\Functions;
20
use LeadersLinked\Mapper\UserMapper;
9513 nelberth 21
use LeadersLinked\Mapper\TopicMapper;
7515 nelberth 22
use LeadersLinked\Mapper\HighPerformanceTeamsGroupsMapper;
7759 nelberth 23
use LeadersLinked\Mapper\HighPerformanceTeamsGroupsMembersMapper;
24
use LeadersLinked\Model\HighPerformanceTeamsGroupsMembers;
7489 nelberth 25
use LeadersLinked\Mapper\CompanyMapper;
26
use LeadersLinked\Mapper\CompanyUserMapper;
27
 
28
 
29
 
30
class HighPerformanceTeamsGroupsViewTopicController extends AbstractActionController
31
{
32
    /**
33
     *
34
     * @var AdapterInterface
35
     */
36
    private $adapter;
37
 
38
    /**
39
     *
40
     * @var  LoggerInterface
41
     */
42
    private $logger;
43
 
44
    /**
45
     *
46
     * @var array
47
     */
48
    private $config;
49
 
50
    /**
51
     *
52
     * @param AdapterInterface $adapter
53
     * @param LoggerInterface $logger
54
     * @param array $config
55
     */
16768 efrain 56
    public function __construct($adapter, $logger, $config)
7489 nelberth 57
    {
16768 efrain 58
        $this->adapter = $adapter;
59
        $this->logger = $logger;
60
        $this->config = $config;
7489 nelberth 61
    }
62
 
63
 
64
 
65
 
66
    public function indexAction()
67
    {
68
 
7713 nelberth 69
 
7489 nelberth 70
        $currentUserPlugin = $this->plugin('currentUserPlugin');
71
        $currentUser = $currentUserPlugin->getUser();
72
        $currentCompany = $currentUserPlugin->getCompany();
73
 
7622 nelberth 74
 
7489 nelberth 75
        $request = $this->getRequest();
76
        if($request->isGet()) {
77
 
78
 
79
            $headers  = $request->getHeaders();
80
 
81
            $isJson = false;
82
            if($headers->has('Accept')) {
83
                $accept = $headers->get('Accept');
84
 
85
                $prioritized = $accept->getPrioritized();
86
 
87
                foreach($prioritized as $key => $value) {
88
                    $raw = trim($value->getRaw());
89
 
90
                    if(!$isJson) {
91
                        $isJson = strpos($raw, 'json');
92
                    }
93
 
94
                }
95
            }
7855 nelberth 96
 
7489 nelberth 97
            if($isJson) {
7621 nelberth 98
 
11086 nelberth 99
                $group_uuid = $this->params()->fromRoute('group_id');
7847 nelberth 100
                if(!$group_uuid) {
7547 nelberth 101
                    $data = [
102
                        'success'   => false,
103
                        'data'   => 'ERROR_INVALID_PARAMETER'
104
                    ];
105
 
106
                    return new JsonModel($data);
107
                }
7856 nelberth 108
 
7547 nelberth 109
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
7847 nelberth 110
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
10382 nelberth 111
 
7547 nelberth 112
                if (!$highPerformanceTeamsGroups) {
113
                    $data = [
114
                        'success' => false,
115
                        'data' => 'ERROR_RECORD_NOT_FOUND'
116
                    ];
117
 
118
                    return new JsonModel($data);
119
                }
10374 nelberth 120
                if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
121
 
122
                    return new JsonModel([
123
                        'success' => false,
124
                        'data' => 'ERROR_UNAUTHORIZED'
125
                    ]);
126
 
127
                }
10355 nelberth 128
                $highPerformanceTeamsGroupsMembersMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
129
                $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMembersMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
7760 nelberth 130
                if(!$highPerformanceTeamsGroupsMember) {
131
                    return new JsonModel([
132
                        'success' => false,
10366 nelberth 133
                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
7760 nelberth 134
                    ]);
135
                }
7763 nelberth 136
                if(!($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) ){
7760 nelberth 137
                    return new JsonModel([
138
                        'success' => false,
139
                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
140
                    ]);
141
                }
10355 nelberth 142
 
10366 nelberth 143
                $acl = $this->getEvent()->getViewModel()->getVariable('acl');
144
                $allowEdit = $acl->isAllowed($currentUser->usertype_id, 'high-performance-teams/groups/view/topic/edit');
145
                $allowDelete = $acl->isAllowed($currentUser->usertype_id,'high-performance-teams/groups/view/topic/delete');
146
                $allowView = $acl->isAllowed($currentUser->usertype_id,'high-performance-teams/groups/view');
10369 nelberth 147
 
10355 nelberth 148
                $member = $highPerformanceTeamsGroupsMembersMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id,$currentUser->id);
10372 nelberth 149
 
10355 nelberth 150
                if($member->type==HighPerformanceTeamsGroupsMembers::TYPE_MODERATOR||$member->type==HighPerformanceTeamsGroupsMembers::TYPE_USER){
151
                    $allowDelete=false;
152
                    $allowEdit=false;
153
                }
7551 nelberth 154
 
10366 nelberth 155
 
7760 nelberth 156
 
9519 nelberth 157
 
158
 
159
                $topicMapper = TopicMapper::getInstance($this->adapter);
9522 nelberth 160
 
9523 nelberth 161
                $paginator = $topicMapper->fetchAllHighPerfromanceTeamsGroup($highPerformanceTeamsGroups->id);
9522 nelberth 162
 
7760 nelberth 163
                $items = [];
7554 nelberth 164
 
7760 nelberth 165
 
166
 
167
                foreach($paginator as $record)
168
                {
169
 
170
 
171
                    $item = [
172
                        'title' => $record->title,
173
                        'status'=> $record->status,
174
                        'actions' => [
11086 nelberth 175
                            'link_edit' => $allowEdit ? $this->url()->fromRoute('high-performance-teams/groups/view/topic/edit', ['group_id' => $highPerformanceTeamsGroups->uuid, 'topic_id' => $record->uuid]) : '',
176
                            'link_delete' => $allowDelete ? $this->url()->fromRoute('high-performance-teams/groups/view/topic/delete', ['group_id' => $highPerformanceTeamsGroups->uuid,'topic_id' => $record->uuid]) : '',
177
                            'link_view' => $allowView ? $this->url()->fromRoute('high-performance-teams/groups/view/topic/view', ['group_id' => $highPerformanceTeamsGroups->uuid,'topic_id' => $record->uuid]) : '',
7760 nelberth 178
                        ]
179
 
180
                    ];
7489 nelberth 181
 
7760 nelberth 182
                    array_push($items, $item);
7489 nelberth 183
 
184
                }
7760 nelberth 185
 
186
                return new JsonModel([
187
                    'success' => true,
188
                    'data' => [
189
                        'items' => $items
190
                    ]
191
                ]);
7489 nelberth 192
 
7500 nelberth 193
            }
7489 nelberth 194
        } else {
195
            return new JsonModel([
196
                'success' => false,
197
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
198
            ]);
199
        }
200
    }
201
 
202
    public function addAction()
203
    {
204
 
11086 nelberth 205
        $group_uuid = $this->params()->fromRoute('group_id');
7857 nelberth 206
        if(!$group_uuid) {
207
            $data = [
208
                'success'   => false,
209
                'data'   => 'ERROR_INVALID_PARAMETER'
210
            ];
211
 
212
            return new JsonModel($data);
213
        }
7717 nelberth 214
 
7514 nelberth 215
        $currentUserPlugin = $this->plugin('currentUserPlugin');
216
        $currentUser = $currentUserPlugin->getUser();
217
        $currentCompany = $currentUserPlugin->getCompany();
7499 nelberth 218
 
7489 nelberth 219
        $request = $this->getRequest();
220
        if($request->isPost()) {
10369 nelberth 221
            $form = new  HighPerformanceTeamsGroupsViewTopicForm();
7489 nelberth 222
            $dataPost = $request->getPost()->toArray();
223
 
224
            $form->setData($dataPost);
225
 
226
            if($form->isValid()) {
227
                $dataPost = (array) $form->getData();
9656 nelberth 228
                $dataPost['status'] =  isset($dataPost['status']) ? $dataPost['status'] : Topic::STATUS_INACTIVE;
7514 nelberth 229
 
7489 nelberth 230
 
7514 nelberth 231
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
7857 nelberth 232
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
7514 nelberth 233
 
7763 nelberth 234
                if (!$highPerformanceTeamsGroups) {
7514 nelberth 235
                    $data = [
236
                        'success' => false,
237
                        'data' => 'ERROR_RECORD_NOT_FOUND'
238
                    ];
239
 
240
                    return new JsonModel($data);
241
                }
10374 nelberth 242
                if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
243
 
244
                    return new JsonModel([
245
                        'success' => false,
246
                        'data' => 'ERROR_UNAUTHORIZED'
247
                    ]);
248
 
249
                }
9527 nelberth 250
 
10355 nelberth 251
                $highPerformanceTeamsGroupsMembersMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
252
                $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMembersMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
7763 nelberth 253
                if(!$highPerformanceTeamsGroupsMember) {
7514 nelberth 254
                    return new JsonModel([
255
                        'success' => false,
7763 nelberth 256
                        'data' => 'ERROR_RECORD_NOT_FOUND'
7514 nelberth 257
                    ]);
7763 nelberth 258
                }
259
                if(!($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) ){
260
                    return new JsonModel([
261
                        'success' => false,
262
                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
263
                    ]);
264
                }
7514 nelberth 265
 
9528 nelberth 266
                $hydrator = new ObjectPropertyHydrator();
267
                $topic = new Topic();
268
 
9530 nelberth 269
 
9524 nelberth 270
                $hydrator->hydrate($dataPost, $topic);
9677 nelberth 271
                $topic->type='hptg';
9532 nelberth 272
                $topic->high_performance_group_id=$highPerformanceTeamsGroups->id;
9516 nelberth 273
                $topicMapper = TopicMapper::getInstance($this->adapter);
9533 nelberth 274
 
9524 nelberth 275
                $result = $topicMapper->insert($topic);
7489 nelberth 276
 
277
                if($result) {
278
 
9524 nelberth 279
                    $this->logger->info('Se agrego el topic del grupo ' . $topic->title, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
7489 nelberth 280
 
281
                    $data = [
282
                        'success'   => true,
283
                        'data'   => 'LABEL_RECORD_ADDED'
284
                    ];
285
                } else {
286
                    $data = [
287
                        'success'   => false,
9516 nelberth 288
                        'data'      => $topicMapper->getError()
7489 nelberth 289
                    ];
290
 
291
                }
292
 
293
                return new JsonModel($data);
294
 
295
            } else {
296
                $messages = [];
297
                $form_messages = (array) $form->getMessages();
298
                foreach($form_messages  as $fieldname => $field_messages)
299
                {
300
 
301
                    $messages[$fieldname] = array_values($field_messages);
302
                }
303
 
304
                return new JsonModel([
305
                    'success'   => false,
306
                    'data'   => $messages
307
                ]);
308
            }
309
 
310
        } else {
311
            $data = [
312
                'success' => false,
7704 nelberth 313
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
7489 nelberth 314
            ];
315
 
316
            return new JsonModel($data);
317
        }
318
 
319
        return new JsonModel($data);
320
 
321
 
322
    }
323
 
324
 
325
 
326
     public function editAction(){
327
 
328
        $currentUserPlugin = $this->plugin('currentUserPlugin');
329
        $currentUser = $currentUserPlugin->getUser();
330
        $currentCompany = $currentUserPlugin->getCompany();
331
        $request = $this->getRequest();
11086 nelberth 332
        $group_uuid = $this->params()->fromRoute('group_id');
7743 nelberth 333
 
11086 nelberth 334
        $topic_uuid = $this->params()->fromRoute('topic_id');
7489 nelberth 335
 
336
 
7847 nelberth 337
        if(!$group_uuid) {
7489 nelberth 338
            $data = [
339
                'success'   => false,
340
                'data'   => 'ERROR_INVALID_PARAMETER'
341
            ];
342
 
343
            return new JsonModel($data);
344
        }
7743 nelberth 345
        if(!$topic_uuid) {
346
            $data = [
347
                'success'   => false,
348
                'data'   => 'ERROR_INVALID_PARAMETER'
349
            ];
350
 
351
            return new JsonModel($data);
352
        }
7750 nelberth 353
 
9536 nelberth 354
 
9516 nelberth 355
        $topicMapper = TopicMapper::getInstance($this->adapter);
356
        $topic = $topicMapper->fetchOneByUuid($topic_uuid);
7489 nelberth 357
 
7743 nelberth 358
        if (!$topic) {
7489 nelberth 359
            $data = [
360
                'success' => false,
361
                'data' => 'ERROR_RECORD_NOT_FOUND'
362
            ];
363
 
364
            return new JsonModel($data);
365
        }
366
 
10372 nelberth 367
        $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
368
        $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
369
 
370
        if (!$highPerformanceTeamsGroups) {
371
            $data = [
372
                'success' => false,
373
                'data' => 'ERROR_RECORD_NOT_FOUND'
374
            ];
7489 nelberth 375
 
10372 nelberth 376
            return new JsonModel($data);
377
        }
10374 nelberth 378
        if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
10372 nelberth 379
 
10374 nelberth 380
            return new JsonModel([
381
                'success' => false,
382
                'data' => 'ERROR_UNAUTHORIZED'
383
            ]);
384
 
385
        }
386
 
10372 nelberth 387
        $highPerformanceTeamsGroupsMembersMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
388
        $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMembersMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
389
        if(!$highPerformanceTeamsGroupsMember) {
390
            return new JsonModel([
391
                'success' => false,
392
                'data' => 'ERROR_RECORD_NOT_FOUND'
393
            ]);
394
        }
395
        if(!($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) ){
396
            return new JsonModel([
397
                'success' => false,
398
                'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
399
            ]);
400
        }
401
 
402
        if($highPerformanceTeamsGroupsMember->type==HighPerformanceTeamsGroupsMembers::TYPE_MODERATOR||$highPerformanceTeamsGroupsMember->type==HighPerformanceTeamsGroupsMembers::TYPE_USER){
403
            return new JsonModel([
404
                'success' => false,
405
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
406
            ]);
407
        }
7489 nelberth 408
        if($request->isPost()) {
10369 nelberth 409
            $form = new  HighPerformanceTeamsGroupsViewTopicForm();
7489 nelberth 410
            $dataPost = $request->getPost()->toArray();
9656 nelberth 411
            $dataPost['status'] =  isset($dataPost['status']) ? $dataPost['status'] : Topic::STATUS_INACTIVE;
7756 nelberth 412
 
7752 nelberth 413
 
7755 nelberth 414
 
7756 nelberth 415
 
7489 nelberth 416
            $form->setData($dataPost);
417
 
418
            if($form->isValid()) {
7757 nelberth 419
                $dataPost = (array) $form->getData();
10372 nelberth 420
 
7756 nelberth 421
 
7489 nelberth 422
                $hydrator = new ObjectPropertyHydrator();
7748 nelberth 423
                $hydrator->hydrate($dataPost, $topic);
7860 nelberth 424
 
9516 nelberth 425
                $result = $topicMapper->update($topic);
7751 nelberth 426
 
7489 nelberth 427
                if($result) {
7744 nelberth 428
                    $this->logger->info('Se actualizo el grupo de alto rendimiento ' . $topic->title, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
7489 nelberth 429
 
430
                    $data = [
431
                        'success' => true,
432
                        'data' => 'LABEL_RECORD_UPDATED'
433
                    ];
434
                } else {
435
                    $data = [
436
                        'success'   => false,
9516 nelberth 437
                        'data'      => $topicMapper->getError()
7489 nelberth 438
                    ];
439
                }
440
 
441
                return new JsonModel($data);
442
 
443
            } else {
444
                $messages = [];
445
                $form_messages = (array) $form->getMessages();
446
                foreach($form_messages  as $fieldname => $field_messages)
447
                {
448
                    $messages[$fieldname] = array_values($field_messages);
449
                }
450
 
451
                return new JsonModel([
452
                    'success'   => false,
453
                    'data'   => $messages
454
                ]);
455
            }
456
        }else if ($request->isGet()) {
457
            $hydrator = new ObjectPropertyHydrator();
458
 
459
            $data = [
460
                'success' => true,
7743 nelberth 461
                'data' => $hydrator->extract($topic)
7489 nelberth 462
            ];
463
 
464
            return new JsonModel($data);
465
        } else {
466
            $data = [
467
                'success' => false,
468
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
469
            ];
470
 
471
            return new JsonModel($data);
472
        }
473
 
474
        return new JsonModel($data);
475
 
476
    }
477
 
478
 
479
 
480
 
481
    public function deleteAction(){
7737 nelberth 482
 
7489 nelberth 483
        $currentUserPlugin = $this->plugin('currentUserPlugin');
484
        $currentCompany = $currentUserPlugin->getCompany();
485
        $currentUser = $currentUserPlugin->getUser();
486
 
487
        $request = $this->getRequest();
11086 nelberth 488
        $group_uuid = $this->params()->fromRoute('group_id');
489
        $topic_uuid = $this->params()->fromRoute('topic_id');
7489 nelberth 490
 
491
 
7847 nelberth 492
        if (!$group_uuid) {
7489 nelberth 493
            $data = [
494
                'success' => false,
495
                'data' => 'ERROR_INVALID_PARAMETER'
496
            ];
497
 
498
            return new JsonModel($data);
499
        }
7763 nelberth 500
        $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
7847 nelberth 501
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
7763 nelberth 502
 
503
                if (!$highPerformanceTeamsGroups) {
504
                    $data = [
505
                        'success' => false,
506
                        'data' => 'ERROR_RECORD_NOT_FOUND'
507
                    ];
508
 
509
                    return new JsonModel($data);
510
                }
10374 nelberth 511
                if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
7489 nelberth 512
 
10374 nelberth 513
                    return new JsonModel([
514
                        'success' => false,
515
                        'data' => 'ERROR_UNAUTHORIZED'
516
                    ]);
517
 
518
                }
519
 
10372 nelberth 520
                $highPerformanceTeamsGroupsMembersMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
521
                $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMembersMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
522
                if(!$highPerformanceTeamsGroupsMember) {
523
                    return new JsonModel([
524
                        'success' => false,
525
                        'data' => 'ERROR_RECORD_NOT_FOUND'
526
                    ]);
527
                }
528
                if(!($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) ){
529
                    return new JsonModel([
530
                        'success' => false,
531
                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
532
                    ]);
533
                }
534
 
535
                if($highPerformanceTeamsGroupsMember->type==HighPerformanceTeamsGroupsMembers::TYPE_MODERATOR||$highPerformanceTeamsGroupsMember->type==HighPerformanceTeamsGroupsMembers::TYPE_USER){
536
                    return new JsonModel([
537
                        'success' => false,
538
                        'data' => 'ERROR_METHOD_NOT_ALLOWED'
539
                    ]);
540
                }
7489 nelberth 541
 
542
 
9516 nelberth 543
        $topicMapper = TopicMapper::getInstance($this->adapter);
544
        $topic = $topicMapper->fetchOneByUuid($topic_uuid);
7489 nelberth 545
 
7737 nelberth 546
        if (!$topic) {
7489 nelberth 547
            $data = [
548
                'success' => false,
549
                'data' => 'ERROR_RECORD_NOT_FOUND'
550
            ];
551
 
552
            return new JsonModel($data);
553
        }
554
 
7763 nelberth 555
 
7489 nelberth 556
 
557
        if ($request->isPost()) {
558
 
559
 
9516 nelberth 560
            $result = $topicMapper->delete($topic->id);
7489 nelberth 561
            if ($result) {
7737 nelberth 562
                $this->logger->info('Se borro el grupo de alto rendimiento  ' . $topic->title, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
7489 nelberth 563
 
564
                $data = [
565
                    'success' => true,
566
                    'data' => 'LABEL_RECORD_DELETED'
567
                ];
568
            } else {
569
 
570
                $data = [
571
                    'success' => false,
9516 nelberth 572
                    'data' => $topicMapper->getError()
7489 nelberth 573
                ];
574
 
575
                return new JsonModel($data);
576
            }
577
        } else {
578
            $data = [
579
                'success' => false,
580
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
581
            ];
582
 
583
            return new JsonModel($data);
584
        }
585
 
586
        return new JsonModel($data);
587
    }
588
 
589
 
590
 
591
 
592
}