byceps/blueprints/site/ticketing/templates/site/ticketing/view_printable_html.html
{%- from 'macros/user.html' import render_user_screen_name -%}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Ticket {{ ticket_code }} – {{ party_title }}</title>
<style>
body {
font-family: sans-serif;
}
@page {
color: #333;
margin: 1cm;
size: A4;
}
.ticket {
align-items: flex-start;
border: #bbb solid 0.25pt;
display: flex;
flex-direction: column;
padding: 1cm;
}
h1 {
margin-top: 0;
}
h2 {
margin-bottom: 0.5rem;
}
.subtitle {
font-size: 1.4rem;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
th,
td {
padding: 0.25rem 1em 0.25rem 0;
text-align: left;
vertical-align: top;
}
.dimmed {
opacity: 0.5;
}
{% include 'site/ticketing/_printable_html_styles.html' ignore missing %}
</style>
</head>
<body>
<div class="ticket">
<div class="party-logo"></div>
<h1>
Ticket {{ ticket_code }}<br>
<span class="dimmed subtitle">{{ party_title }}</span>
</h1>
<img src="data:image/svg+xml,{{ barcode_svg_inline|safe }}">
<h2>Nutzer/in</h2>
<table>
<tr>
<th>Nickname:</th>
<td>{{ render_user_screen_name(ticket_user) if ticket_user else 'nicht zugewiesen'|dim }}</td>
</tr>
<tr>
<th>Name:</th>
<td>{{ ticket_user.detail.full_name if ticket_user else 'nicht zugewiesen'|dim }}</td>
</tr>
</table>
<h2>Käufer/in</h2>
<table>
<tr>
<th>Nickname:</th>
<td>{{ render_user_screen_name(ticket_owner) }}</td>
</tr>
<tr>
<th>Name:</th>
<td>{{ ticket_owner.detail.full_name }}</td>
</tr>
</table>
<h2>Kategorie</h2>
<div>{{ ticket_category_title }}</div>
<h2>Sitzplatz</h2>
<div>{{ occupied_seat.label|fallback('unbenannt') if occupied_seat else 'nicht zugewiesen'|dim }}</div>
</div>
</body>
</html>