Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 154 Rev 210
Línea 16... Línea 16...
16
use Laminas\Paginator\Adapter\DbSelect;
16
use Laminas\Paginator\Adapter\DbSelect;
17
use Laminas\Db\ResultSet\HydratingResultSet;
17
use Laminas\Db\ResultSet\HydratingResultSet;
18
use LeadersLinked\Model\UserType;
18
use LeadersLinked\Model\UserType;
19
use LeadersLinked\Model\CompanyUser;
19
use LeadersLinked\Model\CompanyUser;
20
use LeadersLinked\Model\CompanyMicrolearningCapsuleUser;
20
use LeadersLinked\Model\CompanyMicrolearningCapsuleUser;
21
use LeadersLinked\Model\HighPerformanceTeamsGroupsMembers;
-
 
22
 
-
 
23
 
-
 
Línea 24... Línea 21...
24
 
21
 
25
 
22
 
26
class UserMapper extends MapperCommon
23
class UserMapper extends MapperCommon
Línea 1388... Línea 1385...
1388
        return $this->executeFetchAllObject($select, $prototype);
1385
        return $this->executeFetchAllObject($select, $prototype);
1389
    }
1386
    }
Línea 1390... Línea -...
1390
 
-
 
1391
 
-
 
1392
 
-
 
1393
    public function fetchAllSuggestForInvitationByHptgId($group_id, $company_id, $search)
-
 
1394
    {
-
 
1395
        $selectGroupMembers = $this->sql->select(HighPerformanceTeamsGroupsMembersMapper::_TABLE);
-
 
1396
        $selectGroupMembers->columns(['user_id']);
-
 
1397
        $selectGroupMembers->where->equalTo('group_id', $group_id);
-
 
1398
        $selectGroupMembers->where->in('status', [
-
 
1399
            HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED,
-
 
1400
            HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN,
-
 
1401
            HighPerformanceTeamsGroupsMembers::STATUS_INVITED,
-
 
1402
        ]);
-
 
1403
 
-
 
1404
        //echo $selectGroupMembers->getSqlString($this->adapter->platform); exit;
-
 
1405
 
-
 
1406
        $select = $this->sql->select();
-
 
1407
        $select->from(['u' => self::_TABLE]);
-
 
1408
        $select->join(['cu' => CompanyUserMapper::_TABLE], 'cu.user_id = u.id', []);
-
 
1409
        $select->where->notIn('u.id', $selectGroupMembers);
-
 
1410
        $select->where->equalTo('u.status', User::STATUS_ACTIVE);
-
 
1411
        $select->where->equalTo('u.email_verified', User::EMAIL_VERIFIED_YES);
-
 
1412
        $select->where->equalTo('cu.company_id', $company_id);
-
 
1413
 
-
 
1414
 
-
 
1415
        if ($search) {
-
 
1416
            $select->where->nest()
-
 
1417
                ->like('u.first_name', '%' . $search . '%')
-
 
1418
                ->or->like('u.last_name', '%' . $search . '%')
-
 
1419
                ->or->like('u.email', '%' . $search . '%')
-
 
1420
                ->unnest();
-
 
1421
        }
-
 
1422
 
-
 
1423
        $select->order(['u.first_name', 'u.last_name']);
-
 
1424
 
-
 
1425
        // echo $select->getSqlString($this->adapter->platform); exit;
-
 
1426
 
-
 
1427
        $prototype = new User();
-
 
Línea 1428... Línea 1387...
1428
 
1387
 
1429
        return $this->executeFetchAllObject($select, $prototype);
1388
 
1430
    }
1389
 
1431
 
1390