byceps/byceps

View on GitHub
byceps/blueprints/site/ticketing/templates/site/ticketing/view_printable_html.html

Summary

Maintainability
Test Coverage
{%- 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>