Fix on update attendee status

Change-Id: I90bfa077bdeab331fe1c741e3a030350dcf18700
Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
smarcet 2020-12-11 09:48:15 -03:00
parent b025fb244c
commit a0d7bbd308
6 changed files with 18 additions and 17 deletions

View File

@ -30,6 +30,7 @@ class SummitAttendeeSerializer extends SilverStripeSerializer
'Email' => 'email:json_string',
'CompanyName' => 'company:json_string',
'DisclaimerAcceptedDate' => 'disclaimer_accepted_date:datetime_epoch',
'DisclaimerAccepted' => 'disclaimer_accepted:json_boolean',
'Status' => 'status:json_string',
];

View File

@ -94,7 +94,7 @@ final class SummitAttendeeFactory
if (isset($payload['disclaimer_accepted']) && !empty($payload['disclaimer_accepted'])) {
$disclaimer_accepted = boolval($payload['disclaimer_accepted']);
if ($disclaimer_accepted && !$attendee->hasDisclaimerAccepted()) {
if ($disclaimer_accepted && !$attendee->isDisclaimerAccepted()) {
$attendee->setDisclaimerAcceptedDate
(
new \DateTime('now', new \DateTimeZone('UTC'))

View File

@ -478,7 +478,7 @@ class SummitAttendee extends SilverstripeBaseModel
/**
* @return bool
*/
public function hasDisclaimerAccepted():bool{
public function isDisclaimerAccepted():bool{
return !is_null($this->disclaimer_accepted_date);
}
@ -592,7 +592,7 @@ class SummitAttendee extends SilverstripeBaseModel
$is_disclaimer_mandatory = $this->summit->isRegistrationDisclaimerMandatory();
// mandatory fields
if($is_disclaimer_mandatory && !$this->hasDisclaimerAccepted()){
if($is_disclaimer_mandatory && !$this->isDisclaimerAccepted()){
$this->status = self::StatusIncomplete;
Log::debug(sprintf("SummitAttendee::updateStatus StatusIncomplete for attendee %s (disclaimer mandatory)", $this->id));
return $this->status;

View File

@ -359,12 +359,12 @@ final class AttendeeService extends AbstractService implements IAttendeeService
$attendee->sendRevocationTicketEmail($ticket);
$attendee->removeTicket($ticket);
$attendee->updateStatus();
$new_owner->addTicket($ticket);
$ticket->generateQRCode();
$ticket->generateHash();
$new_owner->updateStatus();
$new_owner->sendInvitationEmail($ticket);
return $ticket;

View File

@ -311,7 +311,7 @@ final class RegistrationIngestionService
if ($refunded) {
$ticket->setRefunded();
}
$attendee->updateStatus();
$order->addTicket($ticket);
$ticket->generateQRCode();
$ticket->generateHash();

View File

@ -347,7 +347,7 @@ final class ReserveOrderTask extends AbstractTask
],
$this->member_repository->getByEmail($attendee_email)
);
$attendee->updateStatus();
$local_attendees[$attendee_email] = $attendee;
$ticket->setOwner($attendee);
}
@ -1188,7 +1188,7 @@ final class SummitOrderService
$ticket->generateQRCode();
$ticket->generateHash();
$attendee->updateStatus();
$attendee->sendInvitationEmail($ticket);
return $ticket;
@ -2505,7 +2505,7 @@ final class SummitOrderService
// update it
SummitAttendeeFactory::populate($summit, $attendee, $reduced_payload);
$attendee->updateStatus();
$attendee->sendInvitationEmail($ticket);
return $ticket;
@ -2568,11 +2568,11 @@ final class SummitOrderService
}
}
// update it
SummitAttendeeFactory::populate($summit, $attendee, $payload, !empty($email) ? $this->member_repository->getByEmail($email) : null);
if (is_null($attendee)) {
if(!is_null($attendee)) {
// update it
SummitAttendeeFactory::populate($summit, $attendee, $payload, !empty($email) ? $this->member_repository->getByEmail($email) : null);
$attendee->addTicket($ticket);
$attendee->updateStatus();
$attendee->sendInvitationEmail($ticket);
}
@ -2661,10 +2661,10 @@ final class SummitOrderService
}
}
// update it
SummitAttendeeFactory::populate($summit, $attendee, $payload, !empty($email) ? $this->member_repository->getByEmail($email) : null);
if (is_null($attendee)) {
if(!is_null($attendee)) {
// update it
SummitAttendeeFactory::populate($summit, $attendee, $payload, !empty($email) ? $this->member_repository->getByEmail($email) : null);
$attendee->updateStatus();
$attendee->addTicket($ticket);
$attendee->sendInvitationEmail($ticket);
}