small fixes
This commit is contained in:
parent
52fd00f323
commit
e4ad77461a
|
@ -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>
|
||||||
}
|
}
|
|
@ -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": {
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue