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