Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
10273 eleazar 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;
9
use Laminas\Cache\Storage\Adapter\AbstractAdapter;
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;
15
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
16
use LeadersLinked\Form\CreateFeedForm;
17
use LeadersLinked\Library\Functions;
18
use LeadersLinked\Mapper\UserMapper;
19
 
20
use LeadersLinked\Mapper\CompanyMapper;
21
use LeadersLinked\Mapper\TopicMapper;
22
use LeadersLinked\Model\Feed;
23
use LeadersLinked\Mapper\FeedMapper;
24
use LeadersLinked\Mapper\MyTrainerQuestionsMapper;
25
 
26
class MyTrainerAnswerController extends AbstractActionController
27
{
28
    /**
29
     *
30
     * @var AdapterInterface
31
     */
32
    private $adapter;
33
 
34
 
35
    /**
36
     *
37
     * @var AbstractAdapter
38
     */
39
    private $cache;
40
 
41
    /**
42
     *
43
     * @var  LoggerInterface
44
     */
45
    private $logger;
46
 
47
    /**
48
     *
49
     * @var array
50
     */
51
    private $config;
52
 
53
 
54
 
55
    /**
56
     *
57
     * @param AdapterInterface $adapter
58
     * @param AbstractAdapter $cache
59
     * @param LoggerInterface $logger
60
     * @param array $config
61
     */
62
    public function __construct($adapter, $cache , $logger, $config)
63
    {
64
        $this->adapter      = $adapter;
65
        $this->cache        = $cache;
66
        $this->logger       = $logger;
67
        $this->config       = $config;
68
 
69
 
70
    }
71
 
72
    public function indexAction()
73
    {
74
 
75
        $currentUserPlugin = $this->plugin('currentUserPlugin');
76
        $currentUser = $currentUserPlugin->getUser();
77
        $currentCompany = $currentUserPlugin->getCompany();
10423 eleazar 78
        $id =  $this->params()->fromRoute('id');
10273 eleazar 79
 
80
        $request = $this->getRequest();
81
 
10423 eleazar 82
        if(!$id) {
83
            $data = [
84
                'success'   => false,
85
                'data'   => 'ERROR_INVALID_PARAMETER'
86
            ];
87
 
88
            return new JsonModel($data);
89
        }
10273 eleazar 90
 
10423 eleazar 91
        $questionMapper = MyTrainerQuestionMapper::getInstance($this->adapter);
92
        $question = $questionMapper->fetchOneByUuid($id);
93
 
94
        if (!$question) {
95
            $data = [
96
                'success' => false,
97
                'data' => 'ERROR_RECORD_NOT_FOUND'
98
            ];
99
 
100
            return new JsonModel($data);
101
        }
10273 eleazar 102
 
103
 
104
        if($request->isGet()) {
105
            $formAdd = new CreateFeedForm($this->adapter);
106
            $this->layout()->setTemplate('layout/layout-backend');
107
            $viewModel = new ViewModel();
108
            $viewModel->setTemplate('leaders-linked/my-trainer-answer/index.phtml');
109
            $viewModel->setVariables([
10423 eleazar 110
                'formAdd' => $formAdd,
111
                'id'=>$id,
112
                'question_title'=>$question->title,
113
                'question_description'=>$question->description,
10273 eleazar 114
 
115
            ]);
116
            return $viewModel ;
117
 
118
 
119
        } else {
120
            return new JsonModel([
121
                'success' => false,
122
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
123
            ]);;
124
        }
125
    }
126
}