Add offer and commission rate to organizer invitation

- offer (free/basic/custom) and commissionRate fields on OrganizerInvitation
- Admin form: select offer + commission rate input
- Invitation list: show offer badge + rate
- Email: gold banner with proposed offer and commission rate (hors Stripe)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-22 18:24:40 +01:00
parent a0724ccf88
commit ac65d4af64
6 changed files with 115 additions and 1 deletions

View File

@@ -17,6 +17,8 @@ class OrganizerInvitationTest extends TestCase
self::assertNull($inv->getLastName());
self::assertNull($inv->getEmail());
self::assertNull($inv->getMessage());
self::assertNull($inv->getOffer());
self::assertNull($inv->getCommissionRate());
self::assertSame(OrganizerInvitation::STATUS_SENT, $inv->getStatus());
self::assertSame(64, \strlen($inv->getToken()));
self::assertNull($inv->getRespondedAt());
@@ -56,6 +58,24 @@ class OrganizerInvitationTest extends TestCase
self::assertNull($inv->getMessage());
}
public function testSetAndGetOffer(): void
{
$inv = new OrganizerInvitation();
$result = $inv->setOffer('basic');
self::assertSame('basic', $inv->getOffer());
self::assertSame($inv, $result);
}
public function testSetAndGetCommissionRate(): void
{
$inv = new OrganizerInvitation();
$result = $inv->setCommissionRate(5.5);
self::assertSame(5.5, $inv->getCommissionRate());
self::assertSame($inv, $result);
}
public function testSetAndGetStatus(): void
{
$inv = new OrganizerInvitation();