Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15451 | Rev 16325 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 15451 Rev 15831
Línea 9... Línea 9...
9
use Laminas\Mvc\Controller\AbstractActionController;
9
use Laminas\Mvc\Controller\AbstractActionController;
10
use Laminas\Log\LoggerInterface;
10
use Laminas\Log\LoggerInterface;
11
use Laminas\View\Model\ViewModel;
11
use Laminas\View\Model\ViewModel;
12
use Laminas\View\Model\JsonModel;
12
use Laminas\View\Model\JsonModel;
13
use LeadersLinked\Library\Functions;
13
use LeadersLinked\Library\Functions;
14
use LeadersLinked\Form\TopicForm;
-
 
15
use Laminas\Hydrator\ArraySerializableHydrator;
-
 
16
use Laminas\Db\ResultSet\HydratingResultSet;
-
 
17
use LeadersLinked\Mapper\CompanyMapper;
-
 
18
use LeadersLinked\Model\Company;
14
use LeadersLinked\Model\Company;
19
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
15
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
20
use LeadersLinked\Mapper\MyCoachCategoryMapper;
16
use LeadersLinked\Mapper\MyCoachCategoryMapper;
21
use LeadersLinked\Model\MyCoachCategory;
17
use LeadersLinked\Model\MyCoachCategory;
22
use LeadersLinked\Form\MyCoach\MyCoachCategoryForm;
18
use LeadersLinked\Form\MyCoach\MyCoachCategoryForm;
23
use LeadersLinked\Mapper\MyCoachCategoryEditorMapper;
-
 
24
use LeadersLinked\Mapper\UserMapper;
19
use LeadersLinked\Mapper\UserMapper;
25
use LeadersLinked\Model\MyCoachCategoryEditor;
20
use LeadersLinked\Mapper\MyCoachCategoryUserMapper;
Línea 26... Línea 21...
26
 
21
 
Línea 27... Línea 22...
27
class MyCoachCategoryController extends AbstractActionController {
22
class MyCoachCategoryController extends AbstractActionController {
28
 
23
 
Línea 121... Línea 116...
121
 
116
 
122
              
117
              
123
                $items = [];
118
                $items = [];
124
                $myCoachCategoryMapper = MyCoachCategoryMapper::getInstance($this->adapter);
-
 
125
                $paginator = $myCoachCategoryMapper->fetchAllDataTable($currentCompany->id, $search, $page, $records_x_page, $order_field, $order_direction);
119
                $myCoachCategoryMapper = MyCoachCategoryMapper::getInstance($this->adapter);
126
                
-
 
127
                
-
 
128
                $users = [ ];
-
 
129
                $userMapper = UserMapper::getInstance($this->adapter);
-
 
130
                $myCoachCategoryEditorMapper = MyCoachCategoryEditorMapper::getInstance($this->adapter);
-
 
131
                
120
                $paginator = $myCoachCategoryMapper->fetchAllDataTable($currentCompany->id, $search, $page, $records_x_page, $order_field, $order_direction);
Línea 132... Línea 121...
132
                
121
 
133
                foreach ($paginator as $record) {
122
                foreach ($paginator as $record) {
Línea 146... Línea 135...
146
                            
135
                            
147
                        default : 
136
                        default : 
148
                            $privacy = 'LABEL_UNKNOWN';
137
                            $privacy = 'LABEL_UNKNOWN';
149
                            break;
138
                            break;
150
                    }
139
                    }
151
                    
-
 
152
                    $editors = [];
-
 
153
                    $record_editors = $myCoachCategoryEditorMapper->fetchAllByCategoryId($record->id);
-
 
154
                    foreach($record_editors as $record_editor)
-
 
155
                    {
-
 
156
                        if(isset($users[ $record_editor->user_id ])) {
-
 
157
                            $user = $users[ $record_editor->user_id  ];
-
 
158
                            
-
 
159
                           
-
 
160
                            
-
 
161
                        } else {
-
 
162
                            $user = $userMapper->fetchOne($record_editor->user_id);
-
 
163
                            
-
 
164
                            $users[ $record_editor->user_id ] = $user;
-
 
165
                        }
-
 
166
                        
-
 
167
                        array_push($editors, trim($user->first_name . ' ' . $user->last_name));
-
 
168
                        
-
 
169
                        
-
 
170
                    }
-
 
Línea 180... Línea 149...
180
                        'id' => $record->id,
149
                        'id' => $record->id,
181
                        'name' => $record->name,
150
                        'name' => $record->name,
182
                        'description' => $record->description,
151
                        'description' => $record->description,
183
                        'status' => $record->status,
152
                        'status' => $record->status,
184
                        'privacy' => $privacy,
153
                        'privacy' => $privacy,
185
                        'editors' => $editors,
-
 
186
                        'actions' => [
154
                        'actions' => [
187
                            'link_edit' => $allowEdit ? $this->url()->fromRoute('my-coach/categories/edit', ['id' => $record->uuid]) : '',
155
                            'link_edit' => $allowEdit ? $this->url()->fromRoute('my-coach/categories/edit', ['id' => $record->uuid]) : '',
188
                            'link_delete' => $allowDelete ? $this->url()->fromRoute('my-coach/categories/delete', ['id' => $record->uuid]) : '',
156
                            'link_delete' => $allowDelete ? $this->url()->fromRoute('my-coach/categories/delete', ['id' => $record->uuid]) : '',
189
                        ]
157
                        ]
190
                    ];
158
                    ];
