summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2019-04-07 20:20:37 +0200
committerDaniel Friesel <derf@finalrewind.org>2019-04-07 20:20:37 +0200
commitbeb17acb8440bb44f1070c2fb3b2e6cf7521f800 (patch)
treebbe052f289d841ecb1ca89426cbf39fbdfc2950a /templates
parentd4269a8fe4586e08577b66b5068b576e5ab36c7b (diff)
Prepare forms for manual journey entry and editing
Diffstat (limited to 'templates')
-rw-r--r--templates/add_journey.html.ep63
-rw-r--r--templates/edit_journey.html.ep94
-rw-r--r--templates/journey.html.ep10
3 files changed, 164 insertions, 3 deletions
diff --git a/templates/add_journey.html.ep b/templates/add_journey.html.ep
new file mode 100644
index 0000000..9ef00f5
--- /dev/null
+++ b/templates/add_journey.html.ep
@@ -0,0 +1,63 @@
+<h1>Zugfahrt eingeben</h1>
+% if ($error) {
+ <div class="row">
+ <div class="col s12">
+ <div class="card red darken-4">
+ <div class="card-content white-text">
+ <span class="card-title">Ungültige Eingabe</span>
+ <p><%= $error %></p>
+ </div>
+ </div>
+ </div>
+ </div>
+% }
+<div class="row">
+ <div class="col s12">
+ <ul>
+ <li>Eingabe des Zugs als „Zug Typ Nummer“ oder „Zug Nummer“, z.B.
+ „ICE 100“, „S 1 31133“ oder „ABR RE11 26720“</li>
+ <li>Zeitangaben im Format DD.MM.YYYY HH:MM</li>
+ </ul>
+ </div>
+</div>
+%= form_for '/journey/add' => (method => 'POST') => begin
+ %= csrf_field
+ <div class="row">
+ <div class="input-field col s12">
+ %= text_field 'train', id => 'train', class => 'validate', required => undef, pattern => '[0-9a-zA-Z]+ +[0-9a-zA-Z]* *[0-9]+'
+ <label for="train">Zug (Typ Linie Nummer)</label>
+ </div>
+ </div>
+ <div class="row">
+ <div class="input-field col s12">
+ %= text_field 'sched_departure', id => 'sched_departure', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ <label for="sched_departure">Geplante Abfahrt</label>
+ </div>
+ <div class="input-field col s12">
+ %= text_field 'rt_departure', id => 'rt_departure', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ <label for="rt_departure">Tatsächliche Abfahrt (optional)</label>
+ </div>
+ </div>
+ <div class="row">
+ <div class="input-field col s12">
+ %= text_field 'sched_arrival', id => 'sched_arrival', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ <label for="sched_arrival">Geplante Ankunft</label>
+ </div>
+ <div class="input-field col s12">
+ %= text_field 'rt_arrival', id => 'rt_arrival', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ <label for="rt_arrival">Tatsächliche Ankunft (optional)</label>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col s3 m3 l3">
+ </div>
+ <div class="col s6 m6 l6 center-align">
+ <button class="btn waves-effect waves-light" type="submit" name="action" value="save">
+ Hinzufügen
+ <i class="material-icons right">send</i>
+ </button>
+ </div>
+ <div class="col s3 m3 l3">
+ </div>
+ </div>
+%= end
diff --git a/templates/edit_journey.html.ep b/templates/edit_journey.html.ep
new file mode 100644
index 0000000..8fdc5b6
--- /dev/null
+++ b/templates/edit_journey.html.ep
@@ -0,0 +1,94 @@
+% if ($error and $error eq 'notfound') {
+ <div class="row">
+ <div class="col s12">
+ <div class="card red darken-4">
+ <div class="card-content white-text">
+ <span class="card-title">Fehler</span>
+ <p>Zugfahrt nicht gefunden.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+% }
+% else {
+ % if ($error) {
+ <div class="row">
+ <div class="col s12">
+ <div class="card red darken-4">
+ <div class="card-content white-text">
+ <span class="card-title">Ungültige Eingabe</span>
+ <p><%= $error %></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ % }
+ %= form_for '/journey/edit' => (method => 'POST') => begin
+ %= csrf_field
+ <div class="row">
+ <div class="col s12">
+ <p>
+ Fahrt von
+ <b><%= $journey->{from_name} %></b>
+ nach
+ <b><%= $journey->{to_name} %></b>
+ am
+ <b><%= $journey->{sched_departure}->strftime('%d.%m.%Y') %></b>
+ </p>
+ <table class="striped">
+ <tr>
+ <th scope="row">Zug</th>
+ <td>
+ <%= $journey->{type} %> <%= $journey->{no} %>
+ % if ($journey->{line}) {
+ (Linie <%= $journey->{line} %>)
+ % }
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Geplante Abfahrt</th>
+ <td>
+ %= text_field 'sched_departure', id => 'sched_departure', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Tatsächliche Abfahrt</th>
+ <td>
+ %= text_field 'rt_departure', id => 'real_departure', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Geplante Ankunft</th>
+ <td>
+ %= text_field 'sched_arrival', id => 'sched_arrival', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Tatsächliche Ankunft</th>
+ <td>
+ %= text_field 'rt_arrival', id => 'real_arrival', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9]'
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Route</th>
+ <td>
+ %= text_area 'route', id => 'route', cols => 40, rows => 20
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col s3 m3 l3">
+ </div>
+ <div class="col s6 m6 l6 center-align">
+ <button class="btn waves-effect waves-light" type="submit" name="action" value="save">
+ Speichern
+ <i class="material-icons right">send</i>
+ </button>
+ </div>
+ <div class="col s3 m3 l3">
+ </div>
+ </div>
+ %= end
+% }
diff --git a/templates/journey.html.ep b/templates/journey.html.ep
index 7483a14..3b84d67 100644
--- a/templates/journey.html.ep
+++ b/templates/journey.html.ep
@@ -129,8 +129,6 @@
</div>
</div>
<div class="row">
- <div class="col s3 m3 l3">
- </div>
<div class="col s6 m6 l6 center-align">
<a class="waves-effect waves-light red btn action-delete"
data-id="<%= join(q{,}, @{$journey->{ids}}) %>"
@@ -140,7 +138,13 @@
Löschen
</a>
</div>
- <div class="col s3 m3 l3">
+ <div class="col s6 m6 l6 center-align">
+ %= form_for '/journey/edit' => (method => 'POST') => begin
+ %= hidden_field 'journey_id' => param('journey_id')
+ <button class="btn waves-effect waves-light" type="submit" name="action" value="edit" disabled="disabled">
+ Bearbeiten
+ </button>
+ %= end
</div>
</div>
% }