mirror of
https://github.com/wega-team/ss14-wega.git
synced 2026-06-09 10:06:49 +02:00
29b7fc4463
Ban database refactor (#42495) * Ban DB refactor seems to work at a basic level for PostgreSQL * New ban creation API Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban). * Make the migration irreversible * Re-implement ban notifications The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server. * Fix some split query warnings * Implement migration on SQLite * More comments * Remove required from ban reason SS14.Admin changes would like this * More missing AsSplitQuery() calls * Fix missing ban type filter * Fix old CreateServerBan API with permanent time * Fix department and role ban commands with permanent time * Re-add banhits navigation property Dropped this on accident, SS14.Admin needs it. * More ban API fixes. * Don't fetch ban exemption info for role bans Not relevant, reduces query performance * Regenerate migrations * Fix adminnotes command for players that never connected Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it. * Great shame... I accidentally committed submodule update... * Update GDPR scripts * Fix sandbox violation * Fix bans with duplicate info causing DB exceptions Most notably happened with role bans, as multiple departments may include the same role.
39 lines
955 B
C#
39 lines
955 B
C#
using Content.Shared.Administration.BanList;
|
|
using Robust.Client.AutoGenerated;
|
|
using Robust.Client.UserInterface.Controls;
|
|
using Robust.Client.UserInterface.XAML;
|
|
using static Robust.Client.UserInterface.Controls.BaseButton;
|
|
|
|
namespace Content.Client.Administration.UI.BanList.Bans;
|
|
|
|
[GenerateTypedNameReferences]
|
|
public sealed partial class BanListLine : BoxContainer, IBanListLine<SharedBan>
|
|
{
|
|
public SharedBan Ban { get; }
|
|
|
|
public event Action<BanListLine>? IdsClicked;
|
|
|
|
public BanListLine(SharedBan ban)
|
|
{
|
|
RobustXamlLoader.Load(this);
|
|
|
|
Ban = ban;
|
|
IdsHidden.OnPressed += IdsPressed;
|
|
|
|
BanListEui.SetData(this, ban);
|
|
}
|
|
|
|
private void IdsPressed(ButtonEventArgs buttonEventArgs)
|
|
{
|
|
IdsClicked?.Invoke(this);
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
base.Dispose(disposing);
|
|
|
|
IdsHidden.OnPressed -= IdsPressed;
|
|
IdsClicked = null;
|
|
}
|
|
}
|