Role ban UI updates (#16736)

This commit is contained in:
metalgearsloth
2023-05-27 14:22:22 +10:00
committed by GitHub
parent 4f678e0f25
commit be14380520
11 changed files with 255 additions and 120 deletions

View File

@@ -9,6 +9,10 @@ namespace Content.Server.Administration.Commands;
[AdminCommand(AdminFlags.Ban)]
public sealed class DepartmentBanCommand : IConsoleCommand
{
[Dependency] private readonly IPlayerLocator _locater = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly RoleBanManager _bans = default!;
public string Command => "departmentban";
public string Description => Loc.GetString("cmd-departmentban-desc");
public string Help => Loc.GetString("cmd-departmentban-help");
@@ -46,19 +50,25 @@ public sealed class DepartmentBanCommand : IConsoleCommand
return;
}
var protoManager = IoCManager.Resolve<IPrototypeManager>();
if (!protoManager.TryIndex<DepartmentPrototype>(department, out var departmentProto))
if (!_protoManager.TryIndex<DepartmentPrototype>(department, out var departmentProto))
{
return;
}
var banManager = IoCManager.Resolve<RoleBanManager>();
var located = await _locater.LookupIdByNameOrIdAsync(target);
if (located == null)
{
shell.WriteError(Loc.GetString("cmd-roleban-name-parse"));
return;
}
foreach (var job in departmentProto.Roles)
{
banManager.CreateJobBan(shell, target, job, reason, minutes);
_bans.CreateJobBan(shell, located, job, reason, minutes);
}
_bans.SendRoleBans(located);
}
public CompletionResult GetCompletion(IConsoleShell shell, string[] args)