Skip to content

Commit a8e3824

Browse files
committed
fix: update getSponsor return allowing nulls
Signed-off-by: romanetar <roman_ag@hotmail.com>
1 parent b430061 commit a8e3824

14 files changed

Lines changed: 48 additions & 36 deletions

app/Events/SponsorServices/SummitSponsorshipAddOnCreatedEventDTO.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public static function fromSponsorshipAddOn(SummitSponsorshipAddOn $add_on): sel
5858
$sponsorship = $add_on->getSponsorship();
5959
$summit_sponsorship_type = $sponsorship->getType();
6060
$sponsorship_type = $summit_sponsorship_type->getType();
61+
$sponsor = $sponsorship->getSponsor();
6162

6263
return new self(
6364
$add_on->getId(),
@@ -67,8 +68,8 @@ public static function fromSponsorshipAddOn(SummitSponsorshipAddOn $add_on): sel
6768
$sponsorship_type->getName(),
6869
$add_on->getType(),
6970
$add_on->getName(),
70-
$add_on->getSponsorship()->getSponsor()->getId(),
71-
$add_on->getSponsorship()->getSponsor()->getSummitId(),
71+
$sponsor?->getId() ?? 0,
72+
$sponsor?->getSummitId() ?? 0,
7273
);
7374
}
7475

app/Events/SponsorServices/SummitSponsorshipCreatedEventDTO.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ public static function fromSponsorship(SummitSponsorship $sponsorship): self
5050

5151
return new self(
5252
$sponsorship->getId(),
53-
$sponsor->getId(),
53+
$sponsor?->getId() ?? 0,
5454
$summit_sponsorship_type->getId(),
5555
$sponsorship_type->getId(),
5656
$sponsorship_type->getName(),
57-
$sponsor->getSummitId()
57+
$sponsor?->getSummitId() ?? 0
5858
);
5959
}
6060

app/Jobs/Emails/Registration/PromoCodes/SponsorPromoCodeEmail.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ public function __construct
5454
$summit = $promo_code->getSummit();
5555
$payload = [];
5656
$sponsor = $promo_code->getSponsor();
57-
$payload[IMailTemplatesConstants::sponsor_tier_name] = implode(',', $sponsor->getSponsorshipTierNames());
57+
$payload[IMailTemplatesConstants::sponsor_tier_name] = $sponsor ? implode(',', $sponsor->getSponsorshipTierNames()) : '';
5858
$payload[IMailTemplatesConstants::promo_code] = $promo_code->getCode();
5959
$payload[IMailTemplatesConstants::company_name] = '';
60-
$company = $sponsor->getCompany();
60+
$company = $sponsor?->getCompany();
6161
if (!is_null($company))
6262
$payload[IMailTemplatesConstants::company_name] = $company->getName();
6363

@@ -97,4 +97,4 @@ public static function getEmailTemplateSchema(): array{
9797
$payload[IMailTemplatesConstants::sponsor_tier_name]['type'] = 'string';
9898
return $payload;
9999
}
100-
}
100+
}

app/ModelSerializers/Summit/Registration/PromoCodes/SponsorSummitRegistrationDiscountCodeSerializer.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ public function serialize($expand = null, array $fields = [], array $relations =
6262
}
6363
break;
6464
case 'sponsor_name':{
65-
$values['sponsor_name'] = $code->getSponsor()->getCompany()->getName();
65+
if($code->hasSponsor()) {
66+
$values['sponsor_name'] = $code->getSponsor()->getCompany()->getName();
67+
}
6668
}
6769
break;
6870
}
@@ -71,4 +73,4 @@ public function serialize($expand = null, array $fields = [], array $relations =
7173

7274
return $values;
7375
}
74-
}
76+
}

app/ModelSerializers/Summit/Registration/PromoCodes/SponsorSummitRegistrationPromoCodeSerializer.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ public function serialize($expand = null, array $fields = [], array $relations =
6363
}
6464
break;
6565
case 'sponsor_name':{
66-
$values['sponsor_name'] = $code->getSponsor()->getCompany()->getName();
66+
if($code->hasSponsor()) {
67+
$values['sponsor_name'] = $code->getSponsor()->getCompany()->getName();
68+
}
6769
}
6870
break;
6971
}
@@ -72,4 +74,4 @@ public function serialize($expand = null, array $fields = [], array $relations =
7274

7375
return $values;
7476
}
75-
}
77+
}

