Skip to content

Commit a57c115

Browse files
authored
Merge pull request #772 from Blazam-App/v1-Nightly
V1 nightly
2 parents 4614cb7 + b5242b9 commit a57c115

20 files changed

+219
-222
lines changed

BLAZAM/BLAZAM.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ImplicitUsings>enable</ImplicitUsings>
77
<ServerGarbageCollection>false</ServerGarbageCollection>
88
<AssemblyVersion>1.2.6</AssemblyVersion>
9-
<Version>2025.01.25.0042</Version>
9+
<Version>2025.01.25.1419</Version>
1010
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
1111
<RootNamespace>BLAZAM</RootNamespace>
1212
<GenerateDocumentationFile>True</GenerateDocumentationFile>
@@ -117,6 +117,10 @@
117117
</Content>
118118
</ItemGroup>
119119

120+
<ItemGroup>
121+
<None Include="..\BLAZAMGui\UI\Groups\DirectoryEntryTypeIcon.razor" Link="DirectoryEntryTypeIcon.razor" />
122+
</ItemGroup>
123+
120124
<ItemGroup>
121125
<Compile Update="Properties\Resources.Designer.cs">
122126
<DesignTime>True</DesignTime>

BLAZAMDatabase/Models/User/UserFavoriteEntry.cs

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ public override bool Equals(AppDbSetBase? other)
3030
public bool Equals(UserFavoriteEntry? other)
3131
{
3232
return other is not null &&
33-
base.Equals(other) &&
3433
DN == other.DN &&
3534
UserId == other.UserId;
3635
}

BLAZAMGui/UI/Dashboard/Widgets/ChangedEntriesWidget.razor

+9-19
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,18 @@
1818
<Columns>
1919
<TemplateColumn Style="width:100px;" Title=@AppLocalization["Type"]>
2020
<CellTemplate>
21-
<AppTooltip Text="@AppLocalization[context.Item.ObjectType.ToString()]">
22-
<MudIcon Icon="@context.Item.TypeIcon()" />
23-
</AppTooltip>
21+
<DirectoryEntryTypeIcon Entry=context.Item />
22+
2423
</CellTemplate>
2524
</TemplateColumn>
2625
<TemplateColumn Title=@AppLocalization["Name"]>
2726
<CellTemplate>
28-
<MudContextMenu>
29-
30-
<ChildContent>
31-
32-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
33-
<MudText>@context.Item?.CanonicalName</MudText>
34-
</AppTooltip>
35-
36-
</ChildContent>
37-
<MenuContents>
38-
39-
<DirectoryEntryContextMenuItems Entry="@context.Item" />
40-
41-
</MenuContents>
42-
</MudContextMenu>
27+
<DirectoryEntryContextMenu Entry="@context.Item"
28+
OnChanged="RefreshData">
29+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
30+
<MudText>@context.Item?.CanonicalName</MudText>
31+
</AppTooltip>
32+
</DirectoryEntryContextMenu>
4333
</CellTemplate>
4434
</TemplateColumn>
4535
<TemplateColumn Title=@AppLocalization["Changed"]>
@@ -79,5 +69,5 @@
7969

8070
}
8171

82-
72+
8373
}

BLAZAMGui/UI/Dashboard/Widgets/ChangedPasswordsWidget.razor

