feat(07-07): add UserAccessAuditTabItem to MainWindow and wire dialog factory

- Add UserAccessAuditTabItem to MainWindow.xaml TabControl before SettingsTabItem
- Wire UserAccessAuditView content and SitePickerDialog factory in MainWindow.xaml.cs
This commit is contained in:
Dev
2026-04-07 12:53:04 +02:00
parent 2ed8a0cb12
commit df796ee956
2 changed files with 18 additions and 0 deletions

View File

@@ -75,6 +75,10 @@
<TabItem x:Name="TemplatesTabItem"
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.templates]}">
</TabItem>
<!-- Phase 7: User Access Audit tab: content set from code-behind via DI-resolved UserAccessAuditView -->
<TabItem x:Name="UserAccessAuditTabItem"
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.userAccessAudit]}">
</TabItem>
<!-- Settings tab: content set from code-behind via DI-resolved SettingsView -->
<TabItem x:Name="SettingsTabItem"
Header="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[tab.settings]}">

View File

@@ -47,6 +47,20 @@ public partial class MainWindow : Window
FolderStructureTabItem.Content = serviceProvider.GetRequiredService<FolderStructureView>();
TemplatesTabItem.Content = serviceProvider.GetRequiredService<TemplatesView>();
// Phase 7: User Access Audit
var auditView = serviceProvider.GetRequiredService<UserAccessAuditView>();
UserAccessAuditTabItem.Content = auditView;
// Wire site picker dialog factory for audit tab (same pattern as PermissionsView)
if (auditView.DataContext is ViewModels.Tabs.UserAccessAuditViewModel auditVm)
{
auditVm.OpenSitePickerDialog = () =>
{
var factory = serviceProvider.GetRequiredService<Func<TenantProfile, SitePickerDialog>>();
return factory(auditVm.CurrentProfile ?? new TenantProfile());
};
}
// Replace Settings tab placeholder with the DI-resolved SettingsView
SettingsTabItem.Content = serviceProvider.GetRequiredService<SettingsView>();