2019-03-07 18:36:11 +01:00
|
|
|
% if (is_user_authenticated()) {
|
2022-08-04 14:07:25 +02:00
|
|
|
% my $status = stash('user_status');
|
2019-03-16 21:49:47 +01:00
|
|
|
% if (stash('error')) {
|
|
|
|
<div class="row">
|
|
|
|
<div class="col s12">
|
2019-05-16 15:02:17 +02:00
|
|
|
<div class="card caution-color">
|
2019-03-16 21:49:47 +01:00
|
|
|
<div class="card-content white-text">
|
|
|
|
<span class="card-title">Backend-Fehler</span>
|
|
|
|
<p><%= stash('error') %></p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
% }
|
2019-03-07 18:36:11 +01:00
|
|
|
<div class="row">
|
2019-04-23 22:27:13 +02:00
|
|
|
<div class="col s12 statuscol">
|
2019-03-07 18:36:11 +01:00
|
|
|
% if ($status->{checked_in}) {
|
2019-04-24 09:00:30 +02:00
|
|
|
%= include '_checked_in', journey => $status;
|
2019-03-07 18:36:11 +01:00
|
|
|
% }
|
2019-03-19 18:20:05 +01:00
|
|
|
% elsif ($status->{cancelled}) {
|
2019-05-16 15:02:17 +02:00
|
|
|
<div class="card info-color">
|
2019-03-19 18:20:05 +01:00
|
|
|
<div class="card-content">
|
|
|
|
<span class="card-title">Zugausfall dokumentieren</span>
|
|
|
|
<p>Prinzipiell wärest du nun eingecheckt in
|
|
|
|
<%= $status->{train_type} %> <%= $status->{train_no} %>
|
2019-05-16 20:51:31 +02:00
|
|
|
ab <%= $status->{dep_name} %>, doch dieser Zug fällt aus.
|
2019-03-19 18:20:05 +01:00
|
|
|
</p>
|
|
|
|
<p>Falls du den Zugausfall z.B. für ein Fahrgastrechteformular
|
2019-09-18 18:08:06 +02:00
|
|
|
dokumentieren möchtest, wähle bitte jetzt die geplante
|
|
|
|
Zielstation aus.</p>
|
2019-03-19 18:20:05 +01:00
|
|
|
<table>
|
|
|
|
<tbody>
|
|
|
|
% my $is_after = 0;
|
|
|
|
% for my $station (@{$status->{route_after}}) {
|
2019-05-26 17:28:21 +02:00
|
|
|
<tr><td><a class="action-cancelled-to" data-station="<%= $station->[0] %>"><%= $station->[0] %></a></td></tr>
|
2019-03-19 18:20:05 +01:00
|
|
|
% }
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2019-04-23 18:08:07 +02:00
|
|
|
<div class="card-action">
|
|
|
|
<a class="action-undo" data-id="in_transit">
|
|
|
|
<i class="material-icons">undo</i> Checkinversuch Rückgängig?
|
|
|
|
</a>
|
|
|
|
</div>
|
2019-03-19 18:20:05 +01:00
|
|
|
</div>
|
|
|
|
% }
|
2019-03-07 18:36:11 +01:00
|
|
|
% else {
|
2019-05-16 15:02:17 +02:00
|
|
|
<div class="card">
|
|
|
|
<div class="card-content">
|
2020-11-21 10:35:18 +01:00
|
|
|
<span class="card-title">Hallo, <%= current_user->{name} %>!</span>
|
2019-03-07 18:36:11 +01:00
|
|
|
<p>Du bist gerade nicht eingecheckt.</p>
|
|
|
|
<div class="geolocation">
|
2019-05-16 15:02:17 +02:00
|
|
|
<button class="btn waves-effect waves-light btn-flat">Stationen in der Umgebung abfragen</button>
|
2019-03-07 18:36:11 +01:00
|
|
|
</div>
|
2019-03-16 21:33:19 +01:00
|
|
|
%= form_for 'list_departures' => begin
|
2019-03-16 21:49:47 +01:00
|
|
|
<div class="input-field">
|
2020-10-17 14:18:39 +02:00
|
|
|
%= text_field 'station', id => 'station', class => 'autocomplete contrast-color-text', autocomplete => 'off', required => undef
|
2019-03-16 21:33:19 +01:00
|
|
|
<label for="station">Manuelle Eingabe (Name oder DS100)</label>
|
|
|
|
</div>
|
|
|
|
<div class="center-align">
|
2019-05-16 15:02:17 +02:00
|
|
|
<button class="btn waves-effect waves-light btn-flat" type="submit" name="action" value="departures">
|
2020-01-28 20:26:15 +01:00
|
|
|
<i class="material-icons left" aria-hidden="true">send</i>
|
2019-03-16 21:33:19 +01:00
|
|
|
Abfahrten
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
%= end
|
2018-10-07 11:35:47 +02:00
|
|
|
</div>
|
2018-09-02 21:41:33 +02:00
|
|
|
</div>
|
2019-03-07 18:36:11 +01:00
|
|
|
% }
|
|
|
|
</div>
|
2018-09-02 21:41:33 +02:00
|
|
|
</div>
|
2019-03-07 18:36:11 +01:00
|
|
|
<h1>Letzte Fahrten</h1>
|
2020-11-21 10:35:18 +01:00
|
|
|
%= include '_history_trains', date_format => '%d.%m', journeys => [journeys->get(uid => current_user->{id}, limit => 5, with_datetime => 1)];
|
2019-03-07 18:36:11 +01:00
|
|
|
% }
|
|
|
|
% else {
|
2019-03-08 17:16:19 +01:00
|
|
|
<div class="row">
|
|
|
|
<div class="col s12">
|
|
|
|
<p>
|
|
|
|
Travelynx erlaubt das Einchecken in Züge im Netz der Deutschen
|
|
|
|
Bahn. So können die eigenen Fahrten später inklusive Echtzeitdaten
|
|
|
|
und eingetragenen Servicemeldungen nachvollzogen und brennende
|
|
|
|
Fragen wie „Wie viele Stunden habe ich letzten Monat im Zug
|
2022-04-17 19:06:32 +02:00
|
|
|
verbracht?“ beantwortet werden.
|
2019-03-08 17:16:19 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Die Idee dazu kommt von <a
|
2019-05-11 15:45:16 +02:00
|
|
|
href="https://traewelling.de/">Träwelling</a>.
|
2019-03-16 14:36:35 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Features:
|
|
|
|
<ul>
|
|
|
|
<li>Protokoll von Fahrplan- und Echtzeitdaten an Start- und
|
|
|
|
Zielbahnhof</li>
|
2020-02-26 20:38:01 +01:00
|
|
|
<li>Web-Hooks und <a href="/api">API</a> zum automatisierten Einchecken und Auslesen des aktuellen Status</li>
|
2019-04-06 21:32:18 +02:00
|
|
|
<li>Statistiken über Reisezeiten und Verspätungen</li>
|
2019-09-16 17:20:37 +02:00
|
|
|
<li>Unterstützung beim Ausfüllen von Fahrgastrechteformularen</li>
|
2020-10-04 12:50:41 +02:00
|
|
|
<li>Optional: Öffentliches Profil und Reisestatus</li>
|
|
|
|
<li>Optional: Verknüpfung mit Träwelling</li>
|
2019-03-16 14:36:35 +01:00
|
|
|
</ul>
|
2019-03-08 17:16:19 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Travelynx ist ein kostenfreies, privat betriebenes Projekt ohne
|
|
|
|
Verfügbarkeitsgarantie. Unangekündigte Downtimes oder eine
|
|
|
|
kurzfristige Einstellung dieser Seite sind nicht vorgesehen, aber
|
|
|
|
möglich. Wer mag, kann auch den
|
|
|
|
<a href="https://finalrewind.org/projects/travelynx">Quelltext</a>
|
2019-03-16 14:36:35 +01:00
|
|
|
laden und eine eigene Instanz aufsetzen.
|
2019-03-08 17:16:19 +01:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col s1 m1 l3">
|
|
|
|
</div>
|
|
|
|
<div class="col s10 m10 l6 center-align">
|
2021-09-12 08:15:59 +02:00
|
|
|
% if (not app->config->{registration}{disabled}) {
|
|
|
|
<a href="/register" class="waves-effect waves-light btn"><i class="material-icons left" aria-hidden="true">add</i>Registrieren</a>
|
|
|
|
% }
|
2020-09-05 14:15:50 +02:00
|
|
|
<a href="/login" class="waves-effect waves-light btn"><i class="material-icons left" aria-hidden="true">account_circle</i>Anmelden</a>
|
2019-03-08 17:16:19 +01:00
|
|
|
</div>
|
|
|
|
<div class="col s1 m1 l3">
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-03-07 18:36:11 +01:00
|
|
|
% }
|
2019-04-30 18:18:09 +02:00
|
|
|
|
2019-04-30 18:24:30 +02:00
|
|
|
%= include '_footer', version => stash('version')
|