+9-18
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,12 @@
1919
<Columns>
2020
<TemplateColumn Title=@AppLocalization["Name"]>
2121
<CellTemplate>
22-
<MudContextMenu>
23-
24-
<ChildContent>
25-
26-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
27-
<MudText>@context.Item?.CanonicalName</MudText>
28-
</AppTooltip>
29-
30-
</ChildContent>
31-
<MenuContents>
32-
33-
<DirectoryEntryContextMenuItems Entry="@context.Item" />
34-
35-
</MenuContents>
36-
</MudContextMenu>
22+
<DirectoryEntryContextMenu Entry="@context.Item"
23+
OnChanged="RefreshData">
24+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
25+
<MudText>@context.Item?.CanonicalName</MudText>
26+
</AppTooltip>
27+
</DirectoryEntryContextMenu>
3728
</CellTemplate>
3829
</TemplateColumn>
3930
<TemplateColumn Title=@AppLocalization["Password changed"]>
@@ -45,7 +36,7 @@
4536
</Columns>
4637
<PagerContent>
4738
<MudDataGridPager PageSizeOptions=[5,10,25,50,100] T="IDirectoryEntryAdapter" />
48-
</PagerContent>
39+
</PagerContent>
4940
<NoRecordsContent>
5041
<MudText>@AppLocalization["No matching entries"]</MudText>
5142
</NoRecordsContent>
@@ -56,11 +47,11 @@
5647
@code {
5748
List<IADUser> LockedUsers = new();
5849

59-
50+
6051
protected override async Task RefreshData()
6152
{
6253
LoadingData = true;
63-
LockedUsers = (await Directory.Users.FindChangedPasswordUsersAsync(false)).Where(u=>u.CanRead).ToList();
54+
LockedUsers = (await Directory.Users.FindChangedPasswordUsersAsync(false)).Where(u => u.CanRead).ToList();
6455
LoadingData = false;
6556

6657
}

BLAZAMGui/UI/Dashboard/Widgets/FavoritesWidget.razor

+12-21
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,18 @@
1919
<Columns>
2020
<TemplateColumn Style="width:100px;" Title=@AppLocalization["Type"]>
2121
<CellTemplate>
22-
<AppTooltip Text="@AppLocalization[context.Item.ObjectType.ToString()]">
23-
<MudIcon Icon="@context.Item.TypeIcon()" />
24-
</AppTooltip>
22+
<DirectoryEntryTypeIcon Entry=context.Item />
23+
2524
</CellTemplate>
2625
</TemplateColumn>
2726
<TemplateColumn Title=@AppLocalization["Name"]>
2827
<CellTemplate>
29-
<MudContextMenu>
30-
31-
<ChildContent>
32-
33-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
34-
<MudText>@context.Item?.CanonicalName</MudText>
35-
</AppTooltip>
36-
37-
</ChildContent>
38-
<MenuContents>
39-
40-
<DirectoryEntryContextMenuItems Entry="@context.Item" />
41-
42-
</MenuContents>
43-
</MudContextMenu>
28+
<DirectoryEntryContextMenu Entry="@context.Item"
29+
OnChanged="RefreshData">
30+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
31+
<MudText>@context.Item?.CanonicalName</MudText>
32+
</AppTooltip>
33+
</DirectoryEntryContextMenu>
4434
</CellTemplate>
4535
</TemplateColumn>
4636
<TemplateColumn Title=@AppLocalization["Changed"]>
@@ -72,7 +62,8 @@
7262
protected override async Task RefreshData()
7363
{
7464
LoadingData = true;
75-
await Task.Run(() => {
65+
await Task.Run(() =>
66+
{
7667
var favorites = new List<IDirectoryEntryAdapter>();
7768
foreach (var entry in CurrentUser.State.Preferences.FavoriteEntries)
7869
{
@@ -85,11 +76,11 @@
8576
}
8677
FavoriteEntries = favorites;
8778
});
88-
79+
8980
LoadingData = false;
9081

9182
}
92-
83+
9384
protected override void RowClicked(DataGridRowClickEventArgs<IDirectoryEntryAdapter> args)
9485
{
9586
if (args.Item != null)

BLAZAMGui/UI/Dashboard/Widgets/LockedOutUsers.razor

+6-15
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,12 @@
1818
<Columns>
1919
<TemplateColumn Title=@AppLocalization["Name"]>
2020
<CellTemplate>
21-
<MudContextMenu>
22-
23-
<ChildContent>
24-
25-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
26-
<MudText>@context.Item?.CanonicalName</MudText>
27-
</AppTooltip>
28-
29-
</ChildContent>
30-
<MenuContents>
31-
32-
<DirectoryEntryContextMenuItems Entry="@context.Item"/>
33-
34-
</MenuContents>
35-
</MudContextMenu>
21+
<DirectoryEntryContextMenu Entry="@context.Item"
22+
OnChanged="RefreshData">
23+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
24+
<MudText>@context.Item?.CanonicalName</MudText>
25+
</AppTooltip>
26+
</DirectoryEntryContextMenu>
3627
</CellTemplate>
3728
</TemplateColumn>
3829
<TemplateColumn Title=@AppLocalization["Locked Out"]>

BLAZAMGui/UI/Dashboard/Widgets/NewComputersWidget.razor

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
RowsPerPage="@ItemsPerPage"
55
RowsPerPageChanged="@SetRowsPerPage"
66
RowClick=@GoTo
7+
OnChanged="RefreshData"
78
T="IADComputer"
89
Loading=LoadingData />
910

BLAZAMGui/UI/Dashboard/Widgets/NewEntriesWidgetDataGrid.razor

+16-15
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,22 @@
2020
<Columns>
2121
<TemplateColumn Title=@AppLocalization["Name"]>
2222
<CellTemplate>
23-
<MudContextMenu>
24-
25-
<ChildContent>
26-
27-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
23+
<DirectoryEntryContextMenu Entry="@context.Item"
24+
OnChanged="OnChanged">
25+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
26+
@if (context.Item is IADGroup group)
27+
{
28+
<GroupWithDescriptionTooltip Group="group" />
29+
}
30+
else
31+
{
2832
<MudText>@context.Item?.CanonicalName</MudText>
29-
</AppTooltip>
30-
@* <DirectoryEntryTooltipPopover Entry="context.Item">
33+
}
34+
</AppTooltip>
35+
@* <DirectoryEntryTooltipPopover Entry="context.Item">
3136
<MudText>@context.Item?.CanonicalName</MudText>
3237
</DirectoryEntryTooltipPopover> *@
33-
34-
</ChildContent>
35-
<MenuContents>
36-
37-
<DirectoryEntryContextMenuItems Entry="@context.Item" />
38-
39-
</MenuContents>
40-
</MudContextMenu>
38+
</DirectoryEntryContextMenu>
4139
</CellTemplate>
4240
</TemplateColumn>
4341
<TemplateColumn Title=@AppLocalization["Created"]>
@@ -61,4 +59,7 @@
6159

6260
@code {
6361
#nullable disable warnings
62+
63+
[Parameter]
64+
public EventCallback OnChanged { get; set; }
6465
}

BLAZAMGui/UI/Dashboard/Widgets/NewUsersWidget.razor

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
RowsPerPageChanged="@SetRowsPerPage"
66
RowClick=@GoTo
77
T="IADUser"
8+
OnChanged="RefreshData"
89
Loading=LoadingData />
910

1011
@code {

BLAZAMGui/UI/Dashboard/Widgets/StaleComputersWidget.razor

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
2-
@inherits Widget
1+
@inherits Widget
32
@attribute [Authorize]
43
<StaleEntriesWidgetDataGrid Items="@StaleComputers"
5-
RowsPerPage="@ItemsPerPage"
6-
RowsPerPageChanged="@SetRowsPerPage"
7-
RowClick=@GoTo
8-
T="IADComputer"
9-
Loading=LoadingData />
4+
RowsPerPage="@ItemsPerPage"
5+
RowsPerPageChanged="@SetRowsPerPage"
6+
RowClick=@GoTo
7+
T="IADComputer"
8+
OnChanged="RefreshData"
9+
Loading=LoadingData />
1010

1111
@code {
1212
List<IADComputer> StaleComputers

BLAZAMGui/UI/Dashboard/Widgets/StaleEntriesWidgetDataGrid.razor

+16-19
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
@typeparam T where T : IAccountDirectoryAdapter
44

55
<MudDataGrid T="@T"
6-
76
Items=Items
87
Dense=true
98
Filterable=true
@@ -21,28 +20,23 @@
2120
<Columns>
2221
<TemplateColumn Title=@AppLocalization["Name"]>
2322
<CellTemplate>
24-
<MudContextMenu>
23+
2524

26-
<ChildContent>
25+
<DirectoryEntryContextMenu Entry="@context.Item"
26+
OnChanged="OnChanged">
27+
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
28+
<MudText>@context.Item?.CanonicalName</MudText>
29+
</AppTooltip>
30+
</DirectoryEntryContextMenu>
2731

28-
<AppTooltip Text="@context.Item?.OU.ToPrettyOu()">
29-
<MudText>@context.Item?.CanonicalName</MudText>
30-
</AppTooltip>
31-
32-
</ChildContent>
33-
<MenuContents>
34-
35-
<DirectoryEntryContextMenuItems Entry="@context.Item" />
36-
37-
</MenuContents>
38-
</MudContextMenu>
32+
3933
</CellTemplate>
4034
</TemplateColumn>
4135
<TemplateColumn Title=@AppLocalization["Last Logon"]>
4236
<CellTemplate>
4337
@if (context.Item?.Created != null)
4438
{
45-
<LastLogonTime DirectoryEntry="@context.Item"/>
39+
<LastLogonTime DirectoryEntry="@context.Item" />
4640
}
4741
</CellTemplate>
4842
</TemplateColumn>
@@ -56,14 +50,17 @@
5650
</MudDataGrid>
5751

5852

59-
@code {
60-
#nullable disable warnings
61-
53+
@code {
54+
#nullable disable warnings
55+
56+
[Parameter]
57+
public EventCallback OnChanged { get; set; }
58+
6259
private async Task<string> GetLastLogonTime(T item)
6360
{
6461
return await Task.Run(() =>
6562
{
66-
return item.LastLogonTime?.ToLocalTime().ToString();
63+
return item.LastLogonTime?.ToLocalTime().ToString();
6764
});
6865
}
6966
}

BLAZAMGui/UI/Dashboard/Widgets/StaleUsersWidget.razor

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
RowsPerPageChanged="@SetRowsPerPage"
66
RowClick=@GoTo
77
T="IADUser"
8+
OnChanged="RefreshData"
89
Loading=LoadingData />
910

1011
@code {
@@ -24,7 +25,7 @@
2425
await InvokeAsync(StateHasChanged);
2526

2627
}
27-
async Task RefreshData()
28+
protected override async Task RefreshData()
2829
{
2930

3031
LoadingData = true;

0 commit comments

Comments
 (0)