| 4571 | nelberth | 1 | <?php
 | 
        
           | 4637 | nelberth | 2 | /**
 | 
        
           |  |  | 3 |  *
 | 
        
           |  |  | 4 |  * Controlador: Mis Perfiles
 | 
        
           |  |  | 5 |  *
 | 
        
           |  |  | 6 |  */
 | 
        
           | 4571 | nelberth | 7 | declare(strict_types=1);
 | 
        
           |  |  | 8 |   | 
        
           |  |  | 9 | namespace LeadersLinked\Controller;
 | 
        
           |  |  | 10 |   | 
        
           |  |  | 11 | use Laminas\Db\Adapter\AdapterInterface;
 | 
        
           |  |  | 12 | use Laminas\Cache\Storage\Adapter\AbstractAdapter;
 | 
        
           |  |  | 13 | use Laminas\Mvc\Controller\AbstractActionController;
 | 
        
           |  |  | 14 | use Laminas\Log\LoggerInterface;
 | 
        
           |  |  | 15 | use Laminas\View\Model\ViewModel;
 | 
        
           | 4637 | nelberth | 16 |   | 
        
           |  |  | 17 | use LeadersLinked\Mapper\GroupMapper;
 | 
        
           |  |  | 18 | use LeadersLinked\Mapper\GroupMemberMapper;
 | 
        
           |  |  | 19 | use LeadersLinked\Mapper\GroupTypeMapper;
 | 
        
           |  |  | 20 | use LeadersLinked\Model\Group;
 | 
        
           |  |  | 21 | use LeadersLinked\Model\GroupMember;
 | 
        
           |  |  | 22 | use LeadersLinked\Library\Functions;
 | 
        
           |  |  | 23 | use LeadersLinked\Mapper\IndustryMapper;
 | 
        
           |  |  | 24 | use LeadersLinked\Form\Feed\CreateGroupCompanyForm;
 | 
        
           |  |  | 25 | use LeadersLinked\Form\Feed\ShareGroupCompanyForm;
 | 
        
           |  |  | 26 | use LeadersLinked\Mapper\UserBlockedMapper;
 | 
        
           |  |  | 27 | use LeadersLinked\Mapper\QueryMapper;
 | 
        
           |  |  | 28 | use LeadersLinked\Mapper\UserMapper;
 | 
        
           |  |  | 29 | use LeadersLinked\Mapper\UserProfileMapper;
 | 
        
           |  |  | 30 | use LeadersLinked\Model\User;
 | 
        
           | 4571 | nelberth | 31 | use Laminas\View\Model\JsonModel;
 | 
        
           | 4637 | nelberth | 32 | use PhpParser\Node\Stmt\GroupUse;
 | 
        
           |  |  | 33 | use LeadersLinked\Library\UserNotification;
 | 
        
           |  |  | 34 | use LeadersLinked\Mapper\EmailTemplateMapper;
 | 
        
           |  |  | 35 | use LeadersLinked\Model\EmailTemplate;
 | 
        
           |  |  | 36 | use LeadersLinked\Mapper\UserNotificationSettingMapper;
 | 
        
           |  |  | 37 | use LeadersLinked\Library\QueueEmail;
 | 
        
           |  |  | 38 | use phpDocumentor\Reflection\PseudoTypes\True_;
 | 
        
           |  |  | 39 | use Laminas\Db\Sql\Expression;
 | 
        
           |  |  | 40 | use LeadersLinked\Model\Notification;
 | 
        
           |  |  | 41 | use LeadersLinked\Mapper\NotificationMapper;
 | 
        
           | 4571 | nelberth | 42 |   | 
        
           | 4637 | nelberth | 43 |   | 
        
           | 4638 | nelberth | 44 | class HighPerformanceTeamsGroupController extends AbstractActionController
 | 
        
           | 4571 | nelberth | 45 | {
 | 
        
           |  |  | 46 |     /**
 | 
        
           |  |  | 47 |      *
 | 
        
           |  |  | 48 |      * @var AdapterInterface
 | 
        
           |  |  | 49 |      */
 | 
        
           |  |  | 50 |     private $adapter;
 | 
        
           |  |  | 51 |   | 
        
           |  |  | 52 |   | 
        
           |  |  | 53 |     /**
 | 
        
           |  |  | 54 |      *
 | 
        
           |  |  | 55 |      * @var AbstractAdapter
 | 
        
           |  |  | 56 |      */
 | 
        
           |  |  | 57 |     private $cache;
 | 
        
           |  |  | 58 |   | 
        
           |  |  | 59 |     /**
 | 
        
           |  |  | 60 |      *
 | 
        
           |  |  | 61 |      * @var  LoggerInterface
 | 
        
           |  |  | 62 |      */
 | 
        
           |  |  | 63 |     private $logger;
 | 
        
           | 4637 | nelberth | 64 |   | 
        
           | 4571 | nelberth | 65 |   | 
        
           |  |  | 66 |     /**
 | 
        
           |  |  | 67 |      *
 | 
        
           |  |  | 68 |      * @var array
 | 
        
           |  |  | 69 |      */
 | 
        
           |  |  | 70 |     private $config;
 | 
        
           |  |  | 71 |   | 
        
           |  |  | 72 |     /**
 | 
        
           |  |  | 73 |      *
 | 
        
           |  |  | 74 |      * @param AdapterInterface $adapter
 | 
        
           |  |  | 75 |      * @param AbstractAdapter $cache
 | 
        
           |  |  | 76 |      * @param LoggerInterface $logger
 | 
        
           |  |  | 77 |      * @param array $config
 | 
        
           |  |  | 78 |      */
 | 
        
           | 4637 | nelberth | 79 |     public function __construct($adapter, $cache , $logger,  $config)
 | 
        
           | 4571 | nelberth | 80 |     {
 | 
        
           |  |  | 81 |         $this->adapter      = $adapter;
 | 
        
           |  |  | 82 |         $this->cache        = $cache;
 | 
        
           |  |  | 83 |         $this->logger       = $logger;
 | 
        
           |  |  | 84 |         $this->config       = $config;
 | 
        
           | 4637 | nelberth | 85 |   | 
        
           |  |  | 86 |     }
 | 
        
           |  |  | 87 |   | 
        
           |  |  | 88 |     /**
 | 
        
           |  |  | 89 |      *
 | 
        
           |  |  | 90 |      * Generación del listado de perfiles
 | 
        
           |  |  | 91 |      * {@inheritDoc}
 | 
        
           |  |  | 92 |      * @see \Laminas\Mvc\Controller\AbstractActionController::indexAction()
 | 
        
           |  |  | 93 |      */
 | 
        
           |  |  | 94 |     public function indexAction()
 | 
        
           |  |  | 95 |     {
 | 
        
           | 4571 | nelberth | 96 |   | 
        
           | 4637 | nelberth | 97 |         $this->layout()->setTemplate('layout/layout-backend');
 | 
        
           |  |  | 98 |         $viewModel = new ViewModel();
 | 
        
           |  |  | 99 |         $viewModel->setTemplate('leaders-linked/high-performance-teams-group/index.phtml');
 | 
        
           |  |  | 100 |         return $viewModel ;
 | 
        
           | 4571 | nelberth | 101 |   | 
        
           |  |  | 102 |     }
 | 
        
           |  |  | 103 |   | 
        
           | 4637 | nelberth | 104 |   | 
        
           |  |  | 105 |     /**
 | 
        
           |  |  | 106 |      * Presenta el perfil con las opciónes de edición de cada sección
 | 
        
           |  |  | 107 |      * @return \Laminas\Http\Response|\Laminas\View\Model\ViewModel|\Laminas\View\Model\JsonModel
 | 
        
           |  |  | 108 |      */
 | 
        
           |  |  | 109 |     public function viewAction()
 | 
        
           | 4571 | nelberth | 110 |     {
 | 
        
           | 4637 | nelberth | 111 |         $request = $this->getRequest();
 | 
        
           |  |  | 112 |   | 
        
           |  |  | 113 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 114 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 115 |   | 
        
           |  |  | 116 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 117 |         $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 118 |   | 
        
           |  |  | 119 |         $isJson = false;
 | 
        
           |  |  | 120 |   | 
        
           |  |  | 121 |         $headers  = $request->getHeaders();
 | 
        
           |  |  | 122 |         if($headers->has('Accept')) {
 | 
        
           |  |  | 123 |             $accept = $headers->get('Accept');
 | 
        
           | 4588 | nelberth | 124 |   | 
        
           | 4637 | nelberth | 125 |             $prioritized = $accept->getPrioritized();
 | 
        
           | 4588 | nelberth | 126 |   | 
        
           | 4637 | nelberth | 127 |             foreach($prioritized as $key => $value) {
 | 
        
           |  |  | 128 |                 $raw = trim($value->getRaw());
 | 
        
           |  |  | 129 |   | 
        
           |  |  | 130 |                 if(!$isJson) {
 | 
        
           |  |  | 131 |                     $isJson = strpos($raw, 'json');
 | 
        
           |  |  | 132 |                 }
 | 
        
           |  |  | 133 |   | 
        
           |  |  | 134 |             }
 | 
        
           |  |  | 135 |         }
 | 
        
           |  |  | 136 |   | 
        
           |  |  | 137 |         if($isJson) {
 | 
        
           | 4588 | nelberth | 138 |   | 
        
           | 4637 | nelberth | 139 |             $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 140 |   | 
        
           |  |  | 141 |             if(!$id) {
 | 
        
           |  |  | 142 |                 return new JsonModel([
 | 
        
           |  |  | 143 |                     'success' => false,
 | 
        
           |  |  | 144 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 145 |                 ]);
 | 
        
           | 4588 | nelberth | 146 |   | 
        
           | 4637 | nelberth | 147 |             }
 | 
        
           |  |  | 148 |   | 
        
           |  |  | 149 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 150 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 151 |   | 
        
           |  |  | 152 |             if(!$group) {
 | 
        
           |  |  | 153 |                 return new JsonModel([
 | 
        
           |  |  | 154 |                     'success' => false,
 | 
        
           |  |  | 155 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           |  |  | 156 |                 ]);
 | 
        
           |  |  | 157 |             }
 | 
        
           |  |  | 158 |   | 
        
           |  |  | 159 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 160 |                 return new JsonModel([
 | 
        
           |  |  | 161 |                     'success' => false,
 | 
        
           |  |  | 162 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 163 |                 ]);
 | 
        
           |  |  | 164 |             }
 | 
        
           |  |  | 165 |   | 
        
           |  |  | 166 |             $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
 | 
        
           |  |  | 167 |             $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($group->user_id, $currentUser->id);
 | 
        
           |  |  | 168 |   | 
        
           |  |  | 169 |             if($userBlocked) {
 | 
        
           |  |  | 170 |                 $flashMessenger->addErrorMessage('ERROR_UNAUTHORIZED');
 | 
        
           |  |  | 171 |                 return $this->redirect()->toRoute('dashboard');
 | 
        
           |  |  | 172 |             }
 | 
        
           |  |  | 173 |   | 
        
           |  |  | 174 |             $userMapper = UserMapper::getInstance($this->adapter);
 | 
        
           |  |  | 175 |             $ownerGroup = $userMapper->fetchOne($group->user_id);
 | 
        
           |  |  | 176 |   | 
        
           |  |  | 177 |             $values = [
 | 
        
           |  |  | 178 |                 Group::ACCESSIBILITY_AUTO_JOIN => 'LABEL_AUTO_JOIN',
 | 
        
           |  |  | 179 |                 Group::ACCESSIBILITY_REQUEST_TO_JOIN => 'LABEL_REQUEST_TO_JOIN',
 | 
        
           |  |  | 180 |                 Group::ACCESSIBILITY_ADMIN_WILL_ADD => 'LABEL_ADMIN_WILL_ADD',
 | 
        
           |  |  | 181 |             ];
 | 
        
           |  |  | 182 |   | 
        
           |  |  | 183 |             $accessibility = $values[$group->accessibility];
 | 
        
           |  |  | 184 |   | 
        
           |  |  | 185 |             $values = [
 | 
        
           |  |  | 186 |                 Group::PRIVACY_IS_PRIVATE => 'LABEL_PRIVATE',
 | 
        
           |  |  | 187 |                 Group::PRIVACY_IS_PUBLIC => 'LABEL_PUBLIC'
 | 
        
           |  |  | 188 |             ];
 | 
        
           |  |  | 189 |   | 
        
           |  |  | 190 |             $privacy = $values[$group->privacy];
 | 
        
           |  |  | 191 |   | 
        
           |  |  | 192 |             $industryMapper = IndustryMapper::getInstance($this->adapter);
 | 
        
           |  |  | 193 |             $record = $industryMapper->fetchOne($group->industry_id);
 | 
        
           |  |  | 194 |   | 
        
           |  |  | 195 |             $industry = $record->name;
 | 
        
           |  |  | 196 |   | 
        
           |  |  | 197 |             $groupTypeMapper = GroupTypeMapper::getInstance($this->adapter);
 | 
        
           |  |  | 198 |             $record = $groupTypeMapper->fetchOne($group->type_id);
 | 
        
           |  |  | 199 |   | 
        
           |  |  | 200 |             $group_type = $record->name;
 | 
        
           |  |  | 201 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 202 |   | 
        
           |  |  | 203 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $group->user_id);
 | 
        
           |  |  | 204 |             if($groupMember) {
 | 
        
           | 4588 | nelberth | 205 |   | 
        
           | 4637 | nelberth | 206 |                 if($groupMember->status != GroupMember::STATUS_ACCEPTED) {
 | 
        
           |  |  | 207 |                     $groupMember->status = $groupMember::STATUS_ACCEPTED;
 | 
        
           |  |  | 208 |                     $groupMemberMapper->update($groupMember);
 | 
        
           | 4588 | nelberth | 209 |                 }
 | 
        
           | 4637 | nelberth | 210 |   | 
        
           |  |  | 211 |             } else {
 | 
        
           |  |  | 212 |                 $groupMember = new GroupMember();
 | 
        
           |  |  | 213 |                 $groupMember->user_id = $group->user_id;
 | 
        
           |  |  | 214 |                 $groupMember->group_id = $group->id;
 | 
        
           |  |  | 215 |                 $groupMember->status = GroupMember::STATUS_ACCEPTED;
 | 
        
           |  |  | 216 |   | 
        
           |  |  | 217 |                 $groupMemberMapper->insert($groupMember);
 | 
        
           | 4588 | nelberth | 218 |             }
 | 
        
           |  |  | 219 |   | 
        
           | 4637 | nelberth | 220 |   | 
        
           |  |  | 221 |             $total_members = $groupMemberMapper->fetchTotalByGroupId($group->id);
 | 
        
           |  |  | 222 |   | 
        
           |  |  | 223 |   | 
        
           |  |  | 224 |             $member = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 225 |             $show_feeds = false;
 | 
        
           |  |  | 226 |             if($member) {
 | 
        
           |  |  | 227 |                 if($member->status == GroupMember::STATUS_ACCEPTED || $member->status == GroupMember::STATUS_AUTO_JOIN) {
 | 
        
           |  |  | 228 |                     $show_feeds = true;
 | 
        
           |  |  | 229 |                 }
 | 
        
           |  |  | 230 |             }
 | 
        
           |  |  | 231 |   | 
        
           |  |  | 232 |             $queryMapper = QueryMapper::getInstance($this->adapter);
 | 
        
           |  |  | 233 |             $select = $queryMapper->getSql()->select();
 | 
        
           |  |  | 234 |             $select->columns(['user_id' => 'id',  'user_uuid' => 'uuid', 'first_name','last_name', 'image']);
 | 
        
           |  |  | 235 |             $select->from(['u' => UserMapper::_TABLE]);
 | 
        
           |  |  | 236 |             $select->join(['tgm' => GroupMemberMapper::_TABLE], 'tgm.user_id = u.id',[]);
 | 
        
           |  |  | 237 |             $select->join(['up' => UserProfileMapper::_TABLE], 'up.user_id = u.id',['user_profile_id' => 'id', 'user_profile_uuid' => 'uuid']);
 | 
        
           |  |  | 238 |             $select->where->equalTo('u.status', User::STATUS_ACTIVE);
 | 
        
           |  |  | 239 |             $select->where->equalTo('tgm.status',GroupMember::STATUS_ACCEPTED);
 | 
        
           |  |  | 240 |   | 
        
           |  |  | 241 |             // echo $select->getSqlString($this->adapter->platform); exit;
 | 
        
           |  |  | 242 |   | 
        
           |  |  | 243 |             $members = [];
 | 
        
           |  |  | 244 |   | 
        
           |  |  | 245 |             $records = $queryMapper->fetchAll($select);
 | 
        
           |  |  | 246 |             foreach($records as $record)
 | 
        
           |  |  | 247 |             {
 | 
        
           |  |  | 248 |                 $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($record['user_id'], $currentUser->id);
 | 
        
           | 4588 | nelberth | 249 |   | 
        
           | 4637 | nelberth | 250 |                 array_push($members, [
 | 
        
           |  |  | 251 |                     'name' => trim($record['first_name'] . ' ' . $record['last_name']),
 | 
        
           |  |  | 252 |                     'image' => $this->url()->fromRoute('storage', ['code' => $record['user_uuid'], 'type' => 'user', 'filename' => $record['image'] ]),
 | 
        
           |  |  | 253 |                     'link_profile' => $userBlocked ? '' : $this->url()->fromRoute('profile/view',['id' => $record['user_profile_uuid'] ])
 | 
        
           | 4588 | nelberth | 254 |   | 
        
           | 4637 | nelberth | 255 |                 ]);
 | 
        
           |  |  | 256 |             }
 | 
        
           |  |  | 257 |   | 
        
           |  |  | 258 |   | 
        
           |  |  | 259 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 260 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 261 |   | 
        
           |  |  | 262 |             $data = [
 | 
        
           |  |  | 263 |                 'total_members'         => $total_members,
 | 
        
           |  |  | 264 |                 'accessibility'         => $accessibility ,
 | 
        
           |  |  | 265 |                 'privacy'               => $privacy,
 | 
        
           |  |  | 266 |                 'industry'              => $industry,
 | 
        
           |  |  | 267 |                 'group_id'              => $group->id,
 | 
        
           |  |  | 268 |                 'group_type'            => $group_type,
 | 
        
           |  |  | 269 |                 'group_uuid'            => $group->uuid,
 | 
        
           |  |  | 270 |                 'name'                  => trim($group->name),
 | 
        
           |  |  | 271 |                 'image'                 => $group->image,
 | 
        
           |  |  | 272 |                 'cover'                 => $group->cover,
 | 
        
           |  |  | 273 |                 'overview'              => $group->description,
 | 
        
           |  |  | 274 |                 'website'               => $group->website,
 | 
        
           |  |  | 275 |                 'members'               => $members,
 | 
        
           |  |  | 276 |                 'link_inmail'           => $this->url()->fromRoute('inmail', ['id' => $ownerGroup->uuid]),
 | 
        
           |  |  | 277 |                 'link_request' => '',
 | 
        
           |  |  | 278 |                 'link_accept' => '',
 | 
        
           |  |  | 279 |                 'link_cancel' => '',
 | 
        
           |  |  | 280 |                 'link_leave' => '',
 | 
        
           |  |  | 281 |             ];
 | 
        
           |  |  | 282 |   | 
        
           |  |  | 283 |   | 
        
           |  |  | 284 |   | 
        
           |  |  | 285 |             if($groupMember) {
 | 
        
           |  |  | 286 |                 if($groupMember->status == GroupMember::STATUS_ACCEPTED || $groupMember->status == GroupMember::STATUS_AUTO_JOIN) {
 | 
        
           | 4639 | nelberth | 287 |                     $data['link_leave'] = $this->url()->fromRoute('high-performance-teams/leave', ['id' => $group->uuid] );
 | 
        
           | 4588 | nelberth | 288 |                 }
 | 
        
           | 4637 | nelberth | 289 |                 if($groupMember->status == GroupMember::STATUS_ADDED_BY_ADMIN) {
 | 
        
           | 4639 | nelberth | 290 |                     $data['link_accept'] = $this->url()->fromRoute('high-performance-teams/accept', ['id' => $group->uuid] );
 | 
        
           |  |  | 291 |                     $data['link_cancel'] = $this->url()->fromRoute('high-performance-teams/cancel', ['id' => $group->uuid] );
 | 
        
           | 4588 | nelberth | 292 |                 }
 | 
        
           | 4637 | nelberth | 293 |                 if( $groupMember->status == GroupMember::STATUS_JOINING_REQUESTED) {
 | 
        
           | 4639 | nelberth | 294 |                     $data['link_cancel'] = $this->url()->fromRoute('high-performance-teams/cancel', ['id' => $group->uuid] );
 | 
        
           | 4588 | nelberth | 295 |                 }
 | 
        
           | 4637 | nelberth | 296 |                 if(in_array($group->accessibility, [ Group::ACCESSIBILITY_AUTO_JOIN, Group::ACCESSIBILITY_REQUEST_TO_JOIN]) && $groupMember->status == GroupMember::STATUS_CANCELLED) {
 | 
        
           |  |  | 297 |   | 
        
           |  |  | 298 |                     $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
 | 
        
           |  |  | 299 |                     $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($group->id, $currentUser->id);
 | 
        
           |  |  | 300 |   | 
        
           |  |  | 301 |                     if(!$userBlocked) {
 | 
        
           | 4639 | nelberth | 302 |                         $data['link_request'] =$this->url()->fromRoute('high-performance-teams/request', ['id' => $group->uuid] );;
 | 
        
           | 4637 | nelberth | 303 |                     }
 | 
        
           |  |  | 304 |                 }
 | 
        
           |  |  | 305 |             } else {
 | 
        
           | 4588 | nelberth | 306 |   | 
        
           | 4637 | nelberth | 307 |                 if(in_array($group->accessibility, [ Group::ACCESSIBILITY_AUTO_JOIN, Group::ACCESSIBILITY_REQUEST_TO_JOIN])) {
 | 
        
           | 4588 | nelberth | 308 |   | 
        
           | 4637 | nelberth | 309 |                     $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
 | 
        
           |  |  | 310 |                     $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($group->id, $currentUser->id);
 | 
        
           |  |  | 311 |   | 
        
           |  |  | 312 |                     if(!$userBlocked) {
 | 
        
           | 4639 | nelberth | 313 |                         $data['link_request'] = $this->url()->fromRoute('high-performance-teams/request', ['id' => $group->uuid] );;
 | 
        
           | 4637 | nelberth | 314 |                     }
 | 
        
           | 4588 | nelberth | 315 |                 }
 | 
        
           |  |  | 316 |   | 
        
           | 4637 | nelberth | 317 |             }
 | 
        
           |  |  | 318 |   | 
        
           |  |  | 319 |   | 
        
           |  |  | 320 |             return new JsonModel([
 | 
        
           |  |  | 321 |                 'success'   => true,
 | 
        
           |  |  | 322 |                 'data'      => $data
 | 
        
           |  |  | 323 |             ]);
 | 
        
           |  |  | 324 |   | 
        
           |  |  | 325 |   | 
        
           |  |  | 326 |   | 
        
           |  |  | 327 |         } else {
 | 
        
           |  |  | 328 |   | 
        
           |  |  | 329 |   | 
        
           |  |  | 330 |   | 
        
           |  |  | 331 |             if(!$id) {
 | 
        
           |  |  | 332 |                 $flashMessenger->addErrorMessage('ERROR_INVALID_PARAMETER');
 | 
        
           |  |  | 333 |                 return $this->redirect()->toRoute('dashboard');
 | 
        
           |  |  | 334 |             }
 | 
        
           |  |  | 335 |   | 
        
           |  |  | 336 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 337 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 338 |             if(!$group) {
 | 
        
           |  |  | 339 |                 $flashMessenger->addErrorMessage('ERROR_RECORD_NOT_FOUND');
 | 
        
           |  |  | 340 |                 return $this->redirect()->toRoute('dashboard');
 | 
        
           |  |  | 341 |             }
 | 
        
           |  |  | 342 |   | 
        
           |  |  | 343 |   | 
        
           |  |  | 344 |   | 
        
           |  |  | 345 |   | 
        
           |  |  | 346 |   | 
        
           |  |  | 347 |   | 
        
           |  |  | 348 |             $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
 | 
        
           |  |  | 349 |             $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($group->user_id, $currentUser->id);
 | 
        
           |  |  | 350 |   | 
        
           |  |  | 351 |             if($userBlocked) {
 | 
        
           |  |  | 352 |                 $flashMessenger->addErrorMessage('ERROR_UNAUTHORIZED');
 | 
        
           |  |  | 353 |                 return $this->redirect()->toRoute('dashboard');
 | 
        
           |  |  | 354 |             }
 | 
        
           |  |  | 355 |   | 
        
           |  |  | 356 |             $userMapper = UserMapper::getInstance($this->adapter);
 | 
        
           |  |  | 357 |             $ownerGroup = $userMapper->fetchOne($group->user_id);
 | 
        
           |  |  | 358 |   | 
        
           |  |  | 359 |             $values = [
 | 
        
           |  |  | 360 |                 Group::ACCESSIBILITY_AUTO_JOIN => 'LABEL_AUTO_JOIN',
 | 
        
           |  |  | 361 |                 Group::ACCESSIBILITY_REQUEST_TO_JOIN => 'LABEL_REQUEST_TO_JOIN',
 | 
        
           |  |  | 362 |                 Group::ACCESSIBILITY_ADMIN_WILL_ADD => 'LABEL_ADMIN_WILL_ADD',
 | 
        
           |  |  | 363 |             ];
 | 
        
           |  |  | 364 |   | 
        
           |  |  | 365 |             $accessibility = $values[$group->accessibility];
 | 
        
           |  |  | 366 |   | 
        
           |  |  | 367 |             $values = [
 | 
        
           |  |  | 368 |                 Group::PRIVACY_IS_PRIVATE => 'LABEL_PRIVATE',
 | 
        
           |  |  | 369 |                 Group::PRIVACY_IS_PUBLIC => 'LABEL_PUBLIC'
 | 
        
           |  |  | 370 |             ];
 | 
        
           |  |  | 371 |   | 
        
           |  |  | 372 |             $privacy = $values[$group->privacy];
 | 
        
           |  |  | 373 |   | 
        
           |  |  | 374 |             $industryMapper = IndustryMapper::getInstance($this->adapter);
 | 
        
           |  |  | 375 |             $record = $industryMapper->fetchOne($group->industry_id);
 | 
        
           |  |  | 376 |   | 
        
           |  |  | 377 |             $industry = $record->name;
 | 
        
           |  |  | 378 |   | 
        
           |  |  | 379 |             $groupTypeMapper = GroupTypeMapper::getInstance($this->adapter);
 | 
        
           |  |  | 380 |             $record = $groupTypeMapper->fetchOne($group->type_id);
 | 
        
           |  |  | 381 |   | 
        
           |  |  | 382 |             $group_type = $record->name;
 | 
        
           |  |  | 383 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 384 |   | 
        
           |  |  | 385 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $group->user_id);
 | 
        
           |  |  | 386 |             if($groupMember) {
 | 
        
           | 4588 | nelberth | 387 |   | 
        
           | 4637 | nelberth | 388 |                 if($groupMember->status != GroupMember::STATUS_ACCEPTED) {
 | 
        
           |  |  | 389 |                     $groupMember->status = $groupMember::STATUS_ACCEPTED;
 | 
        
           |  |  | 390 |                     $groupMemberMapper->update($groupMember);
 | 
        
           |  |  | 391 |                 }
 | 
        
           | 4588 | nelberth | 392 |   | 
        
           | 4637 | nelberth | 393 |             } else {
 | 
        
           |  |  | 394 |                 $groupMember = new GroupMember();
 | 
        
           |  |  | 395 |                 $groupMember->user_id = $group->user_id;
 | 
        
           |  |  | 396 |                 $groupMember->group_id = $group->id;
 | 
        
           |  |  | 397 |                 $groupMember->status = GroupMember::STATUS_ACCEPTED;
 | 
        
           | 4588 | nelberth | 398 |   | 
        
           | 4637 | nelberth | 399 |                 $groupMemberMapper->insert($groupMember);
 | 
        
           |  |  | 400 |             }
 | 
        
           |  |  | 401 |   | 
        
           |  |  | 402 |   | 
        
           |  |  | 403 |             $total_members = $groupMemberMapper->fetchTotalByGroupId($group->id);
 | 
        
           |  |  | 404 |   | 
        
           |  |  | 405 |   | 
        
           |  |  | 406 |             $member = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 407 |             $show_feeds = false;
 | 
        
           |  |  | 408 |             if($member) {
 | 
        
           |  |  | 409 |                 if($member->status == GroupMember::STATUS_ACCEPTED || $member->status == GroupMember::STATUS_AUTO_JOIN) {
 | 
        
           |  |  | 410 |                     $show_feeds = true;
 | 
        
           |  |  | 411 |                 }
 | 
        
           |  |  | 412 |             }
 | 
        
           |  |  | 413 |   | 
        
           |  |  | 414 |             $queryMapper = QueryMapper::getInstance($this->adapter);
 | 
        
           |  |  | 415 |             $select = $queryMapper->getSql()->select();
 | 
        
           |  |  | 416 |             $select->columns(['user_id' => 'id',  'user_uuid' => 'uuid', 'first_name','last_name', 'image']);
 | 
        
           |  |  | 417 |             $select->from(['u' => UserMapper::_TABLE]);
 | 
        
           |  |  | 418 |             $select->join(['tgm' => GroupMemberMapper::_TABLE], 'tgm.user_id = u.id',[]);
 | 
        
           |  |  | 419 |             $select->join(['up' => UserProfileMapper::_TABLE], 'up.user_id = u.id',['user_profile_id' => 'id', 'user_profile_uuid' => 'uuid']);
 | 
        
           |  |  | 420 |             $select->where->equalTo('u.status', User::STATUS_ACTIVE);
 | 
        
           |  |  | 421 |             $select->where->equalTo('tgm.status',GroupMember::STATUS_ACCEPTED);
 | 
        
           |  |  | 422 |   | 
        
           |  |  | 423 |            // echo $select->getSqlString($this->adapter->platform); exit;
 | 
        
           |  |  | 424 |   | 
        
           |  |  | 425 |             $members = [];
 | 
        
           |  |  | 426 |   | 
        
           |  |  | 427 |             $records = $queryMapper->fetchAll($select);
 | 
        
           |  |  | 428 |             foreach($records as $record)
 | 
        
           |  |  | 429 |             {
 | 
        
           |  |  | 430 |                 $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($record['user_id'], $currentUser->id);
 | 
        
           | 4588 | nelberth | 431 |   | 
        
           | 4637 | nelberth | 432 |                 array_push($members, [
 | 
        
           |  |  | 433 |                     'name' => trim($record['first_name'] . ' ' . $record['last_name']),
 | 
        
           |  |  | 434 |                     'image' => $this->url()->fromRoute('storage', ['code' => $record['user_uuid'], 'type' => 'user', 'filename' => $record['image'] ]),
 | 
        
           | 4640 | nelberth | 435 |                     'link_profile' => $userBlocked ? '' : $this->url()->fromRoute('high-performance-teams/view',['id' => $record['user_profile_uuid'] ])
 | 
        
           | 4637 | nelberth | 436 |   | 
        
           |  |  | 437 |                 ]);
 | 
        
           |  |  | 438 |             }
 | 
        
           |  |  | 439 |   | 
        
           |  |  | 440 |             $formFeed = new CreateGroupCompanyForm();
 | 
        
           |  |  | 441 |             $formShare = new ShareGroupCompanyForm();
 | 
        
           |  |  | 442 |   | 
        
           |  |  | 443 |   | 
        
           |  |  | 444 |                 $this->layout()->setTemplate('layout/layout-backend');
 | 
        
           |  |  | 445 |             $viewModel = new ViewModel();
 | 
        
           |  |  | 446 |   | 
        
           |  |  | 447 |             if($show_feeds) {
 | 
        
           |  |  | 448 |                 $viewModel->setTemplate('leaders-linked/high-performance-teams-group/view-with-feeds.phtml');
 | 
        
           |  |  | 449 |             } else {
 | 
        
           |  |  | 450 |                 $viewModel->setTemplate('leaders-linked/high-performance-teams-group/view-without-feeds.phtml');
 | 
        
           |  |  | 451 |             }
 | 
        
           |  |  | 452 |   | 
        
           |  |  | 453 |   | 
        
           |  |  | 454 |   | 
        
           |  |  | 455 |             $notificationMapper = NotificationMapper::getInstance($this->adapter);
 | 
        
           |  |  | 456 |             $notificationMapper->markAllNotificationsAsReadByUserIdAndGroupId($currentUser->id, $group->id);
 | 
        
           |  |  | 457 |   | 
        
           |  |  | 458 |   | 
        
           |  |  | 459 |   | 
        
           |  |  | 460 |   | 
        
           |  |  | 461 |   | 
        
           |  |  | 462 |   | 
        
           |  |  | 463 |             $viewModel->setVariables([
 | 
        
           |  |  | 464 |                 'user_id'               => $currentUser->id,
 | 
        
           |  |  | 465 |                 'total_members'         => $total_members,
 | 
        
           |  |  | 466 |                 'accessibility'         => $accessibility ,
 | 
        
           |  |  | 467 |                 'privacy'               => $privacy,
 | 
        
           |  |  | 468 |                 'industry'              => $industry,
 | 
        
           |  |  | 469 |                 'group_id'              => $group->id,
 | 
        
           |  |  | 470 |                 'group_type'            => $group_type,
 | 
        
           |  |  | 471 |                 'group_uuid'            => $group->uuid,
 | 
        
           |  |  | 472 |                 'name'                  => trim($group->name),
 | 
        
           |  |  | 473 |                 'image'                 => $group->image,
 | 
        
           |  |  | 474 |                 'cover'                 => $group->cover,
 | 
        
           |  |  | 475 |                 'overview'              => $group->description,
 | 
        
           |  |  | 476 |                 'website'               => $group->website,
 | 
        
           |  |  | 477 |                 'formFeed'              => $formFeed,
 | 
        
           |  |  | 478 |                 'formShare'             => $formShare,
 | 
        
           |  |  | 479 |                 'members'               => $members,
 | 
        
           | 4642 | nelberth | 480 |                 //'link_inmail'           => $this->url()->fromRoute('inmail', ['id' => $ownerGroup->uuid]),
 | 
        
           |  |  | 481 |                 'link_inmail'           =>'hola.com'
 | 
        
           | 4637 | nelberth | 482 |             ]);
 | 
        
           |  |  | 483 |             return $viewModel ;
 | 
        
           |  |  | 484 |         }
 | 
        
           |  |  | 485 |   | 
        
           |  |  | 486 |     }
 | 
        
           |  |  | 487 |   | 
        
           |  |  | 488 |     public function leaveAction()
 | 
        
           |  |  | 489 |     {
 | 
        
           |  |  | 490 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 491 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 492 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 493 |   | 
        
           |  |  | 494 |         $request = $this->getRequest();
 | 
        
           |  |  | 495 |         if($request->isPost()) {
 | 
        
           |  |  | 496 |             $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 497 |             $flash =  filter_var($this->params()->fromPost('flash', 'false'), FILTER_SANITIZE_STRING);
 | 
        
           |  |  | 498 |             $flash = $flash === 'true'? true: false;
 | 
        
           |  |  | 499 |   | 
        
           |  |  | 500 |             if(!$id) {
 | 
        
           |  |  | 501 |                 return new JsonModel([
 | 
        
           |  |  | 502 |                     'success' => false,
 | 
        
           |  |  | 503 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 504 |                 ]);
 | 
        
           | 4588 | nelberth | 505 |   | 
        
           | 4637 | nelberth | 506 |             }
 | 
        
           |  |  | 507 |   | 
        
           |  |  | 508 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 509 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 510 |   | 
        
           |  |  | 511 |             if(!$group) {
 | 
        
           |  |  | 512 |                 return new JsonModel([
 | 
        
           |  |  | 513 |                     'success' => false,
 | 
        
           |  |  | 514 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           |  |  | 515 |                 ]);
 | 
        
           |  |  | 516 |             }
 | 
        
           |  |  | 517 |   | 
        
           |  |  | 518 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 519 |                 return new JsonModel([
 | 
        
           |  |  | 520 |                     'success' => false,
 | 
        
           |  |  | 521 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 522 |                 ]);
 | 
        
           |  |  | 523 |             }
 | 
        
           |  |  | 524 |   | 
        
           |  |  | 525 |             if($group->user_id == $currentUser->id) {
 | 
        
           |  |  | 526 |                 return new JsonModel([
 | 
        
           |  |  | 527 |                     'success' => false,
 | 
        
           |  |  | 528 |                     'data' => 'ERROR_GROUP_YOU_ARE_THE_OWNER_OF_THIS_GROUP'
 | 
        
           |  |  | 529 |                 ]);
 | 
        
           |  |  | 530 |             }
 | 
        
           |  |  | 531 |   | 
        
           |  |  | 532 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 533 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 534 |             if($groupMember) {
 | 
        
           | 4588 | nelberth | 535 |   | 
        
           | 4637 | nelberth | 536 |                 if($groupMember->status == GroupMember::STATUS_ACCEPTED ||$groupMember->status == GroupMember::STATUS_AUTO_JOIN ) {
 | 
        
           | 4588 | nelberth | 537 |   | 
        
           | 4637 | nelberth | 538 |                     $groupMember->status = GroupMember::STATUS_CANCELLED;
 | 
        
           |  |  | 539 |                     if($groupMemberMapper->update($groupMember)) {
 | 
        
           |  |  | 540 |                         if($flash) {
 | 
        
           |  |  | 541 |   | 
        
           |  |  | 542 |                             $flashMessenger->addSuccessMessage('LABEL_GROUP_YOU_HAVE_LEFT_THE_GROUP');
 | 
        
           |  |  | 543 |   | 
        
           |  |  | 544 |                             return new JsonModel([
 | 
        
           |  |  | 545 |                                 'success' => true,
 | 
        
           |  |  | 546 |                                 'data' =>  [
 | 
        
           |  |  | 547 |                                     'message' => 'LABEL_GROUP_YOU_HAVE_LEFT_THE_GROUP',
 | 
        
           |  |  | 548 |                                     'reload' => true
 | 
        
           |  |  | 549 |                                  ]
 | 
        
           |  |  | 550 |                             ]);
 | 
        
           |  |  | 551 |                         } else {
 | 
        
           |  |  | 552 |                             return new JsonModel([
 | 
        
           |  |  | 553 |                                 'success' => true,
 | 
        
           |  |  | 554 |                                 'data' =>  'LABEL_GROUP_YOU_HAVE_LEFT_THE_GROUP',
 | 
        
           |  |  | 555 |                             ]);
 | 
        
           |  |  | 556 |                         }
 | 
        
           |  |  | 557 |   | 
        
           |  |  | 558 |                     } else {
 | 
        
           |  |  | 559 |                         return new JsonModel([
 | 
        
           |  |  | 560 |                             'success' => false,
 | 
        
           |  |  | 561 |                             'data' => $groupMemberMapper->getError()
 | 
        
           |  |  | 562 |                         ]);
 | 
        
           | 4588 | nelberth | 563 |                     }
 | 
        
           |  |  | 564 |   | 
        
           | 4637 | nelberth | 565 |   | 
        
           | 4588 | nelberth | 566 |                 } else {
 | 
        
           | 4637 | nelberth | 567 |                     return new JsonModel([
 | 
        
           |  |  | 568 |                         'success' => false,
 | 
        
           |  |  | 569 |                         'data' => 'ERROR_GROUP_THERE_IS_NO_PENDING_REQUEST_TO_CANCEL'
 | 
        
           |  |  | 570 |                     ]);
 | 
        
           | 4588 | nelberth | 571 |                 }
 | 
        
           |  |  | 572 |   | 
        
           | 4637 | nelberth | 573 |             } else {
 | 
        
           |  |  | 574 |                 return new JsonModel([
 | 
        
           |  |  | 575 |                     'success' => false,
 | 
        
           |  |  | 576 |                     'data' => 'ERROR_GROUP_YOU_NOT_MEMBER'
 | 
        
           |  |  | 577 |                 ]);
 | 
        
           |  |  | 578 |             }
 | 
        
           |  |  | 579 |   | 
        
           |  |  | 580 |   | 
        
           |  |  | 581 |   | 
        
           |  |  | 582 |   | 
        
           |  |  | 583 |         } else {
 | 
        
           |  |  | 584 |   | 
        
           |  |  | 585 |             return new JsonModel([
 | 
        
           |  |  | 586 |                 'success' => false,
 | 
        
           |  |  | 587 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 588 |             ]);
 | 
        
           |  |  | 589 |         }
 | 
        
           |  |  | 590 |     }
 | 
        
           |  |  | 591 |   | 
        
           |  |  | 592 |     public function cancelAction()
 | 
        
           |  |  | 593 |     {
 | 
        
           |  |  | 594 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 595 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 596 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 597 |   | 
        
           |  |  | 598 |         $request = $this->getRequest();
 | 
        
           |  |  | 599 |         if($request->isPost()) {
 | 
        
           |  |  | 600 |             $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 601 |             $flash =  filter_var($this->params()->fromPost('flash', 'false'), FILTER_SANITIZE_STRING);
 | 
        
           |  |  | 602 |             $flash = $flash === 'true'? true: false;
 | 
        
           |  |  | 603 |   | 
        
           |  |  | 604 |             if(!$id) {
 | 
        
           |  |  | 605 |                 return new JsonModel([
 | 
        
           |  |  | 606 |                     'success' => false,
 | 
        
           |  |  | 607 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 608 |                 ]);
 | 
        
           | 4588 | nelberth | 609 |   | 
        
           | 4637 | nelberth | 610 |             }
 | 
        
           |  |  | 611 |   | 
        
           |  |  | 612 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 613 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 614 |   | 
        
           |  |  | 615 |             if(!$group) {
 | 
        
           |  |  | 616 |                 return new JsonModel([
 | 
        
           |  |  | 617 |                     'success' => false,
 | 
        
           |  |  | 618 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           |  |  | 619 |                 ]);
 | 
        
           |  |  | 620 |             }
 | 
        
           |  |  | 621 |   | 
        
           |  |  | 622 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 623 |                 return new JsonModel([
 | 
        
           |  |  | 624 |                     'success' => false,
 | 
        
           |  |  | 625 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 626 |                 ]);
 | 
        
           |  |  | 627 |             }
 | 
        
           |  |  | 628 |   | 
        
           |  |  | 629 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 630 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 631 |             if($groupMember) {
 | 
        
           |  |  | 632 |   | 
        
           |  |  | 633 |                 if($groupMember->status == GroupMember::STATUS_JOINING_REQUESTED || $groupMember->status == GroupMember::STATUS_ADDED_BY_ADMIN) {
 | 
        
           |  |  | 634 |   | 
        
           |  |  | 635 |                     $groupMember->status = GroupMember::STATUS_CANCELLED;
 | 
        
           |  |  | 636 |                     if($groupMemberMapper->update($groupMember)) {
 | 
        
           |  |  | 637 |                         if($flash) {
 | 
        
           |  |  | 638 |                             $flashMessenger->addSuccessMessage('LABEL_GROUP_REQUEST_CANCELLED');
 | 
        
           |  |  | 639 |   | 
        
           |  |  | 640 |                             return new JsonModel([
 | 
        
           |  |  | 641 |                                 'success' => true,
 | 
        
           |  |  | 642 |                                 'data' =>  [
 | 
        
           |  |  | 643 |                                     'message' => 'LABEL_GROUP_REQUEST_CANCELLED',
 | 
        
           |  |  | 644 |                                     'reload' => true
 | 
        
           |  |  | 645 |                                  ]
 | 
        
           |  |  | 646 |                             ]);
 | 
        
           |  |  | 647 |   | 
        
           |  |  | 648 |                         } else {
 | 
        
           |  |  | 649 |                             return new JsonModel([
 | 
        
           |  |  | 650 |                                 'success' => true,
 | 
        
           |  |  | 651 |                                 'data' =>  'LABEL_GROUP_REQUEST_CANCELLED'
 | 
        
           |  |  | 652 |                             ]);
 | 
        
           |  |  | 653 |                         }
 | 
        
           |  |  | 654 |   | 
        
           |  |  | 655 |   | 
        
           |  |  | 656 |   | 
        
           |  |  | 657 |                     } else {
 | 
        
           |  |  | 658 |                         return new JsonModel([
 | 
        
           |  |  | 659 |                             'success' => false,
 | 
        
           |  |  | 660 |                             'data' => $groupMemberMapper->getError()
 | 
        
           |  |  | 661 |                         ]);
 | 
        
           | 4588 | nelberth | 662 |                     }
 | 
        
           | 4637 | nelberth | 663 |   | 
        
           |  |  | 664 |   | 
        
           |  |  | 665 |                 } else {
 | 
        
           |  |  | 666 |                     return new JsonModel([
 | 
        
           |  |  | 667 |                         'success' => false,
 | 
        
           |  |  | 668 |                         'data' => 'ERROR_GROUP_THERE_IS_NO_PENDING_REQUEST_TO_CANCEL'
 | 
        
           |  |  | 669 |                     ]);
 | 
        
           | 4588 | nelberth | 670 |                 }
 | 
        
           | 4637 | nelberth | 671 |   | 
        
           |  |  | 672 |             } else {
 | 
        
           |  |  | 673 |                 return new JsonModel([
 | 
        
           |  |  | 674 |                     'success' => false,
 | 
        
           |  |  | 675 |                     'data' => 'ERROR_GROUP_YOU_NOT_MEMBER'
 | 
        
           |  |  | 676 |                 ]);
 | 
        
           |  |  | 677 |             }
 | 
        
           |  |  | 678 |   | 
        
           |  |  | 679 |   | 
        
           |  |  | 680 |   | 
        
           |  |  | 681 |   | 
        
           |  |  | 682 |         } else {
 | 
        
           |  |  | 683 |   | 
        
           |  |  | 684 |             return new JsonModel([
 | 
        
           |  |  | 685 |                 'success' => false,
 | 
        
           |  |  | 686 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 687 |             ]);
 | 
        
           |  |  | 688 |         }
 | 
        
           |  |  | 689 |     }
 | 
        
           |  |  | 690 |   | 
        
           |  |  | 691 |     /*
 | 
        
           |  |  | 692 |     public function rejectAction()
 | 
        
           |  |  | 693 |     {
 | 
        
           |  |  | 694 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 695 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 696 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 697 |   | 
        
           |  |  | 698 |         $request = $this->getRequest();
 | 
        
           |  |  | 699 |         if($request->isPost()) {
 | 
        
           |  |  | 700 |             $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 701 |             $flash =  filter_var($this->params()->fromPost('flash', 'false'), FILTER_SANITIZE_STRING);
 | 
        
           |  |  | 702 |             $flash = $flash === 'true'? true: false;
 | 
        
           |  |  | 703 |   | 
        
           |  |  | 704 |             if(!$id) {
 | 
        
           |  |  | 705 |                 return new JsonModel([
 | 
        
           |  |  | 706 |                     'success' => false,
 | 
        
           |  |  | 707 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 708 |                 ]);
 | 
        
           | 4588 | nelberth | 709 |   | 
        
           | 4637 | nelberth | 710 |             }
 | 
        
           |  |  | 711 |   | 
        
           |  |  | 712 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 713 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 714 |   | 
        
           |  |  | 715 |             if(!$group) {
 | 
        
           |  |  | 716 |                 return new JsonModel([
 | 
        
           |  |  | 717 |                     'success' => false,
 | 
        
           |  |  | 718 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           |  |  | 719 |                 ]);
 | 
        
           |  |  | 720 |             }
 | 
        
           |  |  | 721 |   | 
        
           |  |  | 722 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 723 |                 return new JsonModel([
 | 
        
           |  |  | 724 |                     'success' => false,
 | 
        
           |  |  | 725 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 726 |                 ]);
 | 
        
           |  |  | 727 |             }
 | 
        
           |  |  | 728 |   | 
        
           |  |  | 729 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 730 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 731 |             if($groupMember) {
 | 
        
           | 4588 | nelberth | 732 |   | 
        
           | 4637 | nelberth | 733 |                 if($groupMember->status == GroupMember::STATUS_ADDED_BY_ADMIN) {
 | 
        
           | 4588 | nelberth | 734 |   | 
        
           | 4637 | nelberth | 735 |                     $groupMember->status = GroupMember::STATUS_CANCELLED;
 | 
        
           |  |  | 736 |                     if($groupMemberMapper->update($groupMember)) {
 | 
        
           |  |  | 737 |                         if($flash) {
 | 
        
           |  |  | 738 |                             $flashMessenger->addSuccessMessage('LABEL_GROUP_REQUEST_REJECTED');
 | 
        
           |  |  | 739 |   | 
        
           |  |  | 740 |                             return new JsonModel([
 | 
        
           |  |  | 741 |                                 'success' => true,
 | 
        
           |  |  | 742 |                                 'data' =>  [
 | 
        
           |  |  | 743 |                                     'message' => 'LABEL_GROUP_REQUEST_CANCELLED',
 | 
        
           |  |  | 744 |                                     'reload' => true
 | 
        
           |  |  | 745 |                                 ]
 | 
        
           |  |  | 746 |                             ]);
 | 
        
           |  |  | 747 |   | 
        
           |  |  | 748 |                         } else {
 | 
        
           |  |  | 749 |                             return new JsonModel([
 | 
        
           |  |  | 750 |                                 'success' => true,
 | 
        
           |  |  | 751 |                                 'data' =>  'LABEL_GROUP_REQUEST_CANCELLED'
 | 
        
           |  |  | 752 |                             ]);
 | 
        
           |  |  | 753 |                         }
 | 
        
           | 4588 | nelberth | 754 |   | 
        
           | 4637 | nelberth | 755 |   | 
        
           |  |  | 756 |   | 
        
           |  |  | 757 |                     } else {
 | 
        
           |  |  | 758 |                         return new JsonModel([
 | 
        
           |  |  | 759 |                             'success' => false,
 | 
        
           |  |  | 760 |                             'data' => $groupMemberMapper->getError()
 | 
        
           |  |  | 761 |                         ]);
 | 
        
           |  |  | 762 |                     }
 | 
        
           |  |  | 763 |   | 
        
           |  |  | 764 |   | 
        
           |  |  | 765 |                 } else {
 | 
        
           |  |  | 766 |                     return new JsonModel([
 | 
        
           |  |  | 767 |                         'success' => false,
 | 
        
           |  |  | 768 |                         'data' => 'ERROR_GROUP_THERE_IS_NO_PENDING_REQUEST_TO_CANCEL'
 | 
        
           | 4588 | nelberth | 769 |                     ]);
 | 
        
           |  |  | 770 |                 }
 | 
        
           |  |  | 771 |   | 
        
           | 4637 | nelberth | 772 |             } else {
 | 
        
           |  |  | 773 |                 return new JsonModel([
 | 
        
           |  |  | 774 |                     'success' => false,
 | 
        
           |  |  | 775 |                     'data' => 'ERROR_GROUP_YOU_NOT_MEMBER'
 | 
        
           |  |  | 776 |                 ]);
 | 
        
           |  |  | 777 |             }
 | 
        
           |  |  | 778 |   | 
        
           |  |  | 779 |   | 
        
           |  |  | 780 |   | 
        
           |  |  | 781 |   | 
        
           |  |  | 782 |         } else {
 | 
        
           |  |  | 783 |   | 
        
           |  |  | 784 |             return new JsonModel([
 | 
        
           |  |  | 785 |                 'success' => false,
 | 
        
           |  |  | 786 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 787 |             ]);
 | 
        
           |  |  | 788 |         }
 | 
        
           |  |  | 789 |     }
 | 
        
           |  |  | 790 |   | 
        
           |  |  | 791 |     public function acceptAction()
 | 
        
           |  |  | 792 |     {
 | 
        
           |  |  | 793 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 794 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 795 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 796 |   | 
        
           |  |  | 797 |         $request = $this->getRequest();
 | 
        
           |  |  | 798 |         if($request->isPost()) {
 | 
        
           |  |  | 799 |             $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 800 |             $flash =  filter_var($this->params()->fromPost('flash', 'false'), FILTER_SANITIZE_STRING);
 | 
        
           |  |  | 801 |             $flash = $flash === 'true'? true: false;
 | 
        
           |  |  | 802 |   | 
        
           |  |  | 803 |             if(!$id) {
 | 
        
           |  |  | 804 |                 return new JsonModel([
 | 
        
           |  |  | 805 |                     'success' => false,
 | 
        
           |  |  | 806 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 807 |                 ]);
 | 
        
           | 4588 | nelberth | 808 |   | 
        
           | 4637 | nelberth | 809 |             }
 | 
        
           |  |  | 810 |   | 
        
           |  |  | 811 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 812 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 813 |   | 
        
           |  |  | 814 |             if(!$group) {
 | 
        
           |  |  | 815 |                 return new JsonModel([
 | 
        
           |  |  | 816 |                     'success' => false,
 | 
        
           |  |  | 817 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           |  |  | 818 |                 ]);
 | 
        
           |  |  | 819 |             }
 | 
        
           |  |  | 820 |   | 
        
           |  |  | 821 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 822 |                 return new JsonModel([
 | 
        
           |  |  | 823 |                     'success' => false,
 | 
        
           |  |  | 824 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 825 |                 ]);
 | 
        
           |  |  | 826 |             }
 | 
        
           |  |  | 827 |   | 
        
           |  |  | 828 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 829 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 830 |             if($groupMember) {
 | 
        
           | 4588 | nelberth | 831 |   | 
        
           | 4637 | nelberth | 832 |                 if($groupMember->status == GroupMember::STATUS_ADDED_BY_ADMIN) {
 | 
        
           |  |  | 833 |   | 
        
           |  |  | 834 |                     $groupMember->status = GroupMember::STATUS_ACCEPTED;
 | 
        
           |  |  | 835 |                     if($groupMemberMapper->update($groupMember)) {
 | 
        
           |  |  | 836 |                         if($flash) {
 | 
        
           |  |  | 837 |                             $flashMessenger->addSuccessMessage('LABEL_GROUP_AUTO_JOIN_SUCCESS');
 | 
        
           |  |  | 838 |   | 
        
           |  |  | 839 |                             return new JsonModel([
 | 
        
           |  |  | 840 |                                 'success' => true,
 | 
        
           |  |  | 841 |                                 'data' => [
 | 
        
           |  |  | 842 |                                     'message' => 'LABEL_GROUP_AUTO_JOIN_SUCCESS',
 | 
        
           |  |  | 843 |                                     'reload' => true
 | 
        
           |  |  | 844 |                                 ]
 | 
        
           |  |  | 845 |                             ]);
 | 
        
           |  |  | 846 |                         } else {
 | 
        
           |  |  | 847 |                             return new JsonModel([
 | 
        
           |  |  | 848 |                                 'success' => true,
 | 
        
           |  |  | 849 |                                 'data' => 'LABEL_GROUP_AUTO_JOIN_SUCCESS'
 | 
        
           |  |  | 850 |                             ]);
 | 
        
           |  |  | 851 |                         }
 | 
        
           | 4588 | nelberth | 852 |   | 
        
           | 4637 | nelberth | 853 |                     } else {
 | 
        
           |  |  | 854 |                         return new JsonModel([
 | 
        
           |  |  | 855 |                             'success' => false,
 | 
        
           |  |  | 856 |                             'data' => $groupMemberMapper->getError()
 | 
        
           |  |  | 857 |                         ]);
 | 
        
           | 4588 | nelberth | 858 |                     }
 | 
        
           |  |  | 859 |                 } else {
 | 
        
           | 4637 | nelberth | 860 |                     return new JsonModel([
 | 
        
           |  |  | 861 |                         'success' => false,
 | 
        
           |  |  | 862 |                         'data' => 'ERROR_GROUP_YOU_HAVE_NOT_INVITED_THIS_GROUP'
 | 
        
           |  |  | 863 |                     ]);
 | 
        
           |  |  | 864 |                 }
 | 
        
           | 4588 | nelberth | 865 |   | 
        
           | 4637 | nelberth | 866 |             } else {
 | 
        
           |  |  | 867 |                 return new JsonModel([
 | 
        
           |  |  | 868 |                     'success' => false,
 | 
        
           |  |  | 869 |                     'data' => 'ERROR_GROUP_YOU_NOT_MEMBER'
 | 
        
           |  |  | 870 |                 ]);
 | 
        
           |  |  | 871 |             }
 | 
        
           |  |  | 872 |         } else {
 | 
        
           |  |  | 873 |   | 
        
           |  |  | 874 |             return new JsonModel([
 | 
        
           |  |  | 875 |                 'success' => false,
 | 
        
           |  |  | 876 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 877 |             ]);
 | 
        
           |  |  | 878 |         }
 | 
        
           |  |  | 879 |     }
 | 
        
           |  |  | 880 |     */
 | 
        
           |  |  | 881 |   | 
        
           |  |  | 882 |     public function requestAction()
 | 
        
           |  |  | 883 |     {
 | 
        
           |  |  | 884 |         $flashMessenger = $this->plugin('FlashMessenger');
 | 
        
           |  |  | 885 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 886 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 887 |   | 
        
           |  |  | 888 |         $request = $this->getRequest();
 | 
        
           |  |  | 889 |         if($request->isPost()) {
 | 
        
           |  |  | 890 |             $id = $this->params()->fromRoute('id');
 | 
        
           |  |  | 891 |             $flash =  filter_var($this->params()->fromPost('flash', 'false'), FILTER_SANITIZE_STRING);
 | 
        
           |  |  | 892 |             $flash = $flash === 'true'? true: false;
 | 
        
           |  |  | 893 |   | 
        
           |  |  | 894 |             if(!$id) {
 | 
        
           |  |  | 895 |                 return new JsonModel([
 | 
        
           |  |  | 896 |                     'success' => false,
 | 
        
           |  |  | 897 |                     'data' => 'ERROR_INVALID_PARAMETER'
 | 
        
           |  |  | 898 |                 ]);
 | 
        
           | 4588 | nelberth | 899 |   | 
        
           | 4637 | nelberth | 900 |             }
 | 
        
           |  |  | 901 |   | 
        
           |  |  | 902 |             $groupMapper = GroupMapper::getInstance($this->adapter);
 | 
        
           |  |  | 903 |             $group = $groupMapper->fetchOneByUuid($id);
 | 
        
           |  |  | 904 |   | 
        
           |  |  | 905 |             if(!$group) {
 | 
        
           | 4588 | nelberth | 906 |                 return new JsonModel([
 | 
        
           | 4637 | nelberth | 907 |                     'success' => false,
 | 
        
           |  |  | 908 |                     'data' => 'ERROR_GROUP_NOT_FOUND'
 | 
        
           | 4588 | nelberth | 909 |                 ]);
 | 
        
           | 4637 | nelberth | 910 |             }
 | 
        
           |  |  | 911 |   | 
        
           |  |  | 912 |             if($group->status != Group::STATUS_ACTIVE) {
 | 
        
           |  |  | 913 |                 return new JsonModel([
 | 
        
           |  |  | 914 |                     'success' => false,
 | 
        
           |  |  | 915 |                     'data' => 'ERROR_GROUP_IS_NOT_ACTIVE'
 | 
        
           |  |  | 916 |                 ]);
 | 
        
           |  |  | 917 |             }
 | 
        
           |  |  | 918 |   | 
        
           |  |  | 919 |             $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
 | 
        
           |  |  | 920 |             $groupMember = $groupMemberMapper->fetchOneByGroupIdAndUserId($group->id, $currentUser->id);
 | 
        
           |  |  | 921 |             if($groupMember) {
 | 
        
           |  |  | 922 |                 if($groupMember->status == GroupMember::STATUS_ACCEPTED || $groupMember->status == GroupMember::STATUS_AUTO_JOIN) {
 | 
        
           |  |  | 923 |                     return new JsonModel([
 | 
        
           |  |  | 924 |                         'success' => false,
 | 
        
           |  |  | 925 |                         'data' => 'ERROR_GROUP_YOU_ARE_MEMBER'
 | 
        
           |  |  | 926 |                     ]);
 | 
        
           |  |  | 927 |                 }
 | 
        
           |  |  | 928 |                 if($groupMember->status == GroupMember::STATUS_REJECTED) {
 | 
        
           |  |  | 929 |                     return new JsonModel([
 | 
        
           |  |  | 930 |                         'success' => false,
 | 
        
           |  |  | 931 |                         'data' => 'ERROR_GROUP_YOUR_REQUEST_WAS_PREVIOUSLY_REJECTED'
 | 
        
           |  |  | 932 |                     ]);
 | 
        
           |  |  | 933 |                 }
 | 
        
           |  |  | 934 |   | 
        
           |  |  | 935 |             }
 | 
        
           |  |  | 936 |   | 
        
           |  |  | 937 |             if($group->privacy == Group::PRIVACY_IS_PRIVATE || $group->accessibility == Group::ACCESSIBILITY_ADMIN_WILL_ADD) {
 | 
        
           |  |  | 938 |                 return new JsonModel([
 | 
        
           |  |  | 939 |                     'success' => false,
 | 
        
           |  |  | 940 |                     'data' => 'ERROR_GROUP_ACCESS_ONLY_BY_ADMIN_INVITATION'
 | 
        
           |  |  | 941 |                 ]);
 | 
        
           |  |  | 942 |             }
 | 
        
           |  |  | 943 |   | 
        
           |  |  | 944 |   | 
        
           |  |  | 945 |             if($groupMember) {
 | 
        
           |  |  | 946 |                 if($group->accessibility == Group::ACCESSIBILITY_AUTO_JOIN) {
 | 
        
           |  |  | 947 |                     $groupMember->status    = GroupMember::STATUS_AUTO_JOIN;
 | 
        
           |  |  | 948 |                     $groupMember->joined_on = new Expression('NOW()');
 | 
        
           |  |  | 949 |                 }
 | 
        
           | 4588 | nelberth | 950 |   | 
        
           | 4637 | nelberth | 951 |                 if($group->accessibility == Group::ACCESSIBILITY_REQUEST_TO_JOIN) {
 | 
        
           |  |  | 952 |                     $groupMember->status                = GroupMember::STATUS_JOINING_REQUESTED;
 | 
        
           |  |  | 953 |                     $groupMember->joining_request_on    = new Expression('NOW()');
 | 
        
           |  |  | 954 |                 }
 | 
        
           | 4588 | nelberth | 955 |   | 
        
           | 4637 | nelberth | 956 |                 $result = $groupMemberMapper->update($groupMember);
 | 
        
           | 4588 | nelberth | 957 |   | 
        
           | 4637 | nelberth | 958 |   | 
        
           | 4588 | nelberth | 959 |             } else {
 | 
        
           | 4637 | nelberth | 960 |                 $groupMember = new GroupMember();
 | 
        
           |  |  | 961 |                 $groupMember->group_id  = $group->id;
 | 
        
           |  |  | 962 |                 $groupMember->user_id   = $currentUser->id;
 | 
        
           |  |  | 963 |                 if($group->accessibility == Group::ACCESSIBILITY_AUTO_JOIN) {
 | 
        
           |  |  | 964 |                     $groupMember->status    = GroupMember::STATUS_AUTO_JOIN;
 | 
        
           | 4588 | nelberth | 965 |                 }
 | 
        
           |  |  | 966 |   | 
        
           | 4637 | nelberth | 967 |                 if($group->accessibility == Group::ACCESSIBILITY_REQUEST_TO_JOIN) {
 | 
        
           |  |  | 968 |                     $groupMember->status    = GroupMember::STATUS_JOINING_REQUESTED;
 | 
        
           | 4588 | nelberth | 969 |                 }
 | 
        
           |  |  | 970 |   | 
        
           | 4637 | nelberth | 971 |                 $result = $groupMemberMapper->insert($groupMember);
 | 
        
           |  |  | 972 |             }
 | 
        
           |  |  | 973 |   | 
        
           |  |  | 974 |             if($result) {
 | 
        
           | 4588 | nelberth | 975 |   | 
        
           | 4637 | nelberth | 976 |                 $userMapper = UserMapper::getInstance($this->adapter);
 | 
        
           |  |  | 977 |                 $userOwnerGroup = $userMapper->fetchOne($group->user_id);
 | 
        
           | 4588 | nelberth | 978 |   | 
        
           | 4637 | nelberth | 979 |                 $notification = new Notification();
 | 
        
           |  |  | 980 |                 $notification->type     = Notification::TYPE_RECEIVE_REQUEST_JOIN_MY_GROUP;
 | 
        
           |  |  | 981 |                 $notification->read     = Notification::NO;
 | 
        
           |  |  | 982 |                 $notification->user_id  = $userOwnerGroup->id;
 | 
        
           |  |  | 983 |                 $notification->group_id = $group->id;
 | 
        
           |  |  | 984 |                 $notification->message  = 'LABEL_NOTIFICATION_RECEIVE_REQUEST_JOIN_MY_GROUP';
 | 
        
           | 4639 | nelberth | 985 |                 $notification->url      = $this->url()->fromRoute('high-performance-teams/view', ['id' => $group->uuid]);
 | 
        
           | 4588 | nelberth | 986 |   | 
        
           | 4637 | nelberth | 987 |                 $notificationMapper = NotificationMapper::getInstance($this->adapter);
 | 
        
           |  |  | 988 |                 $notificationMapper->insert($notification);
 | 
        
           | 4588 | nelberth | 989 |   | 
        
           |  |  | 990 |   | 
        
           |  |  | 991 |   | 
        
           | 4637 | nelberth | 992 |                 $userNotificationSettingMapper = UserNotificationSettingMapper::getInstance($this->adapter);
 | 
        
           |  |  | 993 |                 $userNotificationSetting = $userNotificationSettingMapper->fetchOne($group->user_id);
 | 
        
           |  |  | 994 |   | 
        
           |  |  | 995 |   | 
        
           |  |  | 996 |                 if($userNotificationSetting->receive_request_join_my_group) {
 | 
        
           |  |  | 997 |                     $emailTemplateMapper = EmailTemplateMapper::getInstance($this->adapter);
 | 
        
           |  |  | 998 |                     $emailTemplate = $emailTemplateMapper->fetchOne(EmailTemplate::ID_RECEIVE_REQUEST_JOIN_MY_GROUP);
 | 
        
           |  |  | 999 |                     if($emailTemplate) {
 | 
        
           |  |  | 1000 |                         $arrayCont = [
 | 
        
           |  |  | 1001 |                             'firstname'             => $currentUser->first_name,
 | 
        
           |  |  | 1002 |                             'lastname'              => $currentUser->last_name,
 | 
        
           |  |  | 1003 |                             'other_user_firstname'  => $userOwnerGroup->first_name,
 | 
        
           |  |  | 1004 |                             'other_user_lastname'   => $userOwnerGroup->last_name,
 | 
        
           |  |  | 1005 |                             'company_name'          => '',
 | 
        
           |  |  | 1006 |                             'group_name'            => $group->name,
 | 
        
           |  |  | 1007 |                             'content'               => '',
 | 
        
           |  |  | 1008 |                             'code'                  => '',
 | 
        
           | 4639 | nelberth | 1009 |                             'link'                  => $this->url()->fromRoute('high-performance-teams/view', ['id' => $group->uuid], ['force_canonical' => true])
 | 
        
           | 4637 | nelberth | 1010 |                         ];
 | 
        
           |  |  | 1011 |   | 
        
           |  |  | 1012 |                         $email = new QueueEmail($this->adapter);
 | 
        
           |  |  | 1013 |                         $email->processEmailTemplate($emailTemplate, $arrayCont, $userOwnerGroup->email, trim($userOwnerGroup->first_name . ' ' . $userOwnerGroup->last_name));
 | 
        
           |  |  | 1014 |                     }
 | 
        
           | 4588 | nelberth | 1015 |                 }
 | 
        
           |  |  | 1016 |   | 
        
           | 4637 | nelberth | 1017 |                 if($group->accessibility == Group::ACCESSIBILITY_AUTO_JOIN) {
 | 
        
           |  |  | 1018 |                     if($flash) {
 | 
        
           |  |  | 1019 |                         $flashMessenger->addSuccessMessage('LABEL_GROUP_AUTO_JOIN_SUCCESS');
 | 
        
           |  |  | 1020 |   | 
        
           |  |  | 1021 |                         return new JsonModel([
 | 
        
           |  |  | 1022 |                             'success' => true,
 | 
        
           |  |  | 1023 |                             'data' => [
 | 
        
           |  |  | 1024 |                                 'message' => 'LABEL_GROUP_AUTO_JOIN_SUCCESS',
 | 
        
           |  |  | 1025 |                                 'reload' => true
 | 
        
           |  |  | 1026 |                             ]
 | 
        
           |  |  | 1027 |                         ]);
 | 
        
           |  |  | 1028 |                     } else {
 | 
        
           |  |  | 1029 |                         return new JsonModel([
 | 
        
           |  |  | 1030 |                             'success' => true,
 | 
        
           |  |  | 1031 |                             'data' => 'LABEL_GROUP_AUTO_JOIN_SUCCESS'
 | 
        
           |  |  | 1032 |                         ]);
 | 
        
           |  |  | 1033 |                     }
 | 
        
           |  |  | 1034 |                 }
 | 
        
           |  |  | 1035 |                 if($group->accessibility == Group::ACCESSIBILITY_REQUEST_TO_JOIN) {
 | 
        
           |  |  | 1036 |                     if($flash) {
 | 
        
           |  |  | 1037 |                         $flashMessenger->addSuccessMessage('LABEL_GROUP_REQUEST_SUCCESS');
 | 
        
           |  |  | 1038 |   | 
        
           |  |  | 1039 |                         return new JsonModel([
 | 
        
           |  |  | 1040 |                             'success' => true,
 | 
        
           |  |  | 1041 |                             'data' => [
 | 
        
           |  |  | 1042 |                                 'message' => 'LABEL_GROUP_REQUEST_SUCCESS',
 | 
        
           |  |  | 1043 |                                 'reload' => true
 | 
        
           |  |  | 1044 |                             ]
 | 
        
           |  |  | 1045 |                         ]);
 | 
        
           |  |  | 1046 |                     } else {
 | 
        
           |  |  | 1047 |                         return new JsonModel([
 | 
        
           |  |  | 1048 |                             'success' => true,
 | 
        
           |  |  | 1049 |                             'data' => 'LABEL_GROUP_REQUEST_SUCCESS'
 | 
        
           |  |  | 1050 |                         ]);
 | 
        
           |  |  | 1051 |                     }
 | 
        
           |  |  | 1052 |                 }
 | 
        
           |  |  | 1053 |   | 
        
           |  |  | 1054 |   | 
        
           |  |  | 1055 |   | 
        
           |  |  | 1056 |             } else {
 | 
        
           |  |  | 1057 |                 return new JsonModel([
 | 
        
           |  |  | 1058 |                     'success' => false,
 | 
        
           |  |  | 1059 |                     'data' => $groupMapper->getError()
 | 
        
           |  |  | 1060 |                 ]);
 | 
        
           |  |  | 1061 |             }
 | 
        
           |  |  | 1062 |   | 
        
           |  |  | 1063 |   | 
        
           |  |  | 1064 |         } else {
 | 
        
           | 4571 | nelberth | 1065 |   | 
        
           | 4637 | nelberth | 1066 |             return new JsonModel([
 | 
        
           |  |  | 1067 |                 'success' => false,
 | 
        
           |  |  | 1068 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 1069 |             ]);
 | 
        
           |  |  | 1070 |         }
 | 
        
           |  |  | 1071 |   | 
        
           |  |  | 1072 |     }
 | 
        
           |  |  | 1073 |   | 
        
           |  |  | 1074 |     /**
 | 
        
           |  |  | 1075 |      *
 | 
        
           |  |  | 1076 |      * Generación del listado de perfiles
 | 
        
           |  |  | 1077 |      * {@inheritDoc}
 | 
        
           |  |  | 1078 |      * @see \Laminas\Mvc\Controller\AbstractActionController::indexAction()
 | 
        
           |  |  | 1079 |      */
 | 
        
           |  |  | 1080 |     public function joinedGroupsAction()
 | 
        
           |  |  | 1081 |     {
 | 
        
           |  |  | 1082 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 1083 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 1084 |   | 
        
           |  |  | 1085 |         $request = $this->getRequest();
 | 
        
           |  |  | 1086 |         if($request->isGet()) {
 | 
        
           |  |  | 1087 |   | 
        
           |  |  | 1088 |   | 
        
           |  |  | 1089 |             $headers  = $request->getHeaders();
 | 
        
           |  |  | 1090 |             $isJson = false;
 | 
        
           |  |  | 1091 |             if($headers->has('Accept')) {
 | 
        
           |  |  | 1092 |                 $accept = $headers->get('Accept');
 | 
        
           | 4588 | nelberth | 1093 |   | 
        
           | 4637 | nelberth | 1094 |                 $prioritized = $accept->getPrioritized();
 | 
        
           | 4588 | nelberth | 1095 |   | 
        
           | 4637 | nelberth | 1096 |                 foreach($prioritized as $key => $value) {
 | 
        
           |  |  | 1097 |                     $raw = trim($value->getRaw());
 | 
        
           |  |  | 1098 |   | 
        
           |  |  | 1099 |                     if(!$isJson) {
 | 
        
           |  |  | 1100 |                         $isJson = strpos($raw, 'json');
 | 
        
           |  |  | 1101 |                     }
 | 
        
           |  |  | 1102 |   | 
        
           |  |  | 1103 |                 }
 | 
        
           |  |  | 1104 |             }
 | 
        
           |  |  | 1105 |   | 
        
           |  |  | 1106 |             if($isJson) {
 | 
        
           | 4588 | nelberth | 1107 |                 $values = [
 | 
        
           |  |  | 1108 |                     Group::PRIVACY_IS_PRIVATE => 'LABEL_PRIVATE',
 | 
        
           |  |  | 1109 |                     Group::PRIVACY_IS_PUBLIC => 'LABEL_PUBLIC'
 | 
        
           |  |  | 1110 |                 ];
 | 
        
           |  |  | 1111 |   | 
        
           | 4637 | nelberth | 1112 |                 $search = trim(filter_var($this->params()->fromQuery('search', ''), FILTER_SANITIZE_STRING));
 | 
        
           |  |  | 1113 |   | 
        
           | 4588 | nelberth | 1114 |   | 
        
           | 4637 | nelberth | 1115 |                 $queryMapper = QueryMapper::getInstance($this->adapter);
 | 
        
           | 4588 | nelberth | 1116 |   | 
        
           | 4637 | nelberth | 1117 |                 $select = $queryMapper->getSql()->select();
 | 
        
           |  |  | 1118 |                 $select->columns(['id', 'uuid', 'name', 'privacy',  'image']);
 | 
        
           |  |  | 1119 |                 $select->from(['g' => GroupMapper::_TABLE]);
 | 
        
           |  |  | 1120 |                 $select->join(['gm' => GroupMemberMapper::_TABLE], 'gm.group_id = g.id', []);
 | 
        
           |  |  | 1121 |                 $select->where->equalTo('g.status', Group::STATUS_ACTIVE);
 | 
        
           |  |  | 1122 |                 $select->where->in('gm.status', [ GroupMember::STATUS_ACCEPTED, GroupMember::STATUS_AUTO_JOIN]);
 | 
        
           |  |  | 1123 |                 $select->where->equalTo('gm.user_id', $currentUser->id);
 | 
        
           |  |  | 1124 |                 $select->where->notEqualTo('g.user_id', $currentUser->id);
 | 
        
           |  |  | 1125 |   | 
        
           |  |  | 1126 |                 if($search) {
 | 
        
           |  |  | 1127 |                     $select->where->like('name', '%' . $search . '%');
 | 
        
           |  |  | 1128 |                 }
 | 
        
           |  |  | 1129 |                 $select->order('name ASC');
 | 
        
           | 4588 | nelberth | 1130 |   | 
        
           | 4637 | nelberth | 1131 |                 $records = $queryMapper->fetchAll($select);
 | 
        
           | 4588 | nelberth | 1132 |   | 
        
           | 4637 | nelberth | 1133 |                 $items = [];
 | 
        
           |  |  | 1134 |                 foreach($records as $record)
 | 
        
           |  |  | 1135 |                 {
 | 
        
           | 4588 | nelberth | 1136 |   | 
        
           | 4637 | nelberth | 1137 |                     $item = [
 | 
        
           |  |  | 1138 |                         'name' => $record['name'],
 | 
        
           |  |  | 1139 |                         'privacy' => $values[$record['privacy']],
 | 
        
           |  |  | 1140 |                         'image' => $this->url()->fromRoute('storage', ['type' => 'group', 'code' => $record['uuid'], 'filename' => $record['image'] ]),
 | 
        
           | 4639 | nelberth | 1141 |                         'link_view' => $this->url()->fromRoute('high-performance-teams/view', ['id' => $record['uuid'] ]),
 | 
        
           |  |  | 1142 |                         'link_leave' => $this->url()->fromRoute('high-performance-teams/leave', ['id' => $record['uuid'] ]),
 | 
        
           | 4637 | nelberth | 1143 |                     ];
 | 
        
           | 4588 | nelberth | 1144 |   | 
        
           | 4637 | nelberth | 1145 |                     array_push($items, $item);
 | 
        
           | 4588 | nelberth | 1146 |                 }
 | 
        
           |  |  | 1147 |   | 
        
           |  |  | 1148 |   | 
        
           |  |  | 1149 |   | 
        
           | 4637 | nelberth | 1150 |                 $response = [
 | 
        
           |  |  | 1151 |                     'success' => true,
 | 
        
           |  |  | 1152 |                     'data' => $items
 | 
        
           |  |  | 1153 |                 ];
 | 
        
           | 4588 | nelberth | 1154 |   | 
        
           | 4637 | nelberth | 1155 |                 return new JsonModel($response);
 | 
        
           |  |  | 1156 |   | 
        
           |  |  | 1157 |   | 
        
           |  |  | 1158 |             } else {
 | 
        
           |  |  | 1159 |                     $this->layout()->setTemplate('layout/layout-backend');
 | 
        
           |  |  | 1160 |                 $viewModel = new ViewModel();
 | 
        
           |  |  | 1161 |                 $viewModel->setTemplate('leaders-linked/high-performance-teams-group/joined-groups.phtml');
 | 
        
           |  |  | 1162 |                 return $viewModel ;
 | 
        
           |  |  | 1163 |             }
 | 
        
           |  |  | 1164 |   | 
        
           |  |  | 1165 |         } else {
 | 
        
           |  |  | 1166 |             return new JsonModel([
 | 
        
           |  |  | 1167 |                 'success' => false,
 | 
        
           |  |  | 1168 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 1169 |             ]);
 | 
        
           |  |  | 1170 |         }
 | 
        
           |  |  | 1171 |     }
 | 
        
           |  |  | 1172 |   | 
        
           |  |  | 1173 |     public function invitationsReceivedAction()
 | 
        
           |  |  | 1174 |     {
 | 
        
           |  |  | 1175 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 1176 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 1177 |   | 
        
           |  |  | 1178 |         $request = $this->getRequest();
 | 
        
           |  |  | 1179 |         if($request->isGet()) {
 | 
        
           |  |  | 1180 |   | 
        
           |  |  | 1181 |   | 
        
           |  |  | 1182 |             $headers  = $request->getHeaders();
 | 
        
           |  |  | 1183 |             $isJson = false;
 | 
        
           |  |  | 1184 |             if($headers->has('Accept')) {
 | 
        
           |  |  | 1185 |                 $accept = $headers->get('Accept');
 | 
        
           |  |  | 1186 |   | 
        
           |  |  | 1187 |                 $prioritized = $accept->getPrioritized();
 | 
        
           |  |  | 1188 |   | 
        
           |  |  | 1189 |                 foreach($prioritized as $key => $value) {
 | 
        
           |  |  | 1190 |                     $raw = trim($value->getRaw());
 | 
        
           |  |  | 1191 |   | 
        
           |  |  | 1192 |                     if(!$isJson) {
 | 
        
           |  |  | 1193 |                         $isJson = strpos($raw, 'json');
 | 
        
           | 4588 | nelberth | 1194 |                     }
 | 
        
           | 4637 | nelberth | 1195 |   | 
        
           | 4588 | nelberth | 1196 |                 }
 | 
        
           | 4637 | nelberth | 1197 |             }
 | 
        
           |  |  | 1198 |   | 
        
           |  |  | 1199 |             if($isJson) {
 | 
        
           |  |  | 1200 |                 $search = trim(filter_var($this->params()->fromQuery('search', ''), FILTER_SANITIZE_STRING));
 | 
        
           | 4588 | nelberth | 1201 |   | 
        
           |  |  | 1202 |                 $queryMapper = QueryMapper::getInstance($this->adapter);
 | 
        
           | 4637 | nelberth | 1203 |   | 
        
           | 4588 | nelberth | 1204 |                 $select = $queryMapper->getSql()->select();
 | 
        
           | 4637 | nelberth | 1205 |                 $select->columns([ 'uuid', 'name', 'image']);
 | 
        
           |  |  | 1206 |                 $select->from(['g' => GroupMapper::_TABLE]);
 | 
        
           |  |  | 1207 |                 $select->join(['gm' => GroupMemberMapper::_TABLE], 'gm.group_id  = g.id', []);
 | 
        
           |  |  | 1208 |                 $select->where->equalTo('gm.user_id', $currentUser->id);
 | 
        
           |  |  | 1209 |                 $select->where->equalTo('gm.status', GroupMember::STATUS_ADDED_BY_ADMIN);
 | 
        
           |  |  | 1210 |                 $select->where->equalTo('g.status', Group::STATUS_ACTIVE);
 | 
        
           | 4588 | nelberth | 1211 |   | 
        
           | 4637 | nelberth | 1212 |                 if($search) {
 | 
        
           |  |  | 1213 |                     $select->where->like('g.name', '%' . $search . '%');
 | 
        
           |  |  | 1214 |                 }
 | 
        
           |  |  | 1215 |                 $select->order('name ASC');
 | 
        
           | 4588 | nelberth | 1216 |   | 
        
           | 4637 | nelberth | 1217 |                 //echo $select2->getSqlString($this->adapter->platform); exit;
 | 
        
           | 4588 | nelberth | 1218 |   | 
        
           |  |  | 1219 |                 $records = $queryMapper->fetchAll($select);
 | 
        
           | 4637 | nelberth | 1220 |   | 
        
           |  |  | 1221 |                 $items = [];
 | 
        
           |  |  | 1222 |                 foreach($records as $record)
 | 
        
           | 4588 | nelberth | 1223 |                 {
 | 
        
           | 4637 | nelberth | 1224 |                     $item = [
 | 
        
           |  |  | 1225 |                         'name' => $record['name'],
 | 
        
           |  |  | 1226 |                         'image' => $this->url()->fromRoute('storage', ['type' => 'group', 'code' => $record['uuid'], 'filename' => $record['image']]),
 | 
        
           | 4639 | nelberth | 1227 |                         'link_view' => $this->url()->fromRoute('high-performance-teams/view', ['id' => $record['uuid'] ]),
 | 
        
           |  |  | 1228 |                         'link_accept' => $this->url()->fromRoute('high-performance-teams/accept', ['id' => $record['uuid'] ]),
 | 
        
           |  |  | 1229 |                         'link_reject' => $this->url()->fromRoute('high-performance-teams/reject', ['id' => $record['uuid'] ]),
 | 
        
           | 4637 | nelberth | 1230 |                     ];
 | 
        
           | 4588 | nelberth | 1231 |   | 
        
           | 4637 | nelberth | 1232 |   | 
        
           |  |  | 1233 |                     array_push($items, $item);
 | 
        
           | 4588 | nelberth | 1234 |                 }
 | 
        
           |  |  | 1235 |   | 
        
           | 4637 | nelberth | 1236 |                 $response = [
 | 
        
           |  |  | 1237 |                     'success' => true,
 | 
        
           |  |  | 1238 |                     'data' => $items
 | 
        
           |  |  | 1239 |                 ];
 | 
        
           | 4588 | nelberth | 1240 |   | 
        
           | 4637 | nelberth | 1241 |                 return new JsonModel($response);
 | 
        
           |  |  | 1242 |   | 
        
           |  |  | 1243 |   | 
        
           |  |  | 1244 |             } else {
 | 
        
           |  |  | 1245 |                     $this->layout()->setTemplate('layout/layout-backend');
 | 
        
           | 4588 | nelberth | 1246 |                 $viewModel = new ViewModel();
 | 
        
           | 4637 | nelberth | 1247 |                 $viewModel->setTemplate('leaders-linked/high-performance-teams-group/invitations-received.phtml');
 | 
        
           |  |  | 1248 |                 return $viewModel ;
 | 
        
           |  |  | 1249 |             }
 | 
        
           |  |  | 1250 |   | 
        
           |  |  | 1251 |         } else {
 | 
        
           |  |  | 1252 |             return new JsonModel([
 | 
        
           |  |  | 1253 |                 'success' => false,
 | 
        
           |  |  | 1254 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           |  |  | 1255 |             ]);
 | 
        
           |  |  | 1256 |         }
 | 
        
           |  |  | 1257 |     }
 | 
        
           |  |  | 1258 |   | 
        
           |  |  | 1259 |     public function requestsSentAction()
 | 
        
           |  |  | 1260 |     {
 | 
        
           |  |  | 1261 |         $currentUserPlugin = $this->plugin('currentUserPlugin');
 | 
        
           |  |  | 1262 |         $currentUser = $currentUserPlugin->getUser();
 | 
        
           |  |  | 1263 |   | 
        
           |  |  | 1264 |         $request = $this->getRequest();
 | 
        
           |  |  | 1265 |         if($request->isGet()) {
 | 
        
           |  |  | 1266 |   | 
        
           |  |  | 1267 |   | 
        
           |  |  | 1268 |             $headers  = $request->getHeaders();
 | 
        
           |  |  | 1269 |             $isJson = false;
 | 
        
           |  |  | 1270 |             if($headers->has('Accept')) {
 | 
        
           |  |  | 1271 |                 $accept = $headers->get('Accept');
 | 
        
           | 4588 | nelberth | 1272 |   | 
        
           | 4637 | nelberth | 1273 |                 $prioritized = $accept->getPrioritized();
 | 
        
           |  |  | 1274 |   | 
        
           |  |  | 1275 |                 foreach($prioritized as $key => $value) {
 | 
        
           |  |  | 1276 |                     $raw = trim($value->getRaw());
 | 
        
           |  |  | 1277 |   | 
        
           |  |  | 1278 |                     if(!$isJson) {
 | 
        
           |  |  | 1279 |                         $isJson = strpos($raw, 'json');
 | 
        
           |  |  | 1280 |                     }
 | 
        
           |  |  | 1281 |   | 
        
           | 4588 | nelberth | 1282 |                 }
 | 
        
           | 4637 | nelberth | 1283 |             }
 | 
        
           |  |  | 1284 |   | 
        
           |  |  | 1285 |             if($isJson) {
 | 
        
           |  |  | 1286 |                 $search = trim(filter_var($this->params()->fromQuery('search', ''), FILTER_SANITIZE_STRING));
 | 
        
           | 4588 | nelberth | 1287 |   | 
        
           |  |  | 1288 |   | 
        
           |  |  | 1289 |   | 
        
           | 4637 | nelberth | 1290 |                 $queryMapper = QueryMapper::getInstance($this->adapter);
 | 
        
           | 4588 | nelberth | 1291 |   | 
        
           | 4637 | nelberth | 1292 |                 $select = $queryMapper->getSql()->select();
 | 
        
           |  |  | 1293 |                 $select->columns([ 'uuid', 'name', 'image']);
 | 
        
           |  |  | 1294 |                 $select->from(['g' => GroupMapper::_TABLE]);
 | 
        
           |  |  | 1295 |                 $select->join(['gm' => GroupMemberMapper::_TABLE], 'gm.group_id  = g.id', []);
 | 
        
           |  |  | 1296 |                 $select->where->equalTo('gm.user_id', $currentUser->id);
 | 
        
           |  |  | 1297 |                 $select->where->equalTo('gm.status', GroupMember::STATUS_JOINING_REQUESTED);
 | 
        
           |  |  | 1298 |                 $select->where->equalTo('g.status', Group::STATUS_ACTIVE);
 | 
        
           | 4588 | nelberth | 1299 |   | 
        
           |  |  | 1300 |   | 
        
           | 4637 | nelberth | 1301 |                 if($search) {
 | 
        
           |  |  | 1302 |                     $select->where->like('g.name', '%' . $search . '%');
 | 
        
           |  |  | 1303 |                 }
 | 
        
           |  |  | 1304 |                 $select->order('name ASC');
 | 
        
           | 4588 | nelberth | 1305 |   | 
        
           | 4637 | nelberth | 1306 |                 //echo $select2->getSqlString($this->adapter->platform); exit;
 | 
        
           | 4588 | nelberth | 1307 |   | 
        
           | 4637 | nelberth | 1308 |                 $records = $queryMapper->fetchAll($select);
 | 
        
           |  |  | 1309 |   | 
        
           |  |  | 1310 |                 $items = [];
 | 
        
           |  |  | 1311 |                 foreach($records as $record)
 | 
        
           |  |  | 1312 |                 {
 | 
        
           |  |  | 1313 |                     $item = [
 | 
        
           |  |  | 1314 |                         'name' => $record['name'],
 | 
        
           |  |  | 1315 |                         'image' => $this->url()->fromRoute('storage', ['type' => 'group', 'code' => $record['uuid'], 'filename' => $record['image']]),
 | 
        
           | 4639 | nelberth | 1316 |                         'link_view' => $this->url()->fromRoute('high-performance-teams/view', ['id' => $record['uuid'] ]),
 | 
        
           |  |  | 1317 |                         'link_cancel' => $this->url()->fromRoute('high-performance-teams/cancel', ['id' => $record['uuid'] ]),
 | 
        
           | 4637 | nelberth | 1318 |                     ];
 | 
        
           |  |  | 1319 |   | 
        
           |  |  | 1320 |   | 
        
           |  |  | 1321 |                     array_push($items, $item);
 | 
        
           |  |  | 1322 |                 }
 | 
        
           |  |  | 1323 |   | 
        
           |  |  | 1324 |                 $response = [
 | 
        
           |  |  | 1325 |                     'success' => true,
 | 
        
           |  |  | 1326 |                     'data' => $items
 | 
        
           |  |  | 1327 |                 ];
 | 
        
           |  |  | 1328 |   | 
        
           |  |  | 1329 |                 return new JsonModel($response);
 | 
        
           |  |  | 1330 |   | 
        
           |  |  | 1331 |   | 
        
           |  |  | 1332 |             } else {
 | 
        
           |  |  | 1333 |                     $this->layout()->setTemplate('layout/layout-backend');
 | 
        
           |  |  | 1334 |                 $viewModel = new ViewModel();
 | 
        
           |  |  | 1335 |                 $viewModel->setTemplate('leaders-linked/high-performance-teams-group/requests-sent.phtml');
 | 
        
           | 4588 | nelberth | 1336 |                 return $viewModel ;
 | 
        
           |  |  | 1337 |             }
 | 
        
           |  |  | 1338 |   | 
        
           | 4571 | nelberth | 1339 |         } else {
 | 
        
           |  |  | 1340 |             return new JsonModel([
 | 
        
           |  |  | 1341 |                 'success' => false,
 | 
        
           |  |  | 1342 |                 'data' => 'ERROR_METHOD_NOT_ALLOWED'
 | 
        
           | 4637 | nelberth | 1343 |             ]);
 | 
        
           |  |  | 1344 |         }
 | 
        
           | 4571 | nelberth | 1345 |     }
 | 
        
           | 4637 | nelberth | 1346 |   | 
        
           |  |  | 1347 |   | 
        
           |  |  | 1348 | }
 |