Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
7308 nelberth 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
 
9019 nelberth 17
use LeadersLinked\Model\Feed;
7339 nelberth 18
use LeadersLinked\Form\CreateFeedForm;
9627 nelberth 19
use LeadersLinked\Form\TopicForm;
7321 nelberth 20
use LeadersLinked\Mapper\HighPerformanceTeamsGroupsMapper;
21
use LeadersLinked\Mapper\HighPerformanceTeamsGroupsMembersMapper;
22
 
7322 nelberth 23
use LeadersLinked\Mapper\UserMapper;
24
 
7310 nelberth 25
class HighPerformanceTeamsGroupsViewController extends AbstractActionController
7308 nelberth 26
{
27
    /**
28
     *
29
     * @var AdapterInterface
30
     */
31
    private $adapter;
32
 
33
 
34
    /**
35
     *
36
     * @var AbstractAdapter
37
     */
38
    private $cache;
39
 
40
    /**
41
     *
42
     * @var  LoggerInterface
43
     */
44
    private $logger;
45
 
46
    /**
47
     *
48
     * @var array
49
     */
50
    private $config;
51
 
52
 
53
 
54
    /**
55
     *
56
     * @param AdapterInterface $adapter
57
     * @param AbstractAdapter $cache
58
     * @param LoggerInterface $logger
59
     * @param array $config
60
     */
61
    public function __construct($adapter, $cache , $logger, $config)
62
    {
63
        $this->adapter      = $adapter;
64
        $this->cache        = $cache;
65
        $this->logger       = $logger;
66
        $this->config       = $config;
67
 
68
 
69
    }
7320 nelberth 70
 
8685 nelberth 71
    public function IndexAction()
7308 nelberth 72
    {
7320 nelberth 73
        $currentUserPlugin = $this->plugin('currentUserPlugin');
74
        $currentUser = $currentUserPlugin->getUser();
7339 nelberth 75
        $currentCompany = $currentUserPlugin->getCompany();
7836 nelberth 76
        $group_uuid   = $this->params()->fromRoute('group_uuid');
7835 nelberth 77
        $topic_uuid   = $this->params()->fromRoute('topic_uuid');
8634 nelberth 78
 
79
 
7835 nelberth 80
        if(!isset($topic_uuid)){
81
            $topic_uuid='';
7616 nelberth 82
        }
8678 nelberth 83
 
8685 nelberth 84
        $urgent   = $this->params()->fromRoute('urgent');
85
        if(!isset($urgent)){
86
            $urgent='';
87
        }
8734 nelberth 88
 
9513 nelberth 89
 
7339 nelberth 90
        $request = $this->getRequest();
91
        if($request->isGet()) {
92
            $headers  = $request->getHeaders();
7320 nelberth 93
 
7339 nelberth 94
            $isJson = false;
95
            if($headers->has('Accept')) {
96
                $accept = $headers->get('Accept');
7320 nelberth 97
 
7339 nelberth 98
                $prioritized = $accept->getPrioritized();
7320 nelberth 99
 
7339 nelberth 100
                foreach($prioritized as $key => $value) {
101
                    $raw = trim($value->getRaw());
7321 nelberth 102
 
7339 nelberth 103
                    if(!$isJson) {
104
                        $isJson = strpos($raw, 'json');
7321 nelberth 105
                    }
7320 nelberth 106
 
107
                }
7321 nelberth 108
            }
109
 
9233 nelberth 110
            $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
111
            $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
112
 
7646 nelberth 113
            $formFeed = new CreateFeedForm($this->adapter);
9627 nelberth 114
            $formTopicNomal = new TopicForm();
7339 nelberth 115
            $this->layout()->setTemplate('layout/layout-backend');
116
            $viewModel = new ViewModel();
7344 nelberth 117
            $viewModel->setTemplate('leaders-linked/high-performance-teams-groups-view/index.phtml');
7339 nelberth 118
            $viewModel->setVariables([
7347 nelberth 119
                'formFeed'    =>  $formFeed,
7462 nelberth 120
                'group_uuid'  =>  $group_uuid,
7835 nelberth 121
                'topic_uuid'=>$topic_uuid,
8634 nelberth 122
                'formTopicNormal' => $formTopicNomal,
9019 nelberth 123
                'urgent'=>$urgent,
124
                'type_meeting'=>Feed::FILE_TYPE_MEETING,
9233 nelberth 125
                'group_title'=>$highPerformanceTeamsGroups->title,
9235 nelberth 126
                'group_description'=>$highPerformanceTeamsGroups->description,
7321 nelberth 127
            ]);
7339 nelberth 128
            return $viewModel ;
7321 nelberth 129
 
130
 
131
        } else {
7339 nelberth 132
            return new JsonModel([
133
                'success' => false,
134
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
7320 nelberth 135
            ]);
136
        }
7339 nelberth 137
 
7321 nelberth 138
 
7320 nelberth 139
    }
140
 
8683 nelberth 141
 
7504 nelberth 142
 
7308 nelberth 143
}