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

View file

@ -1,8 +1,10 @@
using JetBrains.Annotations;
using LBPUnion.ProjectLighthouse.Database;
using LBPUnion.ProjectLighthouse.Logging;
using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts;
using LBPUnion.ProjectLighthouse.Types.Entities.Moderation;
using LBPUnion.ProjectLighthouse.Types.Entities.Profile;
using LBPUnion.ProjectLighthouse.Types.Logging;
using LBPUnion.ProjectLighthouse.Types.Moderation.Cases;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
@ -14,7 +16,7 @@ public class BannedUserPage : BaseLayout
public BannedUserPage(DatabaseContext database) : base(database)
{ }
public ModerationCaseEntity ModCase = null!;
public ModerationCaseEntity? ModCase;
[UsedImplicitly]
public async Task<IActionResult> OnGet()
@ -30,7 +32,7 @@ public class BannedUserPage : BaseLayout
.Where(c => c.DismissedAt != null)
.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;