Fix reseller package selection when older batches are exhausted
This commit is contained in:
@@ -233,10 +233,18 @@ class Tenant extends Model
|
||||
|
||||
public function getActiveResellerPackage(): ?TenantPackage
|
||||
{
|
||||
return $this->activeResellerPackage()->with('package')->first();
|
||||
return $this->getActiveResellerPackageFor(null);
|
||||
}
|
||||
|
||||
public function getActiveResellerPackageFor(?string $includedPackageSlug): ?TenantPackage
|
||||
{
|
||||
$candidates = $this->activeResellerPackagesQuery($includedPackageSlug)->get();
|
||||
|
||||
return $candidates->first(fn (TenantPackage $package) => $package->canCreateEvent())
|
||||
?? $candidates->first();
|
||||
}
|
||||
|
||||
private function activeResellerPackagesQuery(?string $includedPackageSlug): HasMany
|
||||
{
|
||||
$query = $this->tenantPackages()
|
||||
->with('package')
|
||||
@@ -258,7 +266,7 @@ class Tenant extends Model
|
||||
});
|
||||
}
|
||||
|
||||
return $query->first();
|
||||
return $query;
|
||||
}
|
||||
|
||||
public function activeSubscription(): Attribute
|
||||
|
||||
Reference in New Issue
Block a user