Fix auth, Bootstrap, Blazor nav, LDAP, and deployment pipeline for working Central UI

Bootstrap served locally with absolute paths and <base href="/">.
LDAP auth uses search-then-bind with service account for GLAuth compatibility.
CookieAuthenticationStateProvider reads HttpContext.User instead of parsing JWT.
Login/logout forms opt out of Blazor enhanced nav (data-enhance="false").
Nav links use absolute paths; seed data includes Design/Deployment group mappings.
DataConnections page loads all connections (not just site-assigned).
Site appsettings configured for Test Plant A; Site registers with Central on startup.
DeploymentService resolves string site identifier for Akka routing.
Instances page gains Create Instance form.
This commit is contained in:
Joseph Doherty
2026-03-17 10:03:06 -04:00
parent 6fa4c101ab
commit 4879c4e01e
21 changed files with 265 additions and 92 deletions

View File

@@ -199,17 +199,15 @@
try
{
_sites = (await SiteRepository.GetAllSitesAsync()).ToList();
_connections = (await SiteRepository.GetAllDataConnectionsAsync()).ToList();
// Load all connections by iterating all sites and collecting unique connections
var allConnections = new Dictionary<int, DataConnection>();
// Load site assignments for each connection
_connectionSites.Clear();
foreach (var site in _sites)
{
var siteConns = await SiteRepository.GetDataConnectionsBySiteIdAsync(site.Id);
foreach (var conn in siteConns)
{
allConnections[conn.Id] = conn;
if (!_connectionSites.ContainsKey(conn.Id))
_connectionSites[conn.Id] = new List<SiteDataConnectionAssignment>();
@@ -218,8 +216,6 @@
_connectionSites[conn.Id].Add(assignment);
}
}
_connections = allConnections.Values.OrderBy(c => c.Name).ToList();
}
catch (Exception ex)
{