Skip to content

Commit 98b1440

Browse files
committed
Order Extra Question fix on mapping
Signed-off-by: [email protected] <[email protected]> Change-Id: I8ac982354d28d6075f2e567715583dbfc0d6a7c3
1 parent 7fd6111 commit 98b1440

File tree

3 files changed

+19
-22
lines changed

3 files changed

+19
-22
lines changed

app/Models/Foundation/Summit/Registration/Attendees/SummitAttendee.php

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,26 +1127,15 @@ public function getBoughtTicketTypes(): array
11271127
*/
11281128
public function getAllowedTicketTypes(): array
11291129
{
1130-
$bindings = [
1131-
'owner_id' => $this->id
1132-
];
1133-
1134-
$query = <<<SQL
1135-
SELECT E.* FROM `SummitAttendeeTicket` E
1136-
where OwnerID = :owner_id AND
1137-
E.IsActive = 1 AND
1138-
E.Status = 'Paid'
1139-
SQL;
1140-
$rsm = new ResultSetMappingBuilder($this->getEM());
1141-
$rsm->addRootEntityFromClassMetadata(SummitAttendeeTicket::class, 'E');
1142-
1143-
// build rsm here
1144-
$native_query = $this->getEM()->createNativeQuery($query, $rsm);
1145-
1146-
foreach ($bindings as $k => $v)
1147-
$native_query->setParameter($k, $v);
1148-
1149-
return $native_query->getResult();
1130+
$res = [];
1131+
$inserted = [];
1132+
foreach($this->tickets as $ticket){
1133+
if($ticket->isActive() && $ticket->isPaid() && !in_array($ticket->getTicketType()->getId(), $inserted)) {
1134+
$res[] = $ticket->getTicketType();
1135+
$inserted[] = $ticket->getTicketType()->getId();
1136+
}
1137+
}
1138+
return $res;
11501139
}
11511140

11521141
public function getAllowedAccessLevels(): array

app/Models/Foundation/Summit/Repositories/ISummitOrderExtraQuestionTypeRepository.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ interface ISummitOrderExtraQuestionTypeRepository extends IExtraQuestionTypeRepo
3131
* @param Order|null $order
3232
* @return PagingResponse
3333
*/
34-
public function getAllAllowedByPage(
35-
SummitAttendee $attendee, PagingInfo $paging_info, Filter $filter = null, Order $order = null): PagingResponse;
34+
public function getAllAllowedByPage
35+
(
36+
SummitAttendee $attendee, PagingInfo $paging_info, Filter $filter = null, Order $order = null
37+
): PagingResponse;
3638
}

app/Repositories/Summit/DoctrineSummitOrderExtraQuestionTypeRepository.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
**/
1414
use App\Models\Foundation\Summit\Repositories\ISummitOrderExtraQuestionTypeRepository;
1515
use App\Repositories\Main\DoctrineExtraQuestionTypeRepository;
16+
use Illuminate\Support\Facades\Log;
1617
use models\summit\SummitAttendee;
1718
use models\summit\SummitOrderExtraQuestionType;
1819
use utils\DoctrineLeftJoinFilterMapping;
@@ -89,6 +90,8 @@ function ($query) {
8990
public function getAllAllowedByPage(
9091
SummitAttendee $attendee, PagingInfo $paging_info, Filter $filter = null, Order $order = null): PagingResponse
9192
{
93+
Log::debug(sprintf("DoctrineSummitOrderExtraQuestionTypeRepository::getAllAllowedByPage attendee_id %s", $attendee->getId()));
94+
9295
$attendee_ticket_type_ids = [];
9396
foreach ($attendee->getAllowedTicketTypes() as $ticket_type) {
9497
$attendee_ticket_type_ids[] = $ticket_type->getId();
@@ -99,6 +102,9 @@ public function getAllAllowedByPage(
99102
$attendee_badge_feature_type_ids[] = $badge_feature->getId();
100103
}
101104

105+
Log::debug(sprintf("DoctrineSummitOrderExtraQuestionTypeRepository::getAllAllowedByPage attendee_ticket_type_ids %s", implode(',', $attendee_ticket_type_ids)));
106+
Log::debug(sprintf("DoctrineSummitOrderExtraQuestionTypeRepository::getAllAllowedByPage attendee_badge_feature_type_ids %s", implode(',', $attendee_badge_feature_type_ids)));
107+
102108
return $this->getParametrizedAllByPage(function () use ($attendee_badge_feature_type_ids, $attendee_ticket_type_ids) {
103109
$qb = $this->getEntityManager()->createQueryBuilder()
104110
->select("e")

0 commit comments

Comments
 (0)