Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 1144 | Rev 1146 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
1098 geraldo 2
 
1 www 3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Controller;
6
 
7
use Laminas\Db\Adapter\AdapterInterface;
8
use Laminas\Cache\Storage\Adapter\AbstractAdapter;
9
use Laminas\Mvc\Controller\AbstractActionController;
10
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
11
use Laminas\Log\LoggerInterface;
12
use Laminas\View\Model\ViewModel;
13
use Laminas\View\Model\JsonModel;
14
use LeadersLinked\Library\Functions;
15
use LeadersLinked\Mapper\CompetencyMapper;
16
use LeadersLinked\Model\Competency;
17
use LeadersLinked\Form\CompetencyForm;
18
use LeadersLinked\Mapper\CompetencyTypeMapper;
1142 geraldo 19
use LeadersLinked\Model\CompetencyType;
1140 geraldo 20
use LeadersLinked\Mapper\BehaviorCompetencyMapper;
21
use LeadersLinked\Model\BehaviorCompetency;
1142 geraldo 22
use LeadersLinked\Mapper\BehaviorsMapper;
23
use LeadersLinked\Model\Behaviors;
1 www 24
 
1098 geraldo 25
class CompetencyController extends AbstractActionController {
1 www 26
 
27
    /**
28
     *
29
     * @var AdapterInterface
30
     */
31
    private $adapter;
1098 geraldo 32
 
1 www 33
    /**
34
     *
35
     * @var AbstractAdapter
36
     */
37
    private $cache;
1098 geraldo 38
 
1 www 39
    /**
40
     *
41
     * @var  LoggerInterface
42
     */
43
    private $logger;
44
 
45
    /**
46
     *
47
     * @var array
48
     */
49
    private $config;
1098 geraldo 50
 
1 www 51
    /**
52
     *
53
     * @param AdapterInterface $adapter
54
     * @param AbstractAdapter $cache
55
     * @param LoggerInterface $logger
56
     * @param array $config
57
     */
1098 geraldo 58
    public function __construct($adapter, $cache, $logger, $config) {
59
        $this->adapter = $adapter;
60
        $this->cache = $cache;
61
        $this->logger = $logger;
62
        $this->config = $config;
1 www 63
    }
1098 geraldo 64
 
65
    public function indexAction() {
28 efrain 66
        $currentUserPlugin = $this->plugin('currentUserPlugin');
67
        $currentUser = $currentUserPlugin->getUser();
68
        $currentCompany = $currentUserPlugin->getCompany();
1098 geraldo 69
 
1 www 70
        $request = $this->getRequest();
1098 geraldo 71
 
72
        $headers = $request->getHeaders();
73
 
1 www 74
        $request = $this->getRequest();
1098 geraldo 75
        if ($request->isGet()) {
76
 
77
 
78
            $headers = $request->getHeaders();
79
 
1 www 80
            $isJson = false;
1098 geraldo 81
            if ($headers->has('Accept')) {
1 www 82
                $accept = $headers->get('Accept');
1098 geraldo 83
 
1 www 84
                $prioritized = $accept->getPrioritized();
1098 geraldo 85
 
86
                foreach ($prioritized as $key => $value) {
1 www 87
                    $raw = trim($value->getRaw());
1098 geraldo 88
 
89
                    if (!$isJson) {
1 www 90
                        $isJson = strpos($raw, 'json');
91
                    }
92
                }
93
            }
1098 geraldo 94
 
95
            if ($isJson) {
1 www 96
                $search = $this->params()->fromQuery('search', []);
97
                $search = empty($search['value']) ? '' : filter_var($search['value'], FILTER_SANITIZE_STRING);
1098 geraldo 98
 
99
                $page = intval($this->params()->fromQuery('start', 1), 10);
100
                $records_x_page = intval($this->params()->fromQuery('length', 10), 10);
101
                $order = $this->params()->fromQuery('order', []);
102
                $order_field = empty($order[0]['column']) ? 99 : intval($order[0]['column'], 10);
103
                $order_direction = empty($order[0]['dir']) ? 'ASC' : strtoupper(filter_var($order[0]['dir'], FILTER_SANITIZE_STRING));
104
 
105
                $fields = ['type', 'name'];
1 www 106
                $order_field = isset($fields[$order_field]) ? $fields[$order_field] : 'name';
1098 geraldo 107
 
108
                if (!in_array($order_direction, ['ASC', 'DESC'])) {
1 www 109
                    $order_direction = 'ASC';
110
                }
1098 geraldo 111
 
1 www 112
                $competenceMapper = CompetencyMapper::getInstance($this->adapter);
1098 geraldo 113
 
114
 
115
 
116
                if ($currentCompany) {
28 efrain 117
                    $paginator = $competenceMapper->fetchAllDataTableByCompanyId($currentCompany->id, $search, $page, $records_x_page, $order_field, $order_direction);
118
                } else {
119
                    $paginator = $competenceMapper->fetchAllDataTable($search, $page, $records_x_page, $order_field, $order_direction);
120
                }
1 www 121
                $items = [];
122
                $records = $paginator->getCurrentItems();
1098 geraldo 123
                foreach ($records as $record) {
1 www 124
                    $item = [
125
                        'type' => $record['type'],
126
                        'name' => $record['name'],
127
                        'status' => $record['status'],
128
                        'actions' => [
1098 geraldo 129
                            'link_edit' => $this->url()->fromRoute('settings/competencies/edit', ['id' => $record['uuid']]),
130
                            'link_delete' => $this->url()->fromRoute('settings/competencies/delete', ['id' => $record['uuid']])
131
                        ]
1 www 132
                    ];
1098 geraldo 133
 
1 www 134
                    array_push($items, $item);
135
                }
1098 geraldo 136
 
1 www 137
                return new JsonModel([
138
                    'success' => true,
139
                    'data' => [
140
                        'items' => $items,
141
                        'total' => $paginator->getTotalItemCount(),
142
                    ]
143
                ]);
1098 geraldo 144
            } else {
145
                if ($currentCompany) {
66 efrain 146
                    $form = new CompetencyForm($this->adapter, $currentCompany->id);
147
                } else {
148
                    $form = new CompetencyForm($this->adapter);
149
                }
1098 geraldo 150
 
1 www 151
                $this->layout()->setTemplate('layout/layout-backend');
152
                $viewModel = new ViewModel();
153
                $viewModel->setTemplate('leaders-linked/competencies/index.phtml');
154
                $viewModel->setVariable('form', $form);
1098 geraldo 155
                return $viewModel;
156
            }
1 www 157
        } else {
158
            return new JsonModel([
159
                'success' => false,
160
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
1098 geraldo 161
            ]);
162
            ;
1 www 163
        }
164
    }
1098 geraldo 165
 
166
    public function addAction() {
1 www 167
        $currentUserPlugin = $this->plugin('currentUserPlugin');
168
        $currentUser = $currentUserPlugin->getUser();
28 efrain 169
        $currentCompany = $currentUserPlugin->getCompany();
1098 geraldo 170
 
1 www 171
        $request = $this->getRequest();
1098 geraldo 172
 
173
 
174
        if ($request->isPost()) {
175
            if ($currentCompany) {
66 efrain 176
                $form = new CompetencyForm($this->adapter, $currentCompany->id);
177
            } else {
178
                $form = new CompetencyForm($this->adapter);
179
            }
1 www 180
            $dataPost = $request->getPost()->toArray();
1098 geraldo 181
 
1 www 182
            $form->setData($dataPost);
1098 geraldo 183
 
184
            if ($form->isValid()) {
1 www 185
                $dataPost = (array) $form->getData();
186
                $dataPost['status'] = $dataPost['status'] ? $dataPost['status'] : Competency::STATUS_INACTIVE;
1098 geraldo 187
 
1 www 188
                $competenceTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
189
                $competenceType = $competenceTypeMapper->fetchOneByUuid($dataPost['competency_type_id']);
190
                $dataPost['competency_type_id'] = $competenceType->id;
191
 
28 efrain 192
 
1098 geraldo 193
 
1 www 194
                $hydrator = new ObjectPropertyHydrator();
28 efrain 195
                $competence = new Competency();
1098 geraldo 196
 
28 efrain 197
                $hydrator->hydrate($dataPost, $competence);
1098 geraldo 198
 
199
                if ($currentCompany) {
28 efrain 200
                    $competence->company_id = $currentCompany->id;
201
                }
1 www 202
 
203
                $competenceMapper = CompetencyMapper::getInstance($this->adapter);
28 efrain 204
                $result = $competenceMapper->insert($competence);
1098 geraldo 205
 
206
                if ($result) {
1144 geraldo 207
 
1140 geraldo 208
                    $behaviorCompetencyMapper = BehaviorCompetencyMapper::getInstance($this->adapter);
209
                    $behaviorCompetencyMapper->deleteAllBCompetencyId($competence->id);
210
 
211
                    $behaviors = json_decode($dataPost['behaviors'], true);
212
 
213
                    for ($i = 0; $i < count($behaviors); $i++) {
214
 
215
                        $behaviorCompetency = new BehaviorCompetency();
1145 geraldo 216
                        $behaviorCompetency->competency_id = $competence->id;
1140 geraldo 217
                        $behaviorCompetency->behavior_id = $behaviors[$i]['id'];
218
                        $behaviorCompetencyMapper->insert($behaviorCompetency);
219
                    }
1144 geraldo 220
 
221
                    $this->logger->info('Se agrego la competencia ' . $competence->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
1140 geraldo 222
 
1 www 223
                    $data = [
1098 geraldo 224
                        'success' => true,
225
                        'data' => 'LABEL_RECORD_ADDED'
1 www 226
                    ];
1144 geraldo 227
 
1 www 228
                } else {
229
                    $data = [
1098 geraldo 230
                        'success' => false,
231
                        'data' => $competenceMapper->getError()
1 www 232
                    ];
233
                }
1098 geraldo 234
 
1 www 235
                return new JsonModel($data);
236
            } else {
237
                $messages = [];
238
                $form_messages = (array) $form->getMessages();
1098 geraldo 239
                foreach ($form_messages as $fieldname => $field_messages) {
240
 
1 www 241
                    $messages[$fieldname] = array_values($field_messages);
242
                }
1098 geraldo 243
 
1 www 244
                return new JsonModel([
1098 geraldo 245
                    'success' => false,
246
                    'data' => $messages
1 www 247
                ]);
248
            }
249
        } else {
250
            $data = [
251
                'success' => false,
252
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
253
            ];
1098 geraldo 254
 
1 www 255
            return new JsonModel($data);
256
        }
1098 geraldo 257
 
1 www 258
        return new JsonModel($data);
259
    }
1098 geraldo 260
 
261
    public function editAction() {
1 www 262
        $currentUserPlugin = $this->plugin('currentUserPlugin');
263
        $currentUser = $currentUserPlugin->getUser();
28 efrain 264
        $currentCompany = $currentUserPlugin->getCompany();
1098 geraldo 265
 
1 www 266
        $request = $this->getRequest();
267
        $uuid = $this->params()->fromRoute('id');
268
 
1098 geraldo 269
 
270
        if (!$uuid) {
1 www 271
            $data = [
1098 geraldo 272
                'success' => false,
273
                'data' => 'ERROR_INVALID_PARAMETER'
1 www 274
            ];
1098 geraldo 275
 
1 www 276
            return new JsonModel($data);
277
        }
278
 
279
        $competenceMapper = CompetencyMapper::getInstance($this->adapter);
280
        $competence = $competenceMapper->fetchOneByUuid($uuid);
1098 geraldo 281
        if (!$competence) {
1 www 282
            $data = [
1098 geraldo 283
                'success' => false,
284
                'data' => 'ERROR_RECORD_NOT_FOUND'
1 www 285
            ];
1098 geraldo 286
 
1 www 287
            return new JsonModel($data);
288
        }
1098 geraldo 289
 
290
        if ($currentCompany) {
291
            if ($competence->company_id != $currentCompany->id) {
28 efrain 292
                $data = [
1098 geraldo 293
                    'success' => false,
294
                    'data' => 'ERROR_UNAUTHORIZED'
28 efrain 295
                ];
1098 geraldo 296
 
28 efrain 297
                return new JsonModel($data);
298
            }
299
        } else {
1098 geraldo 300
            if ($competence->company_id) {
28 efrain 301
                $data = [
1098 geraldo 302
                    'success' => false,
303
                    'data' => 'ERROR_UNAUTHORIZED'
28 efrain 304
                ];
1098 geraldo 305
 
28 efrain 306
                return new JsonModel($data);
307
            }
308
        }
1098 geraldo 309
 
310
        if ($request->isPost()) {
311
            if ($currentCompany) {
66 efrain 312
                $form = new CompetencyForm($this->adapter, $currentCompany->id);
313
            } else {
314
                $form = new CompetencyForm($this->adapter);
315
            }
1 www 316
            $dataPost = $request->getPost()->toArray();
1098 geraldo 317
 
318
 
1 www 319
            $form->setData($dataPost);
1098 geraldo 320
 
321
            if ($form->isValid()) {
1 www 322
                $dataPost = (array) $form->getData();
323
                $dataPost['status'] = $dataPost['status'] ? $dataPost['status'] : Competency::STATUS_INACTIVE;
1098 geraldo 324
 
1 www 325
                $competenceTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
326
                $competenceType = $competenceTypeMapper->fetchOneByUuid($dataPost['competency_type_id']);
327
                $dataPost['competency_type_id'] = $competenceType->id;
1098 geraldo 328
 
1 www 329
                $hydrator = new ObjectPropertyHydrator();
28 efrain 330
                $hydrator->hydrate($dataPost, $competence);
331
 
332
                $result = $competenceMapper->update($competence);
1098 geraldo 333
 
334
                if ($result) {
1144 geraldo 335
 
336
                    $behaviorCompetencyMapper = BehaviorCompetencyMapper::getInstance($this->adapter);
337
                    $behaviorCompetencyMapper->deleteAllBCompetencyId($competence->id);
338
 
339
                    $behaviors = json_decode($dataPost['behaviors'], true);
340
 
341
                    for ($i = 0; $i < count($behaviors); $i++) {
342
 
343
                        $behaviorCompetency = new BehaviorCompetency();
1145 geraldo 344
                        $behaviorCompetency->competency_id = $competence->id;
1144 geraldo 345
                        $behaviorCompetency->behavior_id = $behaviors[$i]['id'];
346
                        $behaviorCompetencyMapper->insert($behaviorCompetency);
347
                    }
348
 
1 www 349
                    $this->logger->info('Se actualizo la competencia ' . $competenceType->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
1098 geraldo 350
 
1 www 351
                    $data = [
352
                        'success' => true,
353
                        'data' => 'LABEL_RECORD_UPDATED'
354
                    ];
355
                } else {
356
                    $data = [
1098 geraldo 357
                        'success' => false,
358
                        'data' => $competenceMapper->getError()
1 www 359
                    ];
360
                }
1098 geraldo 361
 
1 www 362
                return new JsonModel($data);
363
            } else {
364
                $messages = [];
365
                $form_messages = (array) $form->getMessages();
1098 geraldo 366
                foreach ($form_messages as $fieldname => $field_messages) {
1 www 367
                    $messages[$fieldname] = array_values($field_messages);
368
                }
1098 geraldo 369
 
1 www 370
                return new JsonModel([
1098 geraldo 371
                    'success' => false,
372
                    'data' => $messages
1 www 373
                ]);
374
            }
375
        } else if ($request->isGet()) {
376
            $competenceTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
377
            $competenceType = $competenceTypeMapper->fetchOne($competence->competency_type_id);
1143 geraldo 378
            $behaviorCompetencyMapper = BehaviorCompetencyMapper::getInstance($this->adapter);
379
            $behaviorMapper = BehaviorsMapper::getInstance($this->adapter);
1098 geraldo 380
 
1 www 381
            $hydrator = new ObjectPropertyHydrator();
1098 geraldo 382
 
1 www 383
            $data = $hydrator->extract($competence);
384
            $data['competency_type_id'] = $competenceType->uuid;
1141 geraldo 385
            $data['behaviors'] = [];
1098 geraldo 386
 
1143 geraldo 387
            $behaviorCompetencies = $behaviorCompetencyMapper->fetchByCopetencyId($competence->id);
388
            foreach ($behaviorCompetencies as $record) {
1141 geraldo 389
                $behavior = $behaviorMapper->fetchOne($record->behavior_id);
390
                if ($behavior) {
391
                    array_push($data['behaviors'], [
392
                        'id' => $behavior->uuid,
393
                        'description' => $behavior->description,
394
                    ]);
395
                }
396
            }
397
 
1 www 398
            $response = [
399
                'success' => true,
400
                'data' => $data
401
            ];
1098 geraldo 402
 
1 www 403
            return new JsonModel($response);
404
        } else {
405
            $data = [
406
                'success' => false,
407
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
408
            ];
1098 geraldo 409
 
1 www 410
            return new JsonModel($data);
411
        }
1098 geraldo 412
 
1 www 413
        return new JsonModel($data);
414
    }
1098 geraldo 415
 
416
    public function deleteAction() {
1 www 417
        $currentUserPlugin = $this->plugin('currentUserPlugin');
418
        $currentUser = $currentUserPlugin->getUser();
28 efrain 419
        $currentCompany = $currentUserPlugin->getCompany();
1098 geraldo 420
 
1 www 421
        $request = $this->getRequest();
422
        $uuid = $this->params()->fromRoute('id');
1098 geraldo 423
 
424
        if (!$uuid) {
1 www 425
            $data = [
1098 geraldo 426
                'success' => false,
427
                'data' => 'ERROR_INVALID_PARAMETER'
1 www 428
            ];
1098 geraldo 429
 
1 www 430
            return new JsonModel($data);
431
        }
1098 geraldo 432
 
433
 
1 www 434
        $competenceMapper = CompetencyMapper::getInstance($this->adapter);
28 efrain 435
        $competence = $competenceMapper->fetchOneByUuid($uuid);
1098 geraldo 436
        if (!$competence) {
1 www 437
            $data = [
1098 geraldo 438
                'success' => false,
439
                'data' => 'ERROR_RECORD_NOT_FOUND'
1 www 440
            ];
1098 geraldo 441
 
1 www 442
            return new JsonModel($data);
443
        }
1098 geraldo 444
 
445
        if ($currentCompany) {
446
            if ($competence->company_id != $currentCompany->id) {
28 efrain 447
                $data = [
1098 geraldo 448
                    'success' => false,
449
                    'data' => 'ERROR_UNAUTHORIZED'
28 efrain 450
                ];
1098 geraldo 451
 
28 efrain 452
                return new JsonModel($data);
453
            }
454
        } else {
1098 geraldo 455
            if ($competence->company_id) {
28 efrain 456
                $data = [
1098 geraldo 457
                    'success' => false,
458
                    'data' => 'ERROR_UNAUTHORIZED'
28 efrain 459
                ];
1098 geraldo 460
 
28 efrain 461
                return new JsonModel($data);
462
            }
463
        }
1098 geraldo 464
 
465
        if ($request->isPost()) {
28 efrain 466
            $result = $competenceMapper->delete($competence);
1098 geraldo 467
            if ($result) {
28 efrain 468
                $this->logger->info('Se borro la competencia ' . $competence->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
1098 geraldo 469
 
1 www 470
                $data = [
471
                    'success' => true,
472
                    'data' => 'LABEL_RECORD_DELETED'
473
                ];
474
            } else {
475
 
476
                $data = [
1098 geraldo 477
                    'success' => false,
478
                    'data' => $competenceMapper->getError()
1 www 479
                ];
480
 
481
                return new JsonModel($data);
482
            }
483
        } else {
484
            $data = [
485
                'success' => false,
486
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
487
            ];
1098 geraldo 488
 
1 www 489
            return new JsonModel($data);
490
        }
1098 geraldo 491
 
1 www 492
        return new JsonModel($data);
493
    }
1098 geraldo 494
 
495
    public function importAction() {
28 efrain 496
        $currentUserPlugin = $this->plugin('currentUserPlugin');
497
        $currentUser = $currentUserPlugin->getUser();
498
        $currentCompany = $currentUserPlugin->getCompany();
1098 geraldo 499
 
500
        if (!$currentCompany) {
28 efrain 501
            $data = [
502
                'success' => false,
503
                'data' => 'ERROR_UNAUTHORIZED'
504
            ];
1098 geraldo 505
 
28 efrain 506
            return new JsonModel($data);
507
        }
1098 geraldo 508
 
28 efrain 509
        $request = $this->getRequest();
1098 geraldo 510
 
511
        if ($request->isPost()) {
512
 
28 efrain 513
            $competencyTypeMapper = CompetencyTypeMapper::getInstance($this->adapter);
1098 geraldo 514
 
28 efrain 515
            $competenceMapper = CompetencyMapper::getInstance($this->adapter);
516
            $competenciesDefault = $competenceMapper->fetchAllByDefault();
1098 geraldo 517
 
28 efrain 518
            $new_records = 0;
1098 geraldo 519
            foreach ($competenciesDefault as $competencyDefault) {
28 efrain 520
 
1098 geraldo 521
                if ($competencyDefault->status == Competency::STATUS_INACTIVE) {
28 efrain 522
                    continue;
523
                }
1098 geraldo 524
 
28 efrain 525
                $competency = $competenceMapper->fetchOneByCompanyIdAndCompetencyIdDefault($currentCompany->id, $competencyDefault->id);
1098 geraldo 526
                if (!$competency) {
527
 
528
 
28 efrain 529
                    $competencyType = $competencyTypeMapper->fetchOneByCompanyId($currentCompany->id, $competencyDefault->competency_type_id);
1098 geraldo 530
                    if (!$competencyType) {
531
 
532
 
28 efrain 533
                        $competencyTypeDefault = $competencyTypeMapper->fetchOne($competencyDefault->competency_type_id);
1098 geraldo 534
                        if (!$competencyTypeDefault) {
28 efrain 535
                            continue;
536
                        }
1098 geraldo 537
 
28 efrain 538
                        $competencyType = new CompetencyType();
539
                        $competencyType->company_id = $currentCompany->id;
540
                        $competencyType->competency_type_id_default = $competencyTypeDefault->id;
541
                        $competencyType->description = $competencyTypeDefault->description;
542
                        $competencyType->name = $competencyTypeDefault->name;
543
                        $competencyType->status = CompetencyType::STATUS_ACTIVE;
1098 geraldo 544
 
545
 
546
                        if (!$competencyTypeMapper->insert($competencyType)) {
547
 
28 efrain 548
                            $data = [
549
                                'success' => false,
550
                                'data' => 'ERROR_CANT_ADD_COMPETENCY_TYPE'
551
                            ];
1098 geraldo 552
 
28 efrain 553
                            return new JsonModel($data);
1098 geraldo 554
                        }
28 efrain 555
                    }
1098 geraldo 556
 
557
 
28 efrain 558
                    $competency = new Competency();
559
                    $competency->competency_id_default = $competencyDefault->id;
560
                    $competency->behaviors = $competencyDefault->behaviors;
561
                    $competency->company_id = $currentCompany->id;
562
                    $competency->competency_type_id = $competencyType->id;
563
                    $competency->description = $competencyDefault->description;
564
                    $competency->name = $competencyDefault->name;
565
                    $competency->status = Competency::STATUS_ACTIVE;
1098 geraldo 566
 
567
 
568
 
569
                    if ($competenceMapper->insert($competency)) {
28 efrain 570
                        $new_records++;
571
                    } else {
572
                        $data = [
573
                            'success' => false,
574
                            'data' => 'ERROR_CANT ADD THE COMPETENCY'
575
                        ];
1098 geraldo 576
 
28 efrain 577
                        return new JsonModel($data);
578
                    }
579
                }
580
            }
1098 geraldo 581
 
582
            if ($new_records) {
583
 
584
                if (1 == $new_records) {
28 efrain 585
                    $data = [
586
                        'success' => true,
587
                        'data' => 'LABEL_1_COMPETENCY_IMPORTED'
588
                    ];
1098 geraldo 589
 
28 efrain 590
                    return new JsonModel($data);
591
                } else {
592
                    $data = [
593
                        'success' => true,
1098 geraldo 594
                        'data' => $new_records . ' LABEL_MULTI_COMPETENCIES_IMPORTED'
28 efrain 595
                    ];
1098 geraldo 596
 
28 efrain 597
                    return new JsonModel($data);
598
                }
599
            } else {
600
                $data = [
601
                    'success' => true,
602
                    'data' => 'LABEL_NO_COMPETENCY_IMPORTED'
603
                ];
1098 geraldo 604
 
28 efrain 605
                return new JsonModel($data);
606
            }
607
        } else {
608
            $data = [
609
                'success' => false,
610
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
611
            ];
1098 geraldo 612
 
28 efrain 613
            return new JsonModel($data);
614
        }
1098 geraldo 615
 
28 efrain 616
        return new JsonModel($data);
617
    }
1098 geraldo 618
 
1 www 619
}