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.
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`