Implement team join request functionality with views and actions

- Added join_requests.html template for displaying pending join requests.
- Created join_team.html template for users to submit join requests.
- Implemented request_processed.html template to show the result of join request processing.
- Developed authentication utilities for user session management.
- Introduced convenience redirects for common URL patterns.
- Established team management routes and actions for creating, editing, and joining teams.
- Added functionality for approving and denying join requests with email notifications.
- Enhanced team views to include user permissions and team member details.
- Implemented utility functions for team-related operations such as calculating total points and team rank.
This commit is contained in:
Christian Krakau-Louis
2025-04-14 17:00:57 +02:00
parent 5cf3f944b1
commit 7323c12168
26 changed files with 2138 additions and 319 deletions
+8 -10
View File
@@ -45,27 +45,25 @@
</head>
<body>
<div class="header">
<h1>LeagueLedger Password Reset</h1>
<h1>Password Reset</h1>
</div>
<div class="content">
<p>Hello {{ username }},</p>
<p>We received a request to reset your password for your LeagueLedger account. If you didn't make this request, you can safely ignore this email.</p>
<p>We received a request to reset your password. If you didn't make this request, you can safely ignore this email.</p>
<p>To reset your password, please click the button below:</p>
<p>To reset your password, click the button below:</p>
<p style="text-align: center;">
<a href="{{ reset_link }}" class="button">Reset Password</a>
</p>
<div style="margin: 30px 0; text-align: center;">
<a href="{{ reset_url }}" class="button">Reset Password</a>
</div>
<p>Or copy and paste this link into your browser:</p>
<p>{{ reset_link }}</p>
<p>Or you can copy and paste this link into your browser:</p>
<p>{{ reset_url }}</p>
<p>This link will expire in 24 hours.</p>
<p>If you have any questions, please contact us at {{ support_email }}</p>
<p>Best regards,<br>The LeagueLedger Team</p>
</div>