Update partner packages, copy, and demo switcher
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-15 17:33:36 +01:00
parent 2f93271d94
commit ad829ae509
50 changed files with 1335 additions and 411 deletions

View File

@@ -66,18 +66,30 @@ class TenantPackage extends Model
return false;
}
$maxEvents = $this->package->max_events_per_year ?? 0;
$maxEvents = $this->package->max_events_per_year;
if ($maxEvents === null) {
return true;
}
$maxEvents = max(0, (int) $maxEvents);
return $this->used_events < $maxEvents;
}
public function getRemainingEventsAttribute(): int
public function getRemainingEventsAttribute(): ?int
{
if (! $this->package->isReseller()) {
return 0;
}
$max = $this->package->max_events_per_year ?? 0;
$max = $this->package->max_events_per_year;
if ($max === null) {
return null;
}
$max = max(0, (int) $max);
return max(0, $max - $this->used_events);
}
@@ -94,9 +106,7 @@ class TenantPackage extends Model
$package = $tenantPackage->package;
if ($package && $package->isReseller()) {
if (! $tenantPackage->expires_at) {
$tenantPackage->expires_at = now()->addYear();
}
// Reseller packages represent prepaid Event-Kontingente and should not expire by default.
} elseif (! $tenantPackage->expires_at) {
$tenantPackage->expires_at = now()->addYear();
}