Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 8400 Rev 8402
Línea 17... Línea 17...
17
 
17
 
18
use LeadersLinked\Mapper\CompanyMapper;
18
use LeadersLinked\Mapper\CompanyMapper;
19
use LeadersLinked\Mapper\CompanyUserMapper;
19
use LeadersLinked\Mapper\CompanyUserMapper;
20
use LeadersLinked\Form\CreateFeedForm;
20
use LeadersLinked\Form\CreateFeedForm;
-
 
21
use LeadersLinked\Form\CommentForm;
21
use LeadersLinked\Form\CommentForm;
22
use LeadersLinked\Form\CommentAnswerForm;
22
use LeadersLinked\Model\Comment;
23
use LeadersLinked\Model\Comment;
23
use LeadersLinked\Mapper\CommentMapper;
24
use LeadersLinked\Mapper\CommentMapper;
24
use LeadersLinked\Mapper\FeedMapper;
25
use LeadersLinked\Mapper\FeedMapper;
25
use LeadersLinked\Mapper\GroupMapper;
26
use LeadersLinked\Mapper\GroupMapper;
Línea 250... Línea 251...
250
        }
251
        }
Línea 251... Línea 252...
251
        
252
        
Línea -... Línea 253...
-
 
253
        
-
 
254
    }
-
 
255
 
-
 
256
    public function answerAction()
-
 
257
    {
-
 
258
    
-
 
259
 
-
 
260
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
261
        $currentUser = $currentUserPlugin->getUser();
-
 
262
        $currentCompany = $currentUserPlugin->getCompany();
-
 
263
        
-
 
264
        
-
 
265
        $id = $this->params()->fromRoute('id');
-
 
266
        $comment_uuid = $this->params()->fromRoute('comment');
-
 
267
        
-
 
268
        $request = $this->getRequest();
-
 
269
        if($request->isPost()) {
-
 
270
            $feedMapper = FeedMapper::getInstance($this->adapter);
-
 
271
            $feed = $feedMapper->fetchOneByUuid($id);
-
 
272
            if(!$feed) {
-
 
273
                $response = [
-
 
274
                    'success' => false,
-
 
275
                    'data' => 'ERROR_POST_NOT_FOUND'
-
 
276
                ];
-
 
277
                return new JsonModel($response);
-
 
278
            }
-
 
279
            
-
 
280
            if($feed->company_id != $currentCompany->id) {
-
 
281
                $response = [
-
 
282
                    'success' => false,
-
 
283
                    'data' => 'ERROR_UNAUTHORIZED'
-
 
284
                ];
-
 
285
                return new JsonModel($response);
-
 
286
            }
-
 
287
            
-
 
288
            $dataPost = $request->getPost()->toArray();
-
 
289
            $form = new CommentAnswerForm();
-
 
290
            $form->setData($dataPost);
-
 
291
            
-
 
292
            if($form->isValid()) {
-
 
293
                
-
 
294
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
-
 
295
                $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
-
 
296
                
-
 
297
                $dataPost = (array) $form->getData();
-
 
298
                $comment = new Comment();
-
 
299
                $comment->comment = $dataPost['comment'];
-
 
300
                $comment->feed_id = $feed->id;
-
 
301
                
-
 
302
                if($feed->type=='hptg'){
-
 
303
                    $comment->user_id = $currentUser->id;
-
 
304
 
-
 
305
                }else{
-
 
306
                    $comment->user_id = $owner->user_id;
-
 
307
 
-
 
308
                }
-
 
309
                
-
 
310
                $commentMapper = CommentMapper::getInstance($this->adapter);
-
 
311
                if($commentMapper->insert($comment)) {
-
 
312
                    
-
 
313
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
-
 
314
                    
-
 
315
                    $feed->total_comments = $total_comments;
-
 
316
                    $feedMapper->update($feed);
-
 
317
                    
-
 
318
                    $response = [
-
 
319
                        'success'   => true,
-
 
320
                        'data'   => $this->renderComment($comment->id),
-
 
321
                        'total_comments' => $total_comments
-
 
322
                    ];
-
 
323
                    
-
 
324
                    return new JsonModel($response);
-
 
325
                    
-
 
326
                } else {
-
 
327
                    
-
 
328
                    $response = [
-
 
329
                        'success'   => false,
-
 
330
                        'data'   => $commentMapper->getError()
-
 
331
                    ];
-
 
332
                    
-
 
333
                    return new JsonModel($response);
-
 
334
                }
-
 
335
                
-
 
336
            } else {
-
 
337
                $message = '';;
-
 
338
                $form_messages = (array) $form->getMessages();
-
 
339
                foreach($form_messages  as $fieldname => $field_messages)
-
 
340
                {
-
 
341
                    foreach( $field_messages as $key => $value)
-
 
342
                    {
-
 
343
                        $message = $value;
-
 
344
                    }
-
 
345
                }
-
 
346
                
-
 
347
                $response = [
-
 
348
                    'success'   => false,
-
 
349
                    'data'   => $message
-
 
350
                ];
-
 
351
                
-
 
352
                return new JsonModel($response);
-
 
353
            }
-
 
354
            
-
 
355
            
-
 
356
        } else {
-
 
357
            $response = [
-
 
358
                'success' => false,
-
 
359
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
360
            ];
-
 
361
            
-
 
362
            return new JsonModel($response);
-
 
363
        }
252
        
364
        
Línea 253... Línea 365...
253
    }
365
        
254
 
366
    }
255
 
367