diff --git a/bahnplan.web/Pages/Index.cshtml b/bahnplan.web/Pages/Index.cshtml
index e58e26e..2dddc88 100644
--- a/bahnplan.web/Pages/Index.cshtml
+++ b/bahnplan.web/Pages/Index.cshtml
@@ -1,8 +1,8 @@
@page
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
-@using bahnplan.web.database
@using LinqToDB
+@using bahnplan.web.database
@model IndexModel
@{
ViewData["Title"] = "Home";
@@ -27,6 +27,7 @@
@Html.Raw(dates) |
- @Html.Raw(legs.First().DepStation.PadRight(30, ' ').Substring(0, 30).Replace(" ", " ")) |
+ @Html.Raw(legs.First().DepStation.PadRight(30, ' ').Substring(0, 30).TrimEnd()) |
@((from index in from leg in legs where leg.TrainType == "placeholder" select legs.IndexOf(leg) select legs[index - 1].ArrStation).ToList().DefaultIfEmpty("-").Aggregate((s1, s2) => $"{s1}, {s2}"))
|
- @Html.Raw(legs.Last().ArrStation.PadRight(30, ' ').Substring(0, 30).Replace(" ", " ")) |
+ @Html.Raw(legs.Last().ArrStation.PadRight(30, ' ').Substring(0, 30).TrimEnd()) |
+
+ @Html.Raw(legs.Where(leg => !string.IsNullOrWhiteSpace(leg.Comment)).Select(p => p.Comment).DefaultIfEmpty("").Aggregate((s1, s2) => $"{s1} {s2}"))
+ |
View
|
diff --git a/bahnplan.web/Pages/Trip.cshtml b/bahnplan.web/Pages/Trip.cshtml
index 5b4d720..46cbf10 100644
--- a/bahnplan.web/Pages/Trip.cshtml
+++ b/bahnplan.web/Pages/Trip.cshtml
@@ -16,6 +16,11 @@
return;
}
+ if (Request.HasFormContentType) {
+ Response.Redirect(Request.GetEncodedUrl());
+ return;
+ }
+
if (Model.Legs.First().UserId != int.Parse(HttpContext.Session.GetString("uid"))) {
return;
}
@@ -64,6 +69,7 @@
Departure |
Arrival |
Train |
+ Comment |
@if (!Request.Query.ContainsKey("edit")) {
Actions |
}
@@ -79,6 +85,7 @@
|
|
|
+ |
@if (!Request.Query.ContainsKey("edit")) {
|
}
@@ -99,13 +106,18 @@
@date
- @dept @Html.Raw(leg.DepStation.PadRight(30, ' ').Substring(0, 30).Replace(" ", " "))
+ @dept @Html.Raw(leg.DepStation.PadRight(30, ' ').Substring(0, 30).TrimEnd())
|
- @arrt @Html.Raw(leg.ArrStation.PadRight(30, ' ').Substring(0, 30).Replace(" ", " "))
+ @arrt @Html.Raw(leg.ArrStation.PadRight(30, ' ').Substring(0, 30).TrimEnd())
|
@leg.TrainType @leg.TrainNr |
@if (!Request.Query.ContainsKey("edit")) {
+
+ @if (!string.IsNullOrWhiteSpace(leg.Comment)) {
+ @Html.Raw(leg.Comment)
+ }
+ |
@if (leg.TicketId != 0) {
Ticket
@@ -118,6 +130,12 @@
|
}
else {
+
+
+ |
@{
await using var db = new Database.DbConn();
diff --git a/bahnplan.web/Pages/Trip.cshtml.cs b/bahnplan.web/Pages/Trip.cshtml.cs
index d031a59..fa0b1ea 100644
--- a/bahnplan.web/Pages/Trip.cshtml.cs
+++ b/bahnplan.web/Pages/Trip.cshtml.cs
@@ -37,5 +37,22 @@ namespace bahnplan.web.Pages {
Legs = db.Legs.Where(p => p.TripId == int.Parse(Request.Query["id"])).OrderBy(p => p.DepTime).ToList();
}
+
+ public void OnPost() {
+ if (HttpContext.Session.GetString("authorized") != "true")
+ return;
+
+ using var db = new Database.DbConn();
+ if (!Request.Form.ContainsKey("comment"))
+ return;
+
+ var leg = db.Legs.First(p => p.LegId == int.Parse(Request.Form["id"]));
+ if (leg.UserId != int.Parse(HttpContext.Session.GetString("uid")))
+ return;
+
+ leg.Comment = Request.Form["comment"];
+
+ db.Update(leg);
+ }
}
}
\ No newline at end of file
diff --git a/bahnplan.web/database.db.example b/bahnplan.web/database.db.example
index 7f7c2b7..24bac5d 100644
Binary files a/bahnplan.web/database.db.example and b/bahnplan.web/database.db.example differ
diff --git a/bahnplan.web/database.example.sql b/bahnplan.web/database.example.sql
index f5da74d..265c27c 100644
--- a/bahnplan.web/database.example.sql
+++ b/bahnplan.web/database.example.sql
@@ -22,20 +22,6 @@ CREATE TABLE IF NOT EXISTS "TicketLegs" (
"ArrStation" TEXT NOT NULL,
"ArrTime" TEXT NOT NULL
);
-CREATE TABLE IF NOT EXISTS "Legs" (
- "LegID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
- "TripID" INTEGER NOT NULL,
- "UserID" INTEGER NOT NULL,
- "TrainType" TEXT NOT NULL,
- "TrainNr" INTEGER NOT NULL,
- "DepStationID" INTEGER NOT NULL,
- "DepStation" TEXT NOT NULL,
- "DepTime" TEXT NOT NULL,
- "ArrStationID" INTEGER NOT NULL,
- "ArrStation" TEXT NOT NULL,
- "ArrTime" TEXT NOT NULL,
- "TicketID" INTEGER
-);
CREATE TABLE IF NOT EXISTS "Tickets" (
"TicketID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
"UserID" INTEGER NOT NULL,
@@ -63,11 +49,26 @@ CREATE TABLE IF NOT EXISTS "Cards" (
"QRValidTo" TEXT NOT NULL,
"QRValidFrom" TEXT NOT NULL
);
+CREATE TABLE IF NOT EXISTS "Legs" (
+ "LegID" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
+ "TripID" INTEGER NOT NULL,
+ "UserID" INTEGER NOT NULL,
+ "TrainType" TEXT NOT NULL,
+ "TrainNr" INTEGER NOT NULL,
+ "DepStationID" INTEGER NOT NULL,
+ "DepStation" TEXT NOT NULL,
+ "DepTime" TEXT NOT NULL,
+ "ArrStationID" INTEGER NOT NULL,
+ "ArrStation" TEXT NOT NULL,
+ "ArrTime" TEXT NOT NULL,
+ "TicketID" INTEGER,
+ "Comment" TEXT
+);
DELETE FROM sqlite_sequence;
INSERT INTO sqlite_sequence VALUES('Trips',68);
INSERT INTO sqlite_sequence VALUES('Users',55);
INSERT INTO sqlite_sequence VALUES('TicketLegs',10);
-INSERT INTO sqlite_sequence VALUES('Legs',85);
INSERT INTO sqlite_sequence VALUES('Tickets',25);
INSERT INTO sqlite_sequence VALUES('Cards',10);
+INSERT INTO sqlite_sequence VALUES('Legs',0);
COMMIT;
diff --git a/bahnplan.web/database/Tables/Leg.cs b/bahnplan.web/database/Tables/Leg.cs
index de12218..a9488e0 100644
--- a/bahnplan.web/database/Tables/Leg.cs
+++ b/bahnplan.web/database/Tables/Leg.cs
@@ -29,5 +29,7 @@ namespace bahnplan.web.database.Tables {
[Column(Name = "ArrTime"), NotNull] public string ArrTime { get; set; }
[Column(Name = "TicketID")] public int TicketId { get; set; }
+
+ [Column(Name = "Comment")] public string Comment { get; set; }
}
}
\ No newline at end of file
diff --git a/bahnplan.web/wwwroot/css/site.css b/bahnplan.web/wwwroot/css/site.css
index e679a8e..356d15b 100644
--- a/bahnplan.web/wwwroot/css/site.css
+++ b/bahnplan.web/wwwroot/css/site.css
@@ -69,3 +69,7 @@ body {
white-space: nowrap;
line-height: 60px; /* Vertically center the text there */
}
+
+td {
+ vertical-align: middle !important;
+}
\ No newline at end of file
|