Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 986 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 986 Rev 1098
Línea 1... Línea 1...
1
<?php
1
<?php
-
 
2
 
2
declare(strict_types=1);
3
declare(strict_types=1);
Línea 3... Línea 4...
3
 
4
 
Línea 4... Línea 5...
4
namespace LeadersLinked\Controller;
5
namespace LeadersLinked\Controller;
Línea 38... Línea 39...
38
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormMapper;
39
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormMapper;
39
use LeadersLinked\Mapper\CompanyUserMapper;
40
use LeadersLinked\Mapper\CompanyUserMapper;
40
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormUserMapper;
41
use LeadersLinked\Mapper\CompanyPerformanceEvaluationFormUserMapper;
41
use LeadersLinked\Model\CompanyPerformanceEvaluationFormUser;
42
use LeadersLinked\Model\CompanyPerformanceEvaluationFormUser;
Línea -... Línea 43...
-
 
43
 
Línea 42... Línea -...
42
 
-
 
43
 
-
 
44
class PerformanceEvaluationFormUserController extends AbstractActionController
44
class PerformanceEvaluationFormUserController extends AbstractActionController {
45
{
45
 
46
    /**
46
    /**
47
     *
47
     *
48
     * @var AdapterInterface
48
     * @var AdapterInterface
49
     */
-
 
50
    private $adapter;
49
     */
51
    
50
    private $adapter;
52
    
51
 
53
    /**
52
    /**
54
     *
53
     *
55
     * @var AbstractAdapter
54
     * @var AbstractAdapter
56
     */
55
     */
57
    private $cache;
56
    private $cache;
58
    
57
 
59
    /**
58
    /**
60
     *
59
     *
61
     * @var  LoggerInterface
60
     * @var  LoggerInterface
Línea 62... Línea -...
62
     */
-
 
63
    private $logger;
61
     */
64
 
62
    private $logger;
65
    
63
 
66
    /**
64
    /**
67
     *
65
     *
68
     * @var array
66
     * @var array
69
     */
67
     */
70
    private $config;
68
    private $config;
71
    
69
 
72
    /**
70
    /**
73
     *
71
     *
74
     * @param AdapterInterface $adapter
72
     * @param AdapterInterface $adapter
75
     * @param AbstractAdapter $cache
73
     * @param AbstractAdapter $cache
76
     * @param LoggerInterface $logger
74
     * @param LoggerInterface $logger
77
     * @param array $config
-
 
78
     */
75
     * @param array $config
79
    public function __construct($adapter, $cache , $logger,  $config)
76
     */
80
    {
77
    public function __construct($adapter, $cache, $logger, $config) {
81
        $this->adapter      = $adapter;
78
        $this->adapter = $adapter;
82
        $this->cache        = $cache;
-
 
83
        $this->logger       = $logger;
79
        $this->cache = $cache;
84
        $this->config       = $config;
80
        $this->logger = $logger;
85
 
81
        $this->config = $config;
86
    }
-
 
87
    
82
    }
88
    public function indexAction()
83
 
89
    {
84
    public function indexAction() {
90
        $currentUserPlugin = $this->plugin('currentUserPlugin');
85
        $currentUserPlugin = $this->plugin('currentUserPlugin');
91
        $currentUser = $currentUserPlugin->getUser();
86
        $currentUser = $currentUserPlugin->getUser();
92
        $currentCompany = $currentUserPlugin->getCompany();
87
        $currentCompany = $currentUserPlugin->getCompany();
93
        
88
 
94
        $request = $this->getRequest();
-
 
95
        
89
        $request = $this->getRequest();
96
        if($request->isGet())
90
 
97
        {
91
        if ($request->isGet()) {
98
            
92
 
99
            $headers  = $request->getHeaders();
93
            $headers = $request->getHeaders();
100
            
94
 
101
            $isJson = false;
95
            $isJson = false;
102
            if($headers->has('Accept')) {
96
            if ($headers->has('Accept')) {
103
                $accept = $headers->get('Accept');
97
                $accept = $headers->get('Accept');
104
                
98
 
105
                $prioritized = $accept->getPrioritized();
99
                $prioritized = $accept->getPrioritized();
106
                
100
 
107
                foreach($prioritized as $key => $value) {
101
                foreach ($prioritized as $key => $value) {
108
                    $raw = trim($value->getRaw());
102
                    $raw = trim($value->getRaw());
109
                    
103
 
110
                    if(!$isJson) {
-
 
111
                        $isJson = strpos($raw, 'json');
104
                    if (!$isJson) {
112
                    }
105
                        $isJson = strpos($raw, 'json');
113
                    
106
                    }
114
                }
107
                }
115
            }
108
            }
116
            
109
 
117
            if($isJson) {
110
            if ($isJson) {
118
                $form_uuid     = filter_var($this->params()->fromQuery('form_uuid'), FILTER_SANITIZE_STRING);
111
                $form_uuid = filter_var($this->params()->fromQuery('form_uuid'), FILTER_SANITIZE_STRING);
119
 
112
 
120
                $data = [
-
 
121
                    'items' => [] ,
113
                $data = [
122
                    'total' => 0,
114
                    'items' => [],
123
                    
115
                    'total' => 0,
124
                ];
116
                ];
125
                
117
 
126
                
118
 
127
                if(!$form_uuid) {
119
                if (!$form_uuid) {
128
                    return new JsonModel([
120
                    return new JsonModel([
129
                        'success' => true,
-
 
130
                        'data' => $data
121
                        'success' => true,
131
                    ]);
122
                        'data' => $data
132
                    
123
                    ]);
133
                }
124
                }
134
                
125
 
135
                
126
 
136
                $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
127
                $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
137
                $form = $formMapper->fetchOneByUuid($form_uuid);
128
                $form = $formMapper->fetchOneByUuid($form_uuid);
138
                if(!$form) {
129
                if (!$form) {
139
                    return new JsonModel([
130
                    return new JsonModel([
140
                        'success' => true,
131
                        'success' => true,
141
                        'data' => 'ERROR_FORM_NOT_FOUND'
132
                        'data' => 'ERROR_FORM_NOT_FOUND'
142
                    ]);
133
                    ]);
143
                }
134
                }
144
                
135
 
145
                if($form->company_id != $currentCompany->id) {
136
                if ($form->company_id != $currentCompany->id) {
146
                    return new JsonModel([
137
                    return new JsonModel([
147
                        'success' => true,
138
                        'success' => true,
148
                        'data' => 'ERROR_UNAUTHORIZED'
139
                        'data' => 'ERROR_UNAUTHORIZED'
Línea 149... Línea 140...
149
                    ]);
140
                    ]);
150
                }
141
                }
151
                
142
 
152
 
143
 
153
                $search = $this->params()->fromQuery('search', []);
144
                $search = $this->params()->fromQuery('search', []);
154
                $search = empty($search['value']) ? '' : filter_var($search['value'], FILTER_SANITIZE_STRING);
145
                $search = empty($search['value']) ? '' : filter_var($search['value'], FILTER_SANITIZE_STRING);
155
                
146
 
156
                $page               = intval($this->params()->fromQuery('start', 1), 10);
147
                $page = intval($this->params()->fromQuery('start', 1), 10);
157
                $records_x_page     = intval($this->params()->fromQuery('length', 10), 10);
148
                $records_x_page = intval($this->params()->fromQuery('length', 10), 10);
158
                $order =  $this->params()->fromQuery('order', []);
149
                $order = $this->params()->fromQuery('order', []);
159
                $order_field        = empty($order[0]['column']) ? 99 :  intval($order[0]['column'], 10);
150
                $order_field = empty($order[0]['column']) ? 99 : intval($order[0]['column'], 10);
160
                $order_direction    = empty($order[0]['dir']) ? 'ASC' : strtoupper(filter_var( $order[0]['dir'], FILTER_SANITIZE_STRING));
151
                $order_direction = empty($order[0]['dir']) ? 'ASC' : strtoupper(filter_var($order[0]['dir'], FILTER_SANITIZE_STRING));
161
                
152
 
162
                $fields =  ['uuid', 'first_name', 'last_name', 'email'];
153
                $fields = ['uuid', 'first_name', 'last_name', 'email'];
163
                $order_field = isset($fields[$order_field]) ? $fields[$order_field] : 'first_name';
154
                $order_field = isset($fields[$order_field]) ? $fields[$order_field] : 'first_name';
164
                
155
 
165
                if(!in_array($order_direction, ['ASC', 'DESC'])) {
156
                if (!in_array($order_direction, ['ASC', 'DESC'])) {
166
                    $order_direction = 'ASC';
157
                    $order_direction = 'ASC';
167
                }
158
                }
168
                
159
 
169
                $formUsersMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
160
                $formUsersMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
170
                
161
 
171
                
162
 
172
                
163
 
173
                
164
 
174
                $acl = $this->getEvent()->getViewModel()->getVariable('acl');
165
                $acl = $this->getEvent()->getViewModel()->getVariable('acl');
175
                $allowAdd = $acl->isAllowed($currentUser->usertype_id, 'performance-evaluation/users/add');
166
                $allowAdd = $acl->isAllowed($currentUser->usertype_id, 'performance-evaluation/users/add');
176
                $allowDelete = $acl->isAllowed($currentUser->usertype_id,'performance-evaluation/users/delete');
167
                $allowDelete = $acl->isAllowed($currentUser->usertype_id, 'performance-evaluation/users/delete');
177
                
168
 
178
                $queryMapper = QueryMapper::getInstance($this->adapter);
169
                $queryMapper = QueryMapper::getInstance($this->adapter);
179
                $sql = $queryMapper->getSql();
170
                $sql = $queryMapper->getSql();
180
                $select = $sql->select();
171
                $select = $sql->select();
181
                $select->columns(['id', 'uuid', 'first_name', 'last_name', 'email']);
172
                $select->columns(['id', 'uuid', 'first_name', 'last_name', 'email']);
182
                $select->from(['tb1' => UserMapper::_TABLE] );
173
                $select->from(['tb1' => UserMapper::_TABLE]);
183
                $select->join(['tb2' => CompanyUserMapper::_TABLE], 'tb1.id = tb2.user_id ', []);
174
                $select->join(['tb2' => CompanyUserMapper::_TABLE], 'tb1.id = tb2.user_id ', []);
184
                $select->where->equalTo('tb2.company_id', $form->company_id);
175
                $select->where->equalTo('tb2.company_id', $form->company_id);
185
                
176
 
186
                if($search) {
177
                if ($search) {
187
                    $select->where->nest()
178
                    $select->where->nest()
188
                    ->like('first_name', '%' . $search . '%')
-
 
189
                    ->or->like('last_name', '%' . $search . '%')
179
                            ->like('first_name', '%' . $search . '%')
190
                    ->or->like('email', '%' . $search . '%')
180
                            ->or->like('last_name', '%' . $search . '%')
191
                    ->unnest();
181
                            ->or->like('email', '%' . $search . '%')
192
                    
182
                            ->unnest();
193
                }
183
                }
194
                
184
 
195
                
185
 
196
                $select->order($order_field . ' ' . $order_direction);
186
                $select->order($order_field . ' ' . $order_direction);
197
                
187
 
198
                $hydrator   = new ArraySerializableHydrator();
188
                $hydrator = new ArraySerializableHydrator();
199
                $resultset  = new HydratingResultSet($hydrator);
189
                $resultset = new HydratingResultSet($hydrator);
200
                
190
 
201
                $adapter = new DbSelect($select, $sql, $resultset);
191
                $adapter = new DbSelect($select, $sql, $resultset);
202
                $paginator = new Paginator($adapter);
192
                $paginator = new Paginator($adapter);
203
                $paginator->setItemCountPerPage($records_x_page);
193
                $paginator->setItemCountPerPage($records_x_page);
204
                $paginator->setCurrentPageNumber($page);
194
                $paginator->setCurrentPageNumber($page);
205
                
195
 
206
                
-
 
207
                $items = [ ];
196
 
208
                $records = $paginator->getCurrentItems();
197
                $items = [];
209
                foreach($records as $record)
198
                $records = $paginator->getCurrentItems();
210
                {
-
 
211
                    $params = [
199
                foreach ($records as $record) {
212
                        'form_id' => $form->uuid, 
200
                    $params = [
213
                        'user_id' => $record['uuid'],
201
                        'form_id' => $form->uuid,
214
                        
202
                        'user_id' => $record['uuid'],
215
                    ];
203
                    ];
216
                
204
 
217
                    $link_add = '';
205
                    $link_add = '';
218
                    $link_delete = '';
206
                    $link_delete = '';
219
                    $formUser = $formUsersMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $record['id']);
207
                    $formUser = $formUsersMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $record['id']);
220
                
208
 
221
                    if($formUser) {
209
                    if ($formUser) {
222
                        $link_delete = $this->url()->fromRoute('performance-evaluation/users/delete', $params);        
210
                        $link_delete = $this->url()->fromRoute('performance-evaluation/users/delete', $params);
223
                    } else  {
211
                    } else {
224
                        $link_add = $this->url()->fromRoute('performance-evaluation/users/add', $params); 
212
                        $link_add = $this->url()->fromRoute('performance-evaluation/users/add', $params);
225
                    }
213
                    }
226
                    
214
 
227
                    $item = [
215
                    $item = [
228
                        'uuid' => $record['uuid'],
216
                        'uuid' => $record['uuid'],
229
                        'first_name' => $record['first_name'],
217
                        'first_name' => $record['first_name'],
230
                        'last_name' => $record['last_name'],
218
                        'last_name' => $record['last_name'],
231
                        'email' => $record['email'],
219
                        'email' => $record['email'],
232
                        'actions' => [
220
                        'actions' => [
233
                            'link_add' => $allowAdd ? $link_add : '',
221
                            'link_add' => $allowAdd ? $link_add : '',
234
                            'link_delete' => $allowDelete ? $link_delete : '',
222
                            'link_delete' => $allowDelete ? $link_delete : '',
235
                        ]
223
                        ]
236
                    ];
-
 
237
                    
-
 
238
                    
224
                    ];
239
                    array_push($items, $item);
225
 
240
                    
226
 
241
                    
227
                    array_push($items, $item);
242
                }
228
                }
243
                
229
 
244
                $data['items'] = $items;
230
                $data['items'] = $items;
245
                $data['total'] = $paginator->getTotalItemCount();
231
                $data['total'] = $paginator->getTotalItemCount();
246
                
232
 
247
                
233
 
248
                return new JsonModel([
234
                return new JsonModel([
Línea 249... Línea 235...
249
                    'success' => true,
235
                    'success' => true,
250
                    'data' => $data
236
                    'data' => $data
Línea 251... Línea 237...
251
                ]);
237
                ]);
252
            } else {
238
            } else {
253
 
239
 
254
                
240
 
255
                $form = new PerformanceEvaluationFormForm($this->adapter, $currentCompany->id);
241
                $form = new PerformanceEvaluationFormForm($this->adapter, $currentCompany->id);
256
 
242
 
257
                
243
 
258
                
-
 
259
                $this->layout()->setTemplate('layout/layout-backend');
244
 
260
                $viewModel = new ViewModel();
245
                $this->layout()->setTemplate('layout/layout-backend');
261
                $viewModel->setTemplate('leaders-linked/performance-evaluation-users/index.phtml');
246
                $viewModel = new ViewModel();
262
                $viewModel->setVariables([
247
                $viewModel->setTemplate('leaders-linked/performance-evaluation-users/index.phtml');
263
                    'form' => $form,
-
 
264
 
248
                $viewModel->setVariables([
265
                ]);
249
                    'form' => $form,
266
                
250
                ]);
267
                return $viewModel ;
251
 
268
            }
252
                return $viewModel;
-
 
253
            }
269
            
254
        } else {
270
        } else {
255
            return new JsonModel([
271
            return new JsonModel([
-
 
272
                'success' => false,
-
 
Línea 273... Línea 256...
273
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
256
                'success' => false,
274
            ]);;
-
 
275
        }
257
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
276
    }
258
            ]);
277
    
259
            ;
278
    
260
        }
279
 
261
    }
280
    public function addAction()
262
 
281
    { 
263
    public function addAction() {
282
        $request = $this->getRequest();
264
        $request = $this->getRequest();
283
        
265
 
284
        $currentUserPlugin = $this->plugin('currentUserPlugin');
266
        $currentUserPlugin = $this->plugin('currentUserPlugin');
285
        $currentUser    = $currentUserPlugin->getUser();
267
        $currentUser = $currentUserPlugin->getUser();
286
        $currentCompany = $currentUserPlugin->getCompany();
268
        $currentCompany = $currentUserPlugin->getCompany();
287
        
269
 
288
        $request    = $this->getRequest();
270
        $request = $this->getRequest();
289
        $form_uuid  = $this->params()->fromRoute('form_id');
271
        $form_uuid = $this->params()->fromRoute('form_id');
290
        $user_uuid  = $this->params()->fromRoute('user_id');
272
        $user_uuid = $this->params()->fromRoute('user_id');
291
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
273
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
292
        $form = $formMapper->fetchOneByUuid($form_uuid);
274
        $form = $formMapper->fetchOneByUuid($form_uuid);
293
        if(!$form) {
275
        if (!$form) {
294
            return new JsonModel([
276
            return new JsonModel([
295
                'success' => true,
277
                'success' => true,
296
                'data' => 'ERROR_FORM_NOT_FOUND'
278
                'data' => 'ERROR_FORM_NOT_FOUND'
297
            ]);
279
            ]);
298
        }
280
        }
299
        
281
 
300
        if($form->company_id != $currentCompany->id) {
282
        if ($form->company_id != $currentCompany->id) {
301
            return new JsonModel([
283
            return new JsonModel([
302
                'success' => true,
284
                'success' => true,
303
                'data' => 'ERROR_UNAUTHORIZED'
285
                'data' => 'ERROR_UNAUTHORIZED'
304
            ]);
286
            ]);
305
        }
287
        }
306
        
288
 
307
        
289
 
308
        $userMapper = UserMapper::getInstance($this->adapter);
290
        $userMapper = UserMapper::getInstance($this->adapter);
309
        $user = $userMapper->fetchOneByUuid($user_uuid);
291
        $user = $userMapper->fetchOneByUuid($user_uuid);
310
        
292
 
311
        if(!$user) {
293
        if (!$user) {
312
            return new JsonModel([
294
            return new JsonModel([
313
                'success'   => false,
295
                'success' => false,
314
                'data'   => 'ERROR_USER_NOT_FOUND'
296
                'data' => 'ERROR_USER_NOT_FOUND'
315
            ]);
297
            ]);
316
        }
298
        }
317
        
299
 
318
        
300
 
319
        
301
 
320
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
302
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
321
        $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($form->company_id, $user->id);
303
        $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($form->company_id, $user->id);
322
        if(!$companyUser) {
304
        if (!$companyUser) {
323
            return new JsonModel([
305
            return new JsonModel([
324
                'success'   => false,
306
                'success' => false,
325
                'data'   => 'ERROR_UNAUTHORIZED'
307
                'data' => 'ERROR_UNAUTHORIZED'
326
            ]);
308
            ]);
327
        }
309
        }
328
        
310
 
329
        if($request->isPost()) {
311
        if ($request->isPost()) {
330
           
312
 
331
            $formUserMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
313
            $formUserMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
332
            $formUser = $formUserMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $user->id);
314
            $formUser = $formUserMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $user->id);
333
            
315
 
334
            if($formUser) {
316
            if ($formUser) {
335
                return new JsonModel([
317
                return new JsonModel([
336
                    'success'   => false,
318
                    'success' => false,
337
                    'data'   => 'ERROR_ALREADY_USER_ACCESS_TO_FORM'
319
                    'data' => 'ERROR_ALREADY_USER_ACCESS_TO_FORM'
338
                ]);
320
                ]);
339
            }
321
            }
340
            
322
 
341
            $formUser = new CompanyPerformanceEvaluationFormUser();
323
            $formUser = new CompanyPerformanceEvaluationFormUser();
342
            $formUser->company_id = $form->company_id;
324
            $formUser->company_id = $form->company_id;
343
            $formUser->form_id = $form->id;
325
            $formUser->form_id = $form->id;
344
            $formUser->user_id = $user->id;
326
            $formUser->user_id = $user->id;
345
            
327
 
346
            $result = $formUserMapper->insert($formUser);
328
            $result = $formUserMapper->insert($formUser);
347
            
-
 
348
            if($result) {
329
 
349
                
330
            if ($result) {
350
                return new JsonModel([
331
 
351
                    'success' => true,
332
                return new JsonModel([
352
                    'data' => 'LABEL_USER_ACCESS_TO_FORM_ALLOW'
333
                    'success' => true,
353
                ]);
334
                    'data' => 'LABEL_USER_ACCESS_TO_FORM_ALLOW'
354
                
335
                ]);
355
            } else {
-
 
356
                
-
 
357
                return new JsonModel([
336
            } else {
358
                    'success'   => false,
337
 
359
                    'data'      => $formUserMapper->getError()
338
                return new JsonModel([
360
                ]);
339
                    'success' => false,
361
            }
340
                    'data' => $formUserMapper->getError()
362
                
341
                ]);
363
            
342
            }
Línea 364... Línea -...
364
        }
-
 
365
        
343
        }
366
        return new JsonModel([
-
 
367
            'success' => false,
344
 
368
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
345
        return new JsonModel([
369
        ]);
346
            'success' => false,
370
    }
347
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
371
 
348
        ]);
372
    
349
    }
373
    public function deleteAction()
350
 
374
    {
351
    public function deleteAction() {
375
        $request = $this->getRequest();
352
        $request = $this->getRequest();
376
        
353
 
377
        $currentUserPlugin = $this->plugin('currentUserPlugin');
354
        $currentUserPlugin = $this->plugin('currentUserPlugin');
378
        $currentUser    = $currentUserPlugin->getUser();
355
        $currentUser = $currentUserPlugin->getUser();
379
        $currentCompany = $currentUserPlugin->getCompany();
356
        $currentCompany = $currentUserPlugin->getCompany();
380
        
357
 
381
        $request    = $this->getRequest();
358
        $request = $this->getRequest();
382
        $form_uuid  = $this->params()->fromRoute('form_id');
359
        $form_uuid = $this->params()->fromRoute('form_id');
383
        $user_uuid  = $this->params()->fromRoute('user_id');
360
        $user_uuid = $this->params()->fromRoute('user_id');
384
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
361
        $formMapper = CompanyPerformanceEvaluationFormMapper::getInstance($this->adapter);
385
        
362
 
386
        $form = $formMapper->fetchOneByUuid($form_uuid);
363
        $form = $formMapper->fetchOneByUuid($form_uuid);
387
        if(!$form) {
364
        if (!$form) {
388
            return new JsonModel([
365
            return new JsonModel([
389
                'success' => true,
366
                'success' => true,
390
                'data' => 'ERROR_FORM_NOT_FOUND'
367
                'data' => 'ERROR_FORM_NOT_FOUND'
391
            ]);
368
            ]);
392
        }
369
        }
393
        
370
 
394
        if($form->company_id != $currentCompany->id) {
371
        if ($form->company_id != $currentCompany->id) {
395
            return new JsonModel([
372
            return new JsonModel([
396
                'success' => true,
373
                'success' => true,
397
                'data' => 'ERROR_UNAUTHORIZED'
374
                'data' => 'ERROR_UNAUTHORIZED'
398
            ]);
375
            ]);
399
        }
376
        }
400
        
377
 
401
        
378
 
402
        $userMapper = UserMapper::getInstance($this->adapter);
379
        $userMapper = UserMapper::getInstance($this->adapter);
Línea 403... Línea 380...
403
        $user = $userMapper->fetchOneByUuid($user_uuid);
380
        $user = $userMapper->fetchOneByUuid($user_uuid);
404
        
381
 
405
        if(!$user) {
382
        if (!$user) {
406
            return new JsonModel([
383
            return new JsonModel([
407
                'success'   => false,
384
                'success' => false,
408
                'data'   => 'ERROR_USER_NOT_FOUND'
385
                'data' => 'ERROR_USER_NOT_FOUND'
409
            ]);
386
            ]);
410
        }
387
        }
411
 
388
 
412
 
389
 
413
        
390
 
414
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
391
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
415
        $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($form->company_id, $user->id);
392
        $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($form->company_id, $user->id);
416
        if(!$companyUser) {
393
        if (!$companyUser) {
417
            return new JsonModel([
394
            return new JsonModel([
418
                'success'   => false,
395
                'success' => false,
419
                'data'   => 'ERROR_UNAUTHORIZED'
396
                'data' => 'ERROR_UNAUTHORIZED'
420
            ]);
397
            ]);
421
        }
398
        }
422
        
399
 
423
        if($request->isPost()) {
400
        if ($request->isPost()) {
424
            
401
 
425
            $formUserMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
402
            $formUserMapper = CompanyPerformanceEvaluationFormUserMapper::getInstance($this->adapter);
426
            $formUser = $formUserMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $user->id);
403
            $formUser = $formUserMapper->fetchAllByCompanyIdAndFormIdAndUserId($form->company_id, $form->id, $user->id);
427
            
404
 
428
           
405
 
429
            
406
 
430
            if(!$formUser) {
407
            if (!$formUser) {
431
                return new JsonModel([
408
                return new JsonModel([
432
                    'success'   => false,
409
                    'success' => false,
433
                    'data'   => 'ERROR_UNKNOW_USER_ACCESS_TO_FORM'
410
                    'data' => 'ERROR_UNKNOW_USER_ACCESS_TO_FORM'
434
                ]);
411
                ]);
435
            }
412
            }
436
            
-
 
437
            
413
 
438
            $result = $formUserMapper->delete($formUser->id);
414
 
439
            
415
            $result = $formUserMapper->delete($formUser->id);
440
            if($result) {
416
 
441
                
417
            if ($result) {
442
                return new JsonModel([
418
 
443
                    'success' => true,
419
                return new JsonModel([
444
                    'data' => 'LABEL_USER_ACCESS_TO_FORM_REVOKE'
-
 
445
                ]);
-
 
446
                
420
                    'success' => true,
447
            } else {
421
                    'data' => 'LABEL_USER_ACCESS_TO_FORM_REVOKE'
448
                
422
                ]);
449
                return new JsonModel([
423
            } else {
450
                    'success'   => false,
424
 
451
                    'data'      => $formUserMapper->getError()
425
                return new JsonModel([
452
                ]);
426
                    'success' => false,
453
            }
-
 
454
            
427
                    'data' => $formUserMapper->getError()
455
            
-
 
456
        }
-
 
457
        
428
                ]);