Files
Sharepoint-Toolbox/.planning/phases/07-user-access-audit/07-09-PLAN.md
2026-04-08 10:57:27 +02:00

7.0 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, gap_closure, source_gaps, must_haves
phase plan type wave depends_on files_modified autonomous requirements gap_closure source_gaps must_haves
07-user-access-audit 09 execute 6
07-05
SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml
true
UACC-01
UACC-02
true
Gap 1: Missing DataGrid visual indicators (guest badge + warning icon)
Gap 2: Missing ObjectType column in DataGrid
truths artifacts key_links
High-privilege entries show a warning icon (⚠) in the Permission Level column cell template
External users show a guest badge (👤 Guest) in the User column cell template when IsExternalUser is true
DataGrid columns include Object Type bound to ObjectType between Object and Permission Level
path provides contains
SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml DataGrid with visual indicators for high-privilege/external users and ObjectType column IsExternalUser DataTrigger, IsHighPrivilege warning icon, ObjectType column
from to via pattern
SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml SharepointToolbox/Core/Models/UserAccessEntry.cs Bindings on IsExternalUser, IsHighPrivilege, ObjectType properties DataTrigger Binding
Add missing visual indicators and ObjectType column to the UserAccessAuditView DataGrid.

Purpose: Close verification gaps 1 and 2 — the XAML currently lacks per-row guest badges for external users, warning icons for high-privilege entries, and the ObjectType column. Output: Updated UserAccessAuditView.xaml with all three additions.

<execution_context> @C:/Users/dev/.claude/get-shit-done/workflows/execute-plan.md @C:/Users/dev/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/phases/07-user-access-audit/07-CONTEXT.md @.planning/phases/07-user-access-audit/07-05-SUMMARY.md @.planning/phases/07-user-access-audit/07-VERIFICATION.md From SharepointToolbox/Core/Models/UserAccessEntry.cs: ```csharp public record UserAccessEntry( string UserDisplayName, string UserLogin, string SiteUrl, string SiteTitle, string ObjectType, string ObjectTitle, string ObjectUrl, string PermissionLevel, AccessType AccessType, string GrantedThrough, bool IsHighPrivilege, bool IsExternalUser); ```

Current columns: User (UserLogin), Site (SiteTitle), Object (ObjectTitle), Permission Level (PermissionLevel), Access Type (template), Granted Through (GrantedThrough). Missing: ObjectType column, guest badge in User column, warning icon in Permission Level column.

Task 1: Add guest badge, warning icon, and ObjectType column to DataGrid SharepointToolbox/Views/Tabs/UserAccessAuditView.xaml Modify the DataGrid columns section (lines 219-249) with three changes:
**Change 1 — Convert User column to DataGridTemplateColumn with guest badge:**
Replace the plain `DataGridTextColumn Header="User"` with a `DataGridTemplateColumn`:
```xml
<DataGridTemplateColumn Header="User" Width="180">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <TextBlock Text="{Binding UserLogin}" VerticalAlignment="Center" />
        <Border Background="#F39C12" CornerRadius="3" Padding="4,1" Margin="6,0,0,0"
                VerticalAlignment="Center">
          <Border.Style>
            <Style TargetType="Border">
              <Setter Property="Visibility" Value="Collapsed" />
              <Style.Triggers>
                <DataTrigger Binding="{Binding IsExternalUser}" Value="True">
                  <Setter Property="Visibility" Value="Visible" />
                </DataTrigger>
              </Style.Triggers>
            </Style>
          </Border.Style>
          <TextBlock Text="Guest" FontSize="10" Foreground="White" FontWeight="SemiBold" />
        </Border>
      </StackPanel>
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
```

**Change 2 — Convert Permission Level column to DataGridTemplateColumn with warning icon:**
Replace the plain `DataGridTextColumn Header="Permission Level"` with a `DataGridTemplateColumn`:
```xml
<DataGridTemplateColumn Header="Permission Level" Width="140">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <TextBlock Text="⚠" Foreground="#E74C3C" Margin="0,0,4,0"
                   FontSize="12" VerticalAlignment="Center">
          <TextBlock.Style>
            <Style TargetType="TextBlock">
              <Setter Property="Visibility" Value="Collapsed" />
              <Style.Triggers>
                <DataTrigger Binding="{Binding IsHighPrivilege}" Value="True">
                  <Setter Property="Visibility" Value="Visible" />
                </DataTrigger>
              </Style.Triggers>
            </Style>
          </TextBlock.Style>
        </TextBlock>
        <TextBlock Text="{Binding PermissionLevel}" VerticalAlignment="Center" />
      </StackPanel>
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
```

**Change 3 — Add ObjectType column between Object and Permission Level:**
```xml
<DataGridTextColumn Header="Object Type" Binding="{Binding ObjectType}" Width="90" />
```

Insert this column after the "Object" column and before the "Permission Level" column.

Final column order: User (with guest badge), Site, Object, Object Type, Permission Level (with ⚠ icon), Access Type, Granted Through.
cd "C:\Users\dev\Documents\projets\Sharepoint" && dotnet build SharepointToolbox/SharepointToolbox.csproj --no-restore 2>&1 | tail -5 DataGrid now shows: guest badge on external user rows (orange "Guest" pill), warning icon (⚠) on high-privilege permission levels, and ObjectType column showing Site Collection/Site/List/Folder distinction. - `dotnet build SharepointToolbox/SharepointToolbox.csproj` — XAML compiles without errors - Visual inspection: DataGrid columns order is User (with guest badge), Site, Object, Object Type, Permission Level (with ⚠), Access Type, Granted Through - Guest badge visible only when IsExternalUser=true - Warning icon visible only when IsHighPrivilege=true

<success_criteria> The DataGrid shows guest badges for external users, warning icons for high-privilege entries, and the ObjectType column — closing verification gaps 1 and 2. </success_criteria>

After completion, create `.planning/phases/07-user-access-audit/07-09-SUMMARY.md`