Skip to content
Snippets Groups Projects
Unverified Commit 59ead195 authored by Hanspeter Spalinger's avatar Hanspeter Spalinger
Browse files

print transport sticker from transport tool

parent 4587216e
No related branches found
No related tags found
1 merge request!11print transport sticker from transport tool
......@@ -4,7 +4,10 @@
{% if transport %}
<h1 class="page-header">Transport Details</h1>
<p class="small">Ticket <a href="https://tickets.c3loc.de/#ticket/zoom/{{ transport.ticket_id }}" target="_blank">#{{ transport.ticket_id }}</a> </p>
<p class="small">
Ticket <a href="https://tickets.c3loc.de/#ticket/zoom/{{ transport.ticket_id }}" target="_blank">#{{ transport.ticket_id }}</a>
Print <a href="{{ url_for('sticker_transport', id=transport.id) }}" target="_blank">Transport Sticker</a>
</p>
<div class="row">
<div class="col-xs-3 col-sm-2">
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="shortcut icon" href="/static/gfx/list.jpg">
<title>{{ app_name }}</title>
{% block meta %}{% endblock %}
<link rel="stylesheet" type="text/css"
href="{{ url_for('static', filename='css/fa-v5.5.0-all.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ url_for('static', filename='css/bootstrap-4.1.1.min.css') }}"/>
<link rel="stylesheet" type="text/css"
href="{{ url_for('static', filename='css/dataTables-1.10.18.bootstrap4.min.css') }}"/>
<link rel="stylesheet" type="text/css"
href="{{ url_for('static', filename='css/main.css') }}"/>
<script type="text/javascript"
src="{{ url_for('static', filename='js/jquery-3.3.1.min.js') }}"></script>
<script type="text/javascript"
src="{{ url_for('static', filename='js/bootstrap-4.1.1.min.js') }}"></script>
<script type="text/javascript"
src="{{ url_for('static', filename='js/jquery.dataTables-1.10.18.min.js') }}"></script>
<script type="text/javascript"
src="{{ url_for('static', filename='js/dataTables-1.10.18.bootstrap4.min.js') }}"></script>
<style>
body{
width: 21cm;
height: 29.7cm;
margin: 30mm 45mm 30mm 45mm;
font-size: 2rem;
}
</style>
</head>
<body>
<div class="container" style="position:relative;height:100%;">
<h1>Transport Sticker</h1>
<p><strong>Inhalt:</strong><br/><div style="height:3em;border-bottom:solid 1px;"></div></p>
<p><strong>Ziel:</strong><br/><div style="border-bottom:solid 1px;">{{ transport.destination|nl2br }}</div></p>
<p><strong>Datum:</strong><br/><div style="border-bottom:solid 1px;">{{ transport.date|datetime }}, {{ transport.time }}</div></p>
<div class="container" style="position: absolute; bottom:1em;">
<div class="row">
<div class="col-sm">
<p>Transport Tool Link</p>
<img src=" {{ qrcode(url_for('show_transport', id=transport.id, _external=True)) }}" />
</div>
<div class="col-sm">
<p>Ticket Link</p>
<img src=" {{ qrcode('https://tickets.c3loc.de/#ticket/zoom/{}'.format(transport.ticket_id)) }}" />
</div>
</div>
</div>
</div>
</body>
</html>
......@@ -213,6 +213,23 @@ def show_transport(id=None):
return render_template('transport_details.html', transport=transport)
@app.route('/transports/sticker/<int:id>')
@login_required
def sticker_transport(id=None):
transport = Transport.query.get(id)
if transport is None or not (
transport.user_id == current_user.id or current_user.role in ['helpdesk', 'admin']):
transport = None
flash('Transport is not available')
else:
if transport.done:
flash('Transport is done', 'success')
elif transport.cancelled:
flash('Transport was cancelled!', 'danger')
return render_template('transport_sticker.html', transport=transport)
@app.route('/transports/mark/<mark>/<int:id>', methods=['GET', 'POST'])
@login_required
def mark_transport(mark, id=None):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment