diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
index 367abce8..70310bd4 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor
@@ -60,7 +60,7 @@
-
+
|
diff --git a/Oqtane.Client/Modules/Admin/Modules/Settings.razor b/Oqtane.Client/Modules/Admin/Modules/Settings.razor
index a4bd4188..c6ebe5c3 100644
--- a/Oqtane.Client/Modules/Admin/Modules/Settings.razor
+++ b/Oqtane.Client/Modules/Admin/Modules/Settings.razor
@@ -1,4 +1,5 @@
@namespace Oqtane.Modules.Admin.Modules
+@using Oqtane.Interfaces
@inherits ModuleBase
@inject NavigationManager NavigationManager
@inject IThemeService ThemeService
@@ -137,7 +138,7 @@
builder.AddComponentReferenceCapture(1, inst => { _settings = Convert.ChangeType(inst, _settingsModuleType); });
builder.CloseComponent();
};
- }
+ }
}
private async Task SaveModule()
@@ -162,15 +163,16 @@
module.Permissions = _permissionGrid.GetPermissions();
await ModuleService.UpdateModuleAsync(module);
- if (_settingsModuleType != null)
+
+ if (_settings is ISettingsControl control)
{
- var moduleType = Type.GetType(ModuleState.ModuleType);
- if (moduleType != null)
- {
- moduleType.GetMethod("UpdateSettings")?.Invoke(_settings, null); // method must be public in settings component
- }
+ await control.UpdateSettings();
+ }
+ else
+ {
+ // Compatibility 2.0 fallback
+ _settings?.GetType().GetMethod("UpdateSettings")?.Invoke(_settings, null); // method must be public in settings component
}
-
NavigationManager.NavigateTo(NavigateUrl());
}
diff --git a/Oqtane.Client/Modules/Admin/Roles/Users.razor b/Oqtane.Client/Modules/Admin/Roles/Users.razor
index 9ceae846..3fb2bb95 100644
--- a/Oqtane.Client/Modules/Admin/Roles/Users.razor
+++ b/Oqtane.Client/Modules/Admin/Roles/Users.razor
@@ -89,7 +89,10 @@ else
Role role = await RoleService.GetRoleAsync(roleid);
name = role.Name;
users = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId);
- users = users.Where(item => item.Role.Name == RoleNames.Registered).ToList();
+ users = users
+ .Where(u => u.Role.Name == RoleNames.Registered)
+ .OrderBy(u => u.User.DisplayName)
+ .ToList();
await GetUserRoles();
}
catch (Exception ex)
diff --git a/Oqtane.Shared/Interfaces/ISettingsControl.cs b/Oqtane.Shared/Interfaces/ISettingsControl.cs
new file mode 100644
index 00000000..c5753099
--- /dev/null
+++ b/Oqtane.Shared/Interfaces/ISettingsControl.cs
@@ -0,0 +1,9 @@
+using System.Threading.Tasks;
+
+namespace Oqtane.Interfaces
+{
+ public interface ISettingsControl
+ {
+ Task UpdateSettings();
+ }
+}
|