Skip to content

Commit bd72bc2

Browse files
committed
Fix on get ticket by QR CODE
Change-Id: I85398bb1643e0d46b72b45003a14e750c967e26e
1 parent d948367 commit bd72bc2

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ public function generateQRCode(): string
147147
*/
148148
static public function parseQRCode(string $qr_code):array{
149149
$fields = explode(IQREntity::QRRegistryFieldDelimiterChar, $qr_code);
150-
if(count($fields) != 4) throw new ValidationException("Invalid QR code.");
150+
if(count($fields) != 4) throw new ValidationException("Invalid Badge QR code.");
151151

152152
return [
153153
'prefix' => $fields[0],

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

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ public function isCancelled(): bool
561561
public function generateQRCode(): string
562562
{
563563
if (is_null($this->order)) {
564-
throw new ValidationException("ticket has not order set");
564+
throw new ValidationException("Ticket has not order set.");
565565
}
566566

567567
$this->qr_code = $this->generateQRFromFields([
@@ -1198,4 +1198,19 @@ public function getRefundedRequests()
11981198
{
11991199
return $this->refund_requests;
12001200
}
1201+
1202+
/**
1203+
* @param string $qr_code
1204+
* @return array
1205+
* @throws ValidationException
1206+
*/
1207+
static public function parseQRCode(string $qr_code):array{
1208+
$fields = explode(IQREntity::QRRegistryFieldDelimiterChar, $qr_code);
1209+
if(count($fields) != 2) throw new ValidationException("Invalid Ticket QR code.");
1210+
1211+
return [
1212+
'prefix' => $fields[0],
1213+
'ticket_number' => $fields[1],
1214+
];
1215+
}
12011216
}

app/Services/Model/Strategies/TicketFinder/TicketFinderStrategyFactory.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
use models\summit\Summit;
2626
use models\summit\SummitAttendeeBadge;
2727
use Illuminate\Support\Facades\App;
28+
use models\summit\SummitAttendeeTicket;
29+
2830
/**
2931
* Class TicketFinderStrategyFactory
3032
* @package App\Services\Model\Strategies\TicketFinder
@@ -122,16 +124,17 @@ public function build(Summit $summit, $ticket_criteria): ?ITicketFinderStrategy
122124

123125
try {
124126

125-
$fields = SummitAttendeeBadge::parseQRCode($qr_code_content);
127+
$fields = SummitAttendeeTicket::parseQRCode($qr_code_content);
126128
$prefix = $fields['prefix'];
127-
if ($summit->getBadgeQRPrefix() != $prefix)
129+
if ($summit->getTicketQRPrefix() != $prefix)
128130
throw new ValidationException
129131
(
130132
sprintf
131133
(
132-
"%s QR CODE is not valid for summit %s.",
134+
"%s QR CODE is not valid for summit %s QR PREFIX %s",
133135
$qr_code_content,
134-
$summit->getId()
136+
$summit->getId(),
137+
$summit->getTicketQRPrefix()
135138
)
136139
);
137140

@@ -154,6 +157,7 @@ public function build(Summit $summit, $ticket_criteria): ?ITicketFinderStrategy
154157
);
155158
}
156159
catch(ValidationException $ex){
160+
Log::warning($ex);
157161
Log::debug
158162
(
159163
sprintf

0 commit comments

Comments
 (0)