Skip to content

Commit 3791d9f

Browse files
committed
Handling mails
1 parent 1ed342b commit 3791d9f

File tree

6 files changed

+20
-6
lines changed

6 files changed

+20
-6
lines changed

config/packages/routing.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
declare(strict_types=1);
44

5+
use Symfony\Config\Framework\RouterConfig;
56
use Symfony\Config\FrameworkConfig;
67
use function Symfony\Component\DependencyInjection\Loader\Configurator\env;
78

89
return static function (FrameworkConfig $frameworkConfig): void {
9-
$frameworkConfig->router()
10-
->utf8(true)
10+
/** @var RouterConfig $router */
11+
$router = $frameworkConfig->router();
12+
13+
$router->utf8(true)
1114
->defaultUri(env('APP_URL'));
1215
};

src/Controller/MembershipController.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace SpeedPuzzling\Web\Controller;
55

66
use Auth0\Symfony\Models\User;
7+
use Psr\Clock\ClockInterface;
78
use SpeedPuzzling\Web\Exceptions\MembershipNotFound;
89
use SpeedPuzzling\Web\Query\GetPlayerMembership;
910
use SpeedPuzzling\Web\Services\RetrieveLoggedUserProfile;
@@ -17,6 +18,7 @@ final class MembershipController extends AbstractController
1718
public function __construct(
1819
readonly private GetPlayerMembership $getPlayerMembership,
1920
readonly private RetrieveLoggedUserProfile $retrieveLoggedUserProfile,
21+
readonly private ClockInterface $clock,
2022
) {
2123
}
2224

@@ -43,6 +45,7 @@ public function __invoke(#[CurrentUser] User $user): Response
4345

4446
return $this->render('membership.html.twig', [
4547
'membership' => $membership,
48+
'now' => $this->clock->now(),
4649
]);
4750
}
4851
}

src/MessageHandler/CancelMembershipSubscriptionHandler.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace SpeedPuzzling\Web\MessageHandler;
66

7+
use Psr\Clock\ClockInterface;
78
use SpeedPuzzling\Web\Exceptions\MembershipNotFound;
89
use SpeedPuzzling\Web\Message\CancelMembershipSubscription;
910
use SpeedPuzzling\Web\Repository\MembershipRepository;
@@ -12,6 +13,7 @@
1213
{
1314
public function __construct(
1415
private MembershipRepository $membershipRepository,
16+
private ClockInterface $clock,
1517
) {
1618
}
1719

@@ -22,6 +24,6 @@ public function __invoke(CancelMembershipSubscription $message): void
2224
{
2325
$membership = $this->membershipRepository->getByStripeSubscriptionId($message->stripeSubscriptionId);
2426

25-
$membership->cancel();
27+
$membership->cancel($this->clock->now());
2628
}
2729
}

templates/membership.html.twig

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,21 @@
2121
<p>
2222
{{ 'membership.next_payment'|trans }}: <strong>{{ membership.billingPeriodEndsAt|date('d.m.Y H:i') }}</strong>
2323
</p>
24-
{% elseif membership.endsAt %}
24+
{% elseif membership.endsAt and membership.endsAt > now %}
2525
<p class="text-warning fs-5">
2626
<i class="ci-close-circle me-2"></i> {{ 'membership.membership_cancelling'|trans }}
2727
</p>
28-
{% elseif membership.endsAt is null %}
28+
{% elseif membership.endsAt and membership.endsAt < now %}
29+
<p class="text-danger fs-5">
30+
<i class="ci-close-circle me-2"></i> {{ 'membership.membership_expired'|trans }}
31+
</p>
32+
{% else %}
2933
<p class="text-danger fs-5">
3034
<i class="ci-close-circle me-2"></i> {{ 'membership.membership_inactive'|trans }}
3135
</p>
3236
{% endif %}
3337

34-
{% if membership.endsAt %}
38+
{% if membership.endsAt and membership.endsAt > now %}
3539
<p>
3640
{{ 'membership.membership_expiration'|trans }}: <strong>{{ membership.billingPeriodEndsAt|date('d.m.Y') }}</strong>
3741
</p>

translations/messages.cs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ membership:
455455
membership_active: "Aktivní členství, děkujeme že jste součástí!"
456456
membership_inactive: "Členství není aktivní"
457457
membership_cancelling: "Předplatné bylo zrušeno, členství je aktivní do konce období"
458+
membership_expired: "Vaše členství vypršelo"
458459
next_payment: "Příští platba"
459460
membership_expiration: "Platnost členství do"
460461
payment_portal_button: "Upravit předplatné (platební portál)"

translations/messages.en.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@ membership:
453453
membership_active: "Active membership, thank you for being part of the community!"
454454
membership_inactive: "Membership is not active"
455455
membership_cancelling: "Subscription has been canceled, membership is active until the end of the period"
456+
membership_expired: "Your membership expired"
456457
next_payment: "Next payment"
457458
membership_expiration: "Membership valid until"
458459
payment_portal_button: "Manage subscription (payment portal)"

0 commit comments

Comments
 (0)