Handle edge case bug in banned page (#801)

This commit is contained in:
koko 2023-06-17 00:12:46 -04:00 committed by GitHub
parent 73bb810678
commit bf2e36e8a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 16 deletions

View file

@ -17,16 +17,19 @@
</p> </p>
<p> <p>
<span> @if (Model.ModCase != null)
@if (Model.ModCase.ExpiresAt != null) {
{ <span>
@Model.Translate(ModerationStrings.SuspensionExpiration, TimeZoneInfo.ConvertTime(Model.ModCase.ExpiresAt.Value, timeZoneInfo).ToString("M/d/yyyy @ h:mm tt")) @if (Model.ModCase.ExpiresAt != null)
} {
else @Model.Translate(ModerationStrings.SuspensionExpiration, TimeZoneInfo.ConvertTime(Model.ModCase.ExpiresAt.Value, timeZoneInfo).ToString("M/d/yyyy @ h:mm tt"))
{ }
@Model.Translate(ModerationStrings.SuspensionExpiration, Model.Translate(ModerationStrings.DoesNotExpire)) else
} {
</span> @Model.Translate(ModerationStrings.SuspensionExpiration, Model.Translate(ModerationStrings.DoesNotExpire))
}
</span>
}
<ul> <ul>
<li>@Model.Translate(ModerationStrings.LbpOnlineMultiplayer)</li> <li>@Model.Translate(ModerationStrings.LbpOnlineMultiplayer)</li>
@ -36,10 +39,13 @@
</ul> </ul>
</p> </p>
<p> @if (Model.ModCase != null)
@Model.Translate(ModerationStrings.SuspensionReason, Model.ModCase.Reason) {
</p> <p>
@Model.Translate(ModerationStrings.SuspensionReason, Model.ModCase.Reason)
</p>
}
<p> <p>
@Model.Translate(ModerationStrings.SuspensionCircumventWarning) @Model.Translate(ModerationStrings.SuspensionCircumventWarning)
</p> </p>

View file

@ -1,8 +1,10 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using LBPUnion.ProjectLighthouse.Database; using LBPUnion.ProjectLighthouse.Database;
using LBPUnion.ProjectLighthouse.Logging;
using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts; using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts;
using LBPUnion.ProjectLighthouse.Types.Entities.Moderation; using LBPUnion.ProjectLighthouse.Types.Entities.Moderation;
using LBPUnion.ProjectLighthouse.Types.Entities.Profile; using LBPUnion.ProjectLighthouse.Types.Entities.Profile;
using LBPUnion.ProjectLighthouse.Types.Logging;
using LBPUnion.ProjectLighthouse.Types.Moderation.Cases; using LBPUnion.ProjectLighthouse.Types.Moderation.Cases;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
@ -14,7 +16,7 @@ public class BannedUserPage : BaseLayout
public BannedUserPage(DatabaseContext database) : base(database) public BannedUserPage(DatabaseContext database) : base(database)
{ } { }
public ModerationCaseEntity ModCase = null!; public ModerationCaseEntity? ModCase;
[UsedImplicitly] [UsedImplicitly]
public async Task<IActionResult> OnGet() public async Task<IActionResult> OnGet()
@ -30,7 +32,7 @@ public class BannedUserPage : BaseLayout
.Where(c => c.DismissedAt != null) .Where(c => c.DismissedAt != null)
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (modCase == null) return this.Redirect("~/"); if (modCase == null) Logger.Warn($"User {user.UserId} is banned but has no mod case?", LogArea.Login);
this.ModCase = modCase; this.ModCase = modCase;