Speakers/Moderators Refactoring
Bug Fixing Change-Id: I1575790a2364a1a05e6098261d8d497d447533ba
This commit is contained in:
parent
424e18ff1c
commit
5e61d68a49
|
@ -77,7 +77,7 @@ FROM (
|
|||
IFNULL(S.FirstName, M.FirstName) AS FirstName,
|
||||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email, R.Email) AS Email
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
WHERE
|
||||
|
@ -87,29 +87,13 @@ FROM (
|
|||
INNER JOIN Presentation P ON E.ID = P.ID
|
||||
INNER JOIN Presentation_Speakers PS ON PS.PresentationID = P.ID
|
||||
WHERE E.SummitID = {$summit->getId()} AND PS.PresentationSpeakerID = S.ID
|
||||
)
|
||||
)
|
||||
UNION
|
||||
SELECT S.ID,
|
||||
IFNULL(S.FirstName, M.FirstName) AS FirstName,
|
||||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email, R.Email) AS Email
|
||||
FROM Speaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
WHERE
|
||||
EXISTS
|
||||
(
|
||||
SELECT E.ID FROM SummitEvent E
|
||||
INNER JOIN Presentation P ON E.ID = P.ID
|
||||
INNER JOIN Presentation_Speakers PS ON PS.PresentationID = P.ID
|
||||
WHERE E.SummitID = {$summit->getId()} AND P.ModeratorID = S.ID
|
||||
)
|
||||
UNION
|
||||
SELECT S.ID,
|
||||
IFNULL(S.FirstName, M.FirstName) AS FirstName,
|
||||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email, R.Email) AS Email
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
WHERE
|
||||
|
@ -157,7 +141,7 @@ FROM (
|
|||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email,R.Email) AS Email,
|
||||
S.PhotoID
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN File F ON F.ID = S.PhotoID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
|
@ -190,39 +174,7 @@ FROM (
|
|||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email,R.Email) AS Email,
|
||||
S.PhotoID
|
||||
FROM Speaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
WHERE
|
||||
EXISTS
|
||||
(
|
||||
SELECT E.ID FROM SummitEvent E
|
||||
INNER JOIN Presentation P ON E.ID = P.ID
|
||||
INNER JOIN Presentation_Speakers PS ON PS.PresentationID = P.ID
|
||||
WHERE E.SummitID = {$summit->getId()} AND P.ModeratorID = S.ID
|
||||
)
|
||||
UNION
|
||||
SELECT
|
||||
S.ID,
|
||||
S.ClassName,
|
||||
S.Created,
|
||||
S.LastEdited,
|
||||
S.Title AS SpeakerTitle,
|
||||
S.Bio,
|
||||
S.IRCHandle,
|
||||
S.AvailableForBureau,
|
||||
S.FundedTravel,
|
||||
S.Country,
|
||||
S.MemberID,
|
||||
S.WillingToTravel,
|
||||
S.WillingToPresentVideo,
|
||||
S.Notes,
|
||||
S.TwitterName,
|
||||
IFNULL(S.FirstName, M.FirstName) AS FirstName,
|
||||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email,R.Email) AS Email,
|
||||
S.PhotoID
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
WHERE
|
||||
|
@ -314,7 +266,7 @@ FROM (
|
|||
IFNULL(S.FirstName, M.FirstName) AS FirstName,
|
||||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email,R.Email) AS Email
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
)
|
||||
|
@ -356,7 +308,7 @@ FROM (
|
|||
IFNULL(S.LastName, M.Surname) AS LastName,
|
||||
IFNULL(M.Email,R.Email) AS Email,
|
||||
S.PhotoID
|
||||
FROM Speaker S
|
||||
FROM PresentationSpeaker S
|
||||
LEFT JOIN Member M ON M.ID = S.MemberID
|
||||
LEFT JOIN File F ON F.ID = S.PhotoID
|
||||
LEFT JOIN SpeakerRegistrationRequest R ON R.SpeakerID = S.ID
|
||||
|
|
|
@ -121,12 +121,9 @@ final class DoctrineSummitEventRepository
|
|||
'speaker' => new DoctrineFilterMapping
|
||||
(
|
||||
"( concat(sp.first_name, ' ', sp.last_name) :operator ':value' ".
|
||||
"OR concat(spm.first_name, ' ', spm.last_name) :operator ':value' ".
|
||||
"OR concat(spmm.first_name, ' ', spmm.last_name) :operator ':value' ".
|
||||
"OR sp.first_name :operator ':value' ".
|
||||
"OR sp.last_name :operator ':value' ".
|
||||
"OR spm.first_name :operator ':value' ".
|
||||
"OR spm.last_name :operator ':value' ".
|
||||
"OR spmm.first_name :operator ':value' ".
|
||||
"OR spmm.last_name :operator ':value' )"
|
||||
),
|
||||
|
@ -136,7 +133,7 @@ final class DoctrineSummitEventRepository
|
|||
),
|
||||
'speaker_id' => new DoctrineFilterMapping
|
||||
(
|
||||
"(sp.id :operator :value OR spm.id :operator :value)"
|
||||
"(sp.id :operator :value)"
|
||||
),
|
||||
'selection_status' => new DoctrineSwitchFilterMapping([
|
||||
'selected' => new DoctrineCaseFilterMapping(
|
||||
|
@ -212,10 +209,10 @@ final class DoctrineSummitEventRepository
|
|||
if($class == \models\summit\Presentation::class) {
|
||||
$query = $query->innerJoin("e.category", "cc", Join::WITH);
|
||||
$query = $query->leftJoin("e.location", "loc", Join::WITH);
|
||||
$query = $query->leftJoin("e.speakers", "sp", Join::WITH);
|
||||
$query = $query->leftJoin("e.speakers", "spk", Join::WITH);
|
||||
$query = $query->leftJoin("spk.speaker", "sp", Join::WITH);
|
||||
$query = $query->leftJoin('e.selected_presentations', "ssp", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('ssp.list', "sspl", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('e.moderator', "spm", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('sp.member', "spmm", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('sp.registration_request', "sprr", Join::LEFT_JOIN);
|
||||
}
|
||||
|
@ -307,11 +304,11 @@ final class DoctrineSummitEventRepository
|
|||
|
||||
if($class == \models\summit\Presentation::class) {
|
||||
$query = $query->innerJoin("e.category", "cc", Join::WITH);
|
||||
$query = $query->leftJoin("e.speakers", "sp", Join::WITH);
|
||||
$query = $query->leftJoin("e.speakers", "spk", Join::WITH);
|
||||
$query = $query->leftJoin("sp.speaker", "sp", Join::WITH);
|
||||
$query = $query->leftJoin('e.selected_presentations', "ssp", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('ssp.list', "sspl", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('e.moderator', "spm", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('sp.member', "spmm", Join::LEFT_JOIN);
|
||||
$query = $query-> leftJoin('sp.member', "spmm", Join::LEFT_JOIN);
|
||||
$query = $query->leftJoin('sp.registration_request', "sprr", Join::LEFT_JOIN);
|
||||
}
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@ final class OAuth2SummitApiTest extends ProtectedApiTest
|
|||
$headers = array("HTTP_Authorization" => " Bearer " . $this->access_token);
|
||||
$response = $this->action(
|
||||
"GET",
|
||||
"OAuth2SummitSpeakersApiController@getAllSpeakers",
|
||||
"OAuth2SummitSpeakersApiController@getAll",
|
||||
$params,
|
||||
array(),
|
||||
array(),
|
||||
|
|
|
@ -1351,4 +1351,46 @@ final class OAuth2SummitEventsApiTest extends ProtectedApiTest
|
|||
|
||||
}
|
||||
|
||||
public function testGetFilteredEvents($summit_id = 25)
|
||||
{
|
||||
$params = array
|
||||
(
|
||||
'id' => $summit_id ,
|
||||
'expand' => 'speakers,type',
|
||||
'filter' => [
|
||||
|
||||
'title=@kubernets',
|
||||
'abstract=@kubernets',
|
||||
'tags=@kubernets',
|
||||
'speaker=@kubernets',
|
||||
'speaker_email=@kubernets',
|
||||
'id==kubernets'
|
||||
]
|
||||
);
|
||||
|
||||
$headers = array
|
||||
(
|
||||
"HTTP_Authorization" => " Bearer " . $this->access_token,
|
||||
"CONTENT_TYPE" => "application/json"
|
||||
);
|
||||
|
||||
|
||||
$response = $this->action
|
||||
(
|
||||
"GET",
|
||||
"OAuth2SummitEventsApiController@getEvents",
|
||||
$params,
|
||||
array(),
|
||||
array(),
|
||||
array(),
|
||||
$headers
|
||||
);
|
||||
|
||||
$content = $response->getContent();
|
||||
$this->assertResponseStatus(200);
|
||||
|
||||
$events = json_decode($content);
|
||||
$this->assertTrue(!is_null($events));
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue