Register UIExtension features on Initialize for Device and User pages

This commit is contained in:
2026-04-27 10:18:18 +10:00
parent d6543cd552
commit 67b8bef414
+20 -2
View File
@@ -14,13 +14,31 @@ namespace Disco.Plugins.ADCompare
{ {
public override void Initialize(DiscoDataContext Database) public override void Initialize(DiscoDataContext Database)
{ {
// Plugin initialisation - nothing required at startup // Register UIExtension features so they appear on Device and User pages
foreach (var feature in Manifest.Features)
{
using (var instance = feature.CreateInstance())
{
var deviceExt = instance as Features.DeviceUIExtension;
if (deviceExt != null)
{
deviceExt.Register();
continue;
}
var userExt = instance as Features.UserUIExtension;
if (userExt != null)
{
userExt.Register();
continue;
}
}
}
} }
public override void Install(DiscoDataContext Database, ScheduledTaskStatus Status) public override void Install(DiscoDataContext Database, ScheduledTaskStatus Status)
{ {
Status.UpdateStatus(0, "Installing AD Compare Plugin..."); Status.UpdateStatus(0, "Installing AD Compare Plugin...");
// No database schema changes needed - we read-only compare
Status.UpdateStatus(100, "Installation Complete"); Status.UpdateStatus(100, "Installation Complete");
} }