small fixes

This commit is contained in:
Laura Hausmann 2020-06-13 07:30:56 +02:00
parent 52fd00f323
commit e4ad77461a
Signed by: zotan
GPG key ID: 5EC1D38FFC321311
4 changed files with 22 additions and 3 deletions

View file

@ -44,11 +44,11 @@
break; break;
} }
case "leg": { case "leg": {
Response.Redirect($"/Delete?item={Request.Query["item"]}&id={Request.Query["id"]}&confirm=true&redir={Request.Query["redir"]}"); Response.Redirect($"/Delete?item={Request.Query["item"]}&id={Request.Query["id"]}&confirm=true&redir={Request.Query["redir"].ToString().UrlEncode()}");
break; break;
} }
case "ticket": { case "ticket": {
Response.Redirect($"/Delete?item={Request.Query["item"]}&id={Request.Query["id"]}&confirm=true&redir={Request.Query["redir"]}"); Response.Redirect($"/Delete?item={Request.Query["item"]}&id={Request.Query["id"]}&confirm=true&redir={Request.Query["redir"].ToString().UrlEncode()}");
break; break;
} }
case "card": { case "card": {
@ -65,5 +65,5 @@
} }
</p> </p>
<a href="@Request.Query["redir"]" class="btn btn-sm btn-secondary">Cancel</a> <a href="@Request.Query["redir"]" class="btn btn-sm btn-secondary">Cancel</a>
<a href="/Delete?item=@Request.Query["item"]&id=@Request.Query["id"]&confirm=true&redir=@Request.Query["redir"]" class="btn btn-sm btn-danger">Confirm</a> <a href="/Delete?item=@Request.Query["item"]&id=@Request.Query["id"]&confirm=true&redir=@Request.Query["redir"].ToString().UrlEncode()" class="btn btn-sm btn-danger">Confirm</a>
} }

View file

@ -37,9 +37,15 @@ namespace bahnplan.web.Pages {
return; return;
var tripid = db.Legs.First(p => p.LegId == id).TripId; var tripid = db.Legs.First(p => p.LegId == id).TripId;
db.Legs.Delete(p => p.LegId == id); db.Legs.Delete(p => p.LegId == id);
if (!db.Legs.Any(p => p.TripId == tripid)) if (!db.Legs.Any(p => p.TripId == tripid))
db.Trips.Delete(p => p.TripId == tripid); db.Trips.Delete(p => p.TripId == tripid);
else if (db.Legs.Where(p => p.TripId == tripid).OrderBy(p => p.DepTime).First().DepTime.EndsWith("placeholder"))
db.Delete(db.Legs.Where(p => p.TripId == tripid).OrderBy(p => p.DepTime).First());
else if (db.Legs.Where(p => p.TripId == tripid).OrderByDescending(p => p.DepTime).First().DepTime.EndsWith("placeholder"))
db.Delete(db.Legs.Where(p => p.TripId == tripid).OrderByDescending(p => p.DepTime).First());
break; break;
} }
case "ticket": { case "ticket": {

View file

@ -16,11 +16,20 @@
return; return;
} }
if (Model.RedirToIndex) {
Response.Redirect("/");
}
if (Request.HasFormContentType) { if (Request.HasFormContentType) {
Response.Redirect(Request.GetEncodedUrl()); Response.Redirect(Request.GetEncodedUrl());
return; return;
} }
if (!Model.Legs.Any()) {
Response.Redirect("/");
return;
}
if (Model.Legs.First().UserId != int.Parse(HttpContext.Session.GetString("uid"))) { if (Model.Legs.First().UserId != int.Parse(HttpContext.Session.GetString("uid"))) {
return; return;
} }

View file

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
namespace bahnplan.web.Pages { namespace bahnplan.web.Pages {
public class TripModel : PageModel { public class TripModel : PageModel {
public List<Leg> Legs; public List<Leg> Legs;
public bool RedirToIndex;
public void OnGet() { public void OnGet() {
if (HttpContext.Session.GetString("authorized") != "true") if (HttpContext.Session.GetString("authorized") != "true")
@ -35,6 +36,9 @@ namespace bahnplan.web.Pages {
return; return;
} }
if (!db.Legs.Any(p => p.TripId == int.Parse(Request.Query["id"])))
RedirToIndex = true;
Legs = db.Legs.Where(p => p.TripId == int.Parse(Request.Query["id"])).OrderBy(p => p.DepTime).ToList(); Legs = db.Legs.Where(p => p.TripId == int.Parse(Request.Query["id"])).OrderBy(p => p.DepTime).ToList();
} }