app/ModelSerializers/Summit/Registration/SponsorBadgeScanCSVSerializer.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ public function serialize($expand = null, array $fields = array(), array $relati
6565
if (!$scan instanceof SponsorBadgeScan) return [];
6666
$values = parent::serialize($expand, $fields, $relations, $params);
6767
$sponsor = $scan->getSponsor();
68+
69+
//There are no sponsor questions to process without a sponsor
70+
if (is_null($sponsor)) return $values;
71+
6872
$sponsor_questions = $sponsor->getExtraQuestions();
6973
$setting = $sponsor->getSummit()->getLeadReportSettingFor($sponsor);
7074
$setting_columns = $setting->getColumns();
@@ -144,4 +148,4 @@ public function serialize($expand = null, array $fields = array(), array $relati
144148

145149
return $values;
146150
}
147-
}
151+
}

app/ModelSerializers/Summit/Registration/SponsorUserInfoGrantCSVSerializer.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,14 @@ public function serialize($expand = null, array $fields = [], array $relations =
5151
$values['notes'] = 'VIRTUAL';
5252

5353
$sponsor = $grant->getSponsor();
54+
55+
//There are no sponsor questions to process without a sponsor
56+
if (is_null($sponsor)) return $values;
57+
5458
$sponsor_questions = $sponsor->getExtraQuestions();
5559
$setting = $sponsor->getSummit()->getLeadReportSettingFor($sponsor);
5660
$setting_columns = $setting->getColumns();
5761

58-
5962
// remove not allowed string columns and sort them by setting columns order
6063
$new_values = [];
6164
foreach(array_values($setting_columns) as $column) {
@@ -130,4 +133,4 @@ public function serialize($expand = null, array $fields = [], array $relations =
130133

131134
return $values;
132135
}
133-
}
136+
}

app/Models/Foundation/Summit/ExtraQuestions/SummitSponsorExtraQuestionType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class SummitSponsorExtraQuestionType extends ExtraQuestionType
3535
];
3636

3737
/**
38-
* @var Sponsor
38+
* @var Sponsor|null
3939
*/
4040
#[ORM\JoinColumn(name: 'SponsorID', referencedColumnName: 'ID', onDelete: 'CASCADE')]
4141
#[ORM\ManyToOne(targetEntity: \models\summit\Sponsor::class, inversedBy: 'extra_questions')]
@@ -61,4 +61,4 @@ public function clearSponsor(): void
6161
{
6262
$this->sponsor = null;
6363
}
64-
}
64+
}

app/Models/Foundation/Summit/Registration/PromoCodes/Traits/SponsorPromoCodeTrait.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ public function setContactEmail(string $contact_email): void
7171
}
7272

7373
/**
74-
* @return Sponsor
74+
* @return Sponsor|null
7575
*/
76-
public function getSponsor():Sponsor
76+
public function getSponsor(): ?Sponsor
7777
{
7878
return $this->sponsor;
7979
}
@@ -95,4 +95,4 @@ public function setSponsor(Sponsor $sponsor)
9595
public function checkSubject(string $email, ?string $company):bool{
9696
return true;
9797
}
98-
}
98+
}

app/Models/Foundation/Summit/Registration/SponsorUserInfoGrant.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class SponsorUserInfoGrant extends SilverstripeBaseModel
2929

3030
const ClassName = 'SponsorUserInfoGrant';
3131
/**
32-
* @var Sponsor
32+
* @var Sponsor|null
3333
*/
3434
#[ORM\JoinColumn(name: 'SponsorID', referencedColumnName: 'ID')]
3535
#[ORM\ManyToOne(targetEntity: \models\summit\Sponsor::class, inversedBy: 'user_info_grants')]
@@ -53,9 +53,9 @@ class SponsorUserInfoGrant extends SilverstripeBaseModel
5353
];
5454

5555
/**
56-
* @return Sponsor
56+
* @return Sponsor|null
5757
*/
58-
public function getSponsor(): Sponsor
58+
public function getSponsor(): ?Sponsor
5959
{
6060
return $this->sponsor;
6161
}
@@ -95,4 +95,4 @@ public function getAttendeeLastName():?string{
9595
public function getAttendeeEmail():?string{
9696
return $this->allowed_user->getEmail();
9797
}
98-
}
98+
}

0 commit comments

Comments
 (0)