Línea 200... Línea 168...
200
                    ]
168
                    ]
201
                ]);
169
                ]);
202
            } else {
170
            } else {
Línea 203... Línea 171...
203
                
171
                
204
                $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
172
                $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
Línea 205... Línea 173...
205
                $form = new  MyCoachCategoryForm($this->adapter, $currentCompany->id, $allowPrivacyPublic);
173
                $form = new  MyCoachCategoryForm($allowPrivacyPublic);
206
                
174
                
207
 
175
 
Línea 229... Línea 197...
229
 
197
 
230
        if($request->isPost()) {
198
        if($request->isPost()) {
Línea 231... Línea 199...
231
            $dataPost = $request->getPost()->toArray();
199
            $dataPost = $request->getPost()->toArray();
232
            
200
            
233
            $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
201
            $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
Línea 234... Línea 202...
234
            $form = new  MyCoachCategoryForm($this->adapter, $currentCompany->id, $allowPrivacyPublic);
202
            $form = new  MyCoachCategoryForm($allowPrivacyPublic);
Línea 248... Línea 216...
248
                $myCoachCategoryMapper = MyCoachCategoryMapper::getInstance($this->adapter);
216
                $myCoachCategoryMapper = MyCoachCategoryMapper::getInstance($this->adapter);
Línea 249... Línea 217...
249
                
217
                
Línea 250... Línea -...
250
 
-
 
251
                if($myCoachCategoryMapper->insert($category)) {
-
 
252
                    
-
 
253
                    $userMapper = UserMapper::getInstance($this->adapter);
-
 
254
                    $myCoachCategoryEditorMapper = MyCoachCategoryEditorMapper::getInstance($this->adapter);
-
 
255
                    
-
 
256
                    foreach($dataPost['editors'] as $uuid)
-
 
257
                    {
-
 
258
                        $user = $userMapper->fetchOneByUuidAndNetworkId($uuid, $currentUser->network_id);
-
 
259
                        if($user) {
-
 
260
                            $editor = new MyCoachCategoryEditor();
-
 
261
                            $editor->category_id = $category->id;
-
 
262
                            $editor->user_id = $user->id;
-
 
263
                            $myCoachCategoryEditorMapper->insert($editor);
-
 
264
                        }
-
 
265
                    }
218
 
Línea 266... Línea 219...
266
                    
219
                if($myCoachCategoryMapper->insert($category)) {
267
                    
220
                    
268
                    $this->logger->info('Se agrego la categoria ' . $category->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
221
                    $this->logger->info('Se agrego la categoria ' . $category->name, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
Línea 353... Línea 306...
353
 
306
 
354
        if ($request->isPost()) {
307
        if ($request->isPost()) {
Línea 355... Línea 308...
355
            $dataPost = $request->getPost()->toArray();
308
            $dataPost = $request->getPost()->toArray();
356
            
309
            
357
            $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
310
            $allowPrivacyPublic = $currentCompany->default_for_network == Company::DEFAULT_FOR_NETWORK_YES;
Línea 358... Línea 311...
358
            $form = new  MyCoachCategoryForm($this->adapter, $currentCompany->id, $allowPrivacyPublic);
311
            $form = new  MyCoachCategoryForm($allowPrivacyPublic);
Línea 366... Línea 319...
366
                $hydrator = new ObjectPropertyHydrator();
319
                $hydrator = new ObjectPropertyHydrator();
367
                $hydrator->hydrate($dataPost, $category);
320
                $hydrator->hydrate($dataPost, $category);
Línea 368... Línea 321...
368
 
321
 
Línea 369... Línea -...
369
                if($myCoachCategoryMapper->update($category)) {
-
 
370
                    
-
 
371
                    $userMapper = UserMapper::getInstance($this->adapter);
-
 
372
                    $myCoachCategoryEditorMapper = MyCoachCategoryEditorMapper::getInstance($this->adapter);
-
 
373
                    $myCoachCategoryEditorMapper->deleteAllByCategoryId($category->id);
-
 
374
                    
-
 
375
                    foreach($dataPost['editors'] as $uuid)
-
 
376
                    {
-
 
377
                        $user = $userMapper->fetchOneByUuidAndNetworkId($uuid, $currentUser->network_id);
-
 
378
                        if($user) {
-
 
379
                            $editor = new MyCoachCategoryEditor();
-
 
380
                            $editor->category_id = $category->id;
-
 
381
                            $editor->user_id = $user->id;
-
 
382
                            $myCoachCategoryEditorMapper->insert($editor);
-
 
383
                        }
-
 
Línea 384... Línea 322...
384
                    }
322
                if($myCoachCategoryMapper->update($category)) {
Línea 385... Línea 323...
385
                    
323
                    
386
                    
324
                    
Línea 411... Línea 349...
411
                    'data' => $messages
349
                    'data' => $messages
412
                ]);
350
                ]);
413
            }
351
            }
414
        } else if ($request->isGet()) {
352
        } else if ($request->isGet()) {
Línea 415... Línea -...
415
            
-
 
416
            $editors = [];
-
 
417
            $userMapper = UserMapper::getInstance($this->adapter);
-
 
418
            
-
 
419
            $myCoachCategoryEditorMapper = MyCoachCategoryEditorMapper::getInstance($this->adapter);
-
 
420
            $records = $myCoachCategoryEditorMapper->fetchAllByCategoryId($category->id);
-
 
421
            foreach($records as $record)
-
 
422
            {
-
 
423
                $user = $userMapper->fetchOne($record->user_id);
-
 
424
                if($user) {
-
 
425
                    array_push($editors, $user->uuid);
-
 
426
                }
-
 
427
            }
-
 
428
            
-
 
429
            
-
 
430
 
353
            
Línea 431... Línea 354...
431
            $hydrator = new ObjectPropertyHydrator();
354
            $hydrator = new ObjectPropertyHydrator();
432
 
355
 
433
            $data = [
356
            $data = [
434
                'success' => true,
357
                'success' => true,
435
                'data' => [
358
                'data' => [
436
                    'name' => $category->name,
359
                    'name' => $category->name,
437
                    'description' => $category->description,
360
                    'description' => $category->description,
438
                    'status' => $category->status,
-
 
439
                    'privacy' => $category->privacy,
-
 
440
                    'editors' => $editors
361
                    'status' => $category->status,
441
                    
362
                    'privacy' => $category->privacy,
Línea 442... Línea 363...
442
                ]
363
                ]
443
            ];
364
            ];