Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 3285 Rev 3298
Línea 1269... Línea 1269...
1269
        if($request->isGet()) {
1269
        if($request->isGet()) {
Línea 1270... Línea 1270...
1270
            
1270
            
1271
            $currentUserPlugin = $this->plugin('currentUserPlugin');
1271
            $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 1272... Línea -...
1272
            $currentUser = $currentUserPlugin->getUser();
-
 
1273
            
1272
            $currentUser = $currentUserPlugin->getUser();
1274
            $my_groups_ids = [];
-
 
1275
            
-
 
1276
            $groupMapper = GroupMapper::getInstance($this->adapter);
-
 
1277
            $records = $groupMapper->fetchAllByUserId($currentUser->id);
-
 
1278
            
-
 
1279
            foreach($records as $record)
-
 
1280
            {
-
 
1281
                if($record->status == Group::STATUS_ACTIVE) {
-
 
1282
                    array_push($my_groups_ids, $record->id);
-
 
1283
                }
-
 
1284
            }
-
 
1285
            
-
 
Línea 1286... Línea 1273...
1286
     
1273
            
1287
            
1274
         
1288
            
1275
            
Línea 1387... Línea 1374...
1387
                $group_member_ids,
1374
                $group_member_ids,
1388
                $capsule_user_ids
1375
                $capsule_user_ids
1389
            ));
1376
            ));
Línea 1390... Línea 1377...
1390
            
1377
            
1391
            $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
1392
            
-
 
1393
            $selectMyGroups = null;
-
 
1394
            if($my_groups_ids) {
-
 
Línea 1395... Línea -...
1395
                
-
 
1396
           
-
 
1397
                $selectMyGroups = $queryMapper->getSql()->select();
-
 
1398
                $selectMyGroups->columns(['id', 'uuid', 'name','image','status','privacy', 'priority' => new Expression('1') ]);
-
 
1399
                $selectMyGroups->from(['g' => GroupMapper::_TABLE]);
-
 
1400
                $selectMyGroups->where->equalTo('privacy', Group::PRIVACY_IS_PUBLIC);
-
 
1401
                $selectMyGroups->where->equalTo('status', Group::STATUS_ACTIVE);
-
 
1402
                $selectMyGroups->where->in('g.id', $my_groups_ids);
-
 
1403
                $selectMyGroups->where->equalTo('g.user_id', $currentUser->id);
-
 
1404
                $selectMyGroups->order('name ASC');
-
 
1405
            }
-
 
1406
            
-
 
Línea 1407... Línea 1378...
1407
    
1378
            $queryMapper = QueryMapper::getInstance($this->adapter);
1408
            
1379
           
1409
  
1380
  
Línea 1421... Línea 1392...
1421
            $select->where->equalTo('status', Group::STATUS_ACTIVE);
1392
            $select->where->equalTo('status', Group::STATUS_ACTIVE);
1422
            $select->where->in('g.id', $group_ids);
1393
            $select->where->in('g.id', $group_ids);
1423
            $select->where->notEqualTo('g.user_id', $currentUser->id);
1394
            $select->where->notEqualTo('g.user_id', $currentUser->id);
1424
            $select->order('name ASC');
1395
            $select->order('name ASC');
Línea 1425... Línea -...
1425
            
-
 
1426
            if($selectMyGroups) {
-
 
1427
            
-
 
1428
                $select->combine($selectMyGroups);
-
 
1429
            }
-
 
Línea 1430... Línea 1396...
1430
            
1396
            
Línea 1431... Línea 1397...
1431
            
1397
            
Línea 1591... Línea 1557...
1591
        } else {
1557
        } else {
1592
            return new JsonModel([
1558
            return new JsonModel([
1593
                'success' => false,
1559
                'success' => false,
1594
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
1560
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
1595
            ]);
1561
            ]);
-
 
1562
        }
-
 
1563
    }
-
 
1564
    
-
 
1565
    
-
 
1566
    /**
-
 
1567
     * Recuperamos los grupos sugeridos
-
 
1568
     * tiene que enviarse un petición GET a la siguiente url: /helpers/groups-suggestion/:group_id
-
 
1569
     * retorna un json en caso de ser  positivo
-
 
1570
     * [
-
 
1571
     *  'success' : true,
-
 
1572
     *  'data' : [
-
 
1573
     *      [
-
 
1574
     *        'id'      => 'id del grupo encriptado',
-
 
1575
     *        'name'    => 'nombre del grupo',
-
 
1576
     *        'image'   => 'imagen del grupo',
-
 
1577
     *        'profile' => 'url del profile',
-
 
1578
     *     ]
-
 
1579
     * ]
-
 
1580
     * En caso de ser negativo
-
 
1581
     * [
-
 
1582
     *  'success' : false,
-
 
1583
     *  'data' : mensaje de error
-
 
1584
     * ]
-
 
1585
     * @return \Laminas\View\Model\JsonModel
-
 
1586
     */
-
 
1587
    public function myGroupsAction()
-
 
1588
    {
-
 
1589
        
-
 
1590
        $request = $this->getRequest();
-
 
1591
        if($request->isGet()) {
-
 
1592
            
-
 
1593
            $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1594
            $currentUser = $currentUserPlugin->getUser();
-
 
1595
            
-
 
1596
            
-
 
1597
            $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
1598
            $select = $queryMapper->getSql()->select();
-
 
1599
            $select->columns(['id', 'uuid', 'name','image','status','privacy', 'priority' => new Expression('0') ]);
-
 
1600
            $select->from(['g' => GroupMapper::_TABLE]);
-
 
1601
            $select->where->equalTo('status', Group::STATUS_ACTIVE);
-
 
1602
            $select->where->equalTo('g.user_id', $currentUser->id);
-
 
1603
            $select->order('name ASC');
-
 
1604
            
-
 
1605
            
-
 
1606
            $items = [];
-
 
1607
            
-
 
1608
            $records = $queryMapper->fetchAll($select);
-
 
1609
            foreach($records as $record)
-
 
1610
            {
-
 
1611
                    
-
 
1612
                array_push($items, [
-
 
1613
                    'id'        => $record['uuid'],
-
 
1614
                    'name'      => trim($record['name']),
-
 
1615
                    'image'     => $this->url()->fromRoute('storage', ['code' => $record['uuid'], 'type' => 'group', 'filename' => $record['image']]),
-
 
1616
                    'profile'   => $this->url()->fromRoute('group/view', ['id' => $record['uuid'] ]),
-
 
1617
                    'priority'  => $record['priority'],
-
 
1618
                        
-
 
1619
                ]);
-
 
1620
                    
-
 
1621
            }
-
 
1622
                
-
 
1623
            return new JsonModel([
-
 
1624
                'success' => true,
-
 
1625
                'data' => $items
-
 
1626
            ]);
-
 
1627
                
-
 
1628
                
-
 
1629
        } else {
-
 
1630
            return new JsonModel([
-
 
1631
                'success' => false,
-
 
1632
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
1633
            ]);
1596
        }
1634
        }
1597
    }
1635
    }
Línea 1598... Línea 1636...
1598
    
1636