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;
}
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;
}
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;
}
case "card": {
@ -65,5 +65,5 @@
}
</p>
<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;
var tripid = db.Legs.First(p => p.LegId == id).TripId;
db.Legs.Delete(p => p.LegId == id);
if (!db.Legs.Any(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;
}
case "ticket": {

View file

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

View file

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
namespace bahnplan.web.Pages {
public class TripModel : PageModel {
public List<Leg> Legs;
public bool RedirToIndex;
public void OnGet() {
if (HttpContext.Session.GetString("authorized") != "true")
@ -35,6 +36,9 @@ namespace bahnplan.web.Pages {
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();
}