|
|
|
@@ -81,6 +81,8 @@ class TB_Server_Control_Team { |
|
|
|
|
|
|
|
$teamId = $params->get( 'teamId' );
|
|
|
|
$includeEmail = $params->get( 'includeEmails' );
|
|
|
|
$adminsOnly = $params->get( 'adminsOnly' );
|
|
|
|
$includeMembers = $params->get( 'includeMembers' );
|
|
|
|
$members = array();
|
|
|
|
|
|
|
|
$sessionProfile = TB_Server_Core_Session::get()->getProfile();
|
|
|
|
@@ -89,6 +91,10 @@ class TB_Server_Control_Team { |
|
|
|
throw new \Exception( 'Cannot access team with id: ' . $teamId );
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($includeMembers && !$adminsOnly && !$sessionProfile->isAdminOfTeam($teamId)) {
|
|
|
|
throw new \Exception( 'User is not admin of team with id: ' . $teamId );
|
|
|
|
}
|
|
|
|
|
|
|
|
$team = TB_Shared_Ent_TeamData_Team::get( $teamId );
|
|
|
|
|
|
|
|
if ( !($team instanceof TB_Shared_Ent_TeamData_Team ) )
|
|
|
|
@@ -97,10 +103,23 @@ class TB_Server_Control_Team { |
|
|
|
return $resp;
|
|
|
|
}
|
|
|
|
|
|
|
|
$members = TB_Shared_Ent_TeamData_Profile::getProfilesByTeamId( $team->id );
|
|
|
|
$filteredMembers = [];
|
|
|
|
if ($includeMembers) {
|
|
|
|
$members = TB_Shared_Ent_TeamData_Profile::getProfilesByTeamId( $team->id );
|
|
|
|
/** @var TB_Shared_Ent_TeamData_Profile $member */
|
|
|
|
foreach ($members as $member) {
|
|
|
|
if ($adminsOnly) {
|
|
|
|
if ($member->isAdminOfTeam($teamId)) {
|
|
|
|
$filteredMembers[] = $member;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$filteredMembers[] = $member;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$resp->addData( 'team', $team );
|
|
|
|
$resp->addData( 'members', $members );
|
|
|
|
$resp->addData( 'members', $filteredMembers );
|
|
|
|
|
|
|
|
if ( $includeEmail )
|
|
|
|
{
|
|
|
|
|