Files
gh-christianlouis-leagueledger/app/templates/email/team_join_request.html
T
Christian Krakau-Louis 7323c12168 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.
2025-04-14 17:00:57 +02:00

87 lines
2.5 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Team Join Request - LeagueLedger</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.header {
background-color: #2D7738;
padding: 20px;
text-align: center;
color: white;
border-radius: 5px 5px 0 0;
}
.content {
padding: 20px;
border: 1px solid #ddd;
border-top: none;
border-radius: 0 0 5px 5px;
}
.button {
display: inline-block;
background-color: #2D7738;
color: white;
text-decoration: none;
padding: 10px 20px;
border-radius: 5px;
margin: 20px 0;
}
.button.approve {
background-color: #4CAF50;
}
.button.deny {
background-color: #f44336;
margin-left: 10px;
}
.footer {
margin-top: 20px;
font-size: 12px;
text-align: center;
color: #777;
}
</style>
</head>
<body>
<div class="header">
<h1>Team Join Request</h1>
</div>
<div class="content">
<p>Hello {{ captain_name }},</p>
<p><strong>{{ requester_name }}</strong> has requested to join your team <strong>{{ team_name }}</strong>.</p>
{% if message %}
<p>Message from {{ requester_name }}:<br><em>"{{ message }}"</em></p>
{% endif %}
<p>You can approve or deny this request by clicking one of the buttons below:</p>
<div style="margin: 30px 0; text-align: center;">
<a href="{{ approve_url }}" class="button approve">Approve Request</a>
<a href="{{ deny_url }}" class="button deny">Deny Request</a>
</div>
<p>Or you can copy and paste one of these links into your browser:</p>
<p>Approve: {{ approve_url }}</p>
<p>Deny: {{ deny_url }}</p>
<p>Best regards,<br>The LeagueLedger Team</p>
</div>
<div class="footer">
<p>© LeagueLedger. All rights reserved.</p>
<p>This is an automated message, please do not reply to this email.</p>
</div>
</body>
</html>