Initial commit: boarding pass to AirTrail pipeline
Photograph/screenshot a boarding pass, decode its BCBP barcode (PDF417/ Aztec/QR/DataMatrix), fetch the historical flight track from FlightAware the day after the flight, stage it for review, and write it into AirTrail via its REST API on approval. ntfy notifications carry signed Approve/Deny/Investigate actions.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}Settings — Boarding Pass{% endblock %}
|
||||
{% block content %}
|
||||
<h1>Settings</h1>
|
||||
|
||||
{% if message %}<div class="alert alert-success">{{ message }}</div>{% endif %}
|
||||
|
||||
<form method="post" class="card settings-form">
|
||||
<h2>Notifications (ntfy)</h2>
|
||||
<label>Server URL
|
||||
<input name="ntfy_server_url" value="{{ settings.ntfy_server_url }}" placeholder="https://ntfy.sh">
|
||||
</label>
|
||||
<label>Topic
|
||||
<input name="ntfy_topic" value="{{ settings.ntfy_topic }}" placeholder="boarding-pass-alerts">
|
||||
</label>
|
||||
<label>Auth token <span class="muted">(optional, for self-hosted ntfy)</span>
|
||||
<input name="ntfy_auth_token" value="{{ settings.ntfy_auth_token }}" type="password">
|
||||
</label>
|
||||
<label>Daily job run time (24h, container timezone)
|
||||
<input name="daily_run_time" value="{{ settings.daily_run_time }}" placeholder="03:00">
|
||||
</label>
|
||||
<div class="settings-actions">
|
||||
<button type="submit" name="action" value="save" class="btn btn-primary">Save settings</button>
|
||||
<button type="submit" name="action" value="test" class="btn btn-secondary">Send test notification</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user