- @foreach (Profile profile in profiles)
- {
- var p = profile;
- if (p.Category != category)
- {
-
- @p.Category
-
- category = p.Category;
- }
-
- }
-
-
-
-
-
-
@SharedLocalizer["Cancel"]
+
+ }
+
+
+ @if (profiles != null)
+ {
+
+
+ @foreach (Profile profile in profiles)
+ {
+ var p = profile;
+ if (p.Category != category)
+ {
+
+ @p.Category
+
+ category = p.Category;
+ }
+
+ }
+
+
+
+ }
+
+
+
+
+
+
@SharedLocalizer["Cancel"]
+
@code {
+ private ElementReference form;
+
+ private bool validated = false;
private string username = string.Empty;
private string password = string.Empty;
private string confirm = string.Empty;
@@ -117,56 +122,65 @@
private async Task SaveUser()
{
- try
+ validated = true;
+ var interop = new Interop(JSRuntime);
+ if (await interop.FormValid(form))
{
- if (username != string.Empty && password != string.Empty && confirm != string.Empty && email != string.Empty && ValidateProfiles())
+ try
{
- if (password == confirm)
+ if (username != string.Empty && password != string.Empty && confirm != string.Empty && email != string.Empty && ValidateProfiles())
{
- var user = await UserService.GetUserAsync(username, PageState.Site.SiteId);
- if (user == null)
+ if (password == confirm)
{
- user = new User();
- user.SiteId = PageState.Site.SiteId;
- user.Username = username;
- user.Password = password;
- user.Email = email;
- user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
- user.PhotoFileId = null;
-
- user = await UserService.AddUserAsync(user);
-
- if (user != null)
+ var user = await UserService.GetUserAsync(username, PageState.Site.SiteId);
+ if (user == null)
{
- await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
- await logger.LogInformation("User Created {User}", user);
- NavigationManager.NavigateTo(NavigateUrl());
+ user = new User();
+ user.SiteId = PageState.Site.SiteId;
+ user.Username = username;
+ user.Password = password;
+ user.Email = email;
+ user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
+ user.PhotoFileId = null;
+
+ user = await UserService.AddUserAsync(user);
+
+ if (user != null)
+ {
+ await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
+ await logger.LogInformation("User Created {User}", user);
+ NavigationManager.NavigateTo(NavigateUrl());
+ }
+ else
+ {
+ await logger.LogError("Error Adding User {Username} {Email}", username, email);
+ AddModuleMessage(Localizer["Error.User.AddCheckPass"], MessageType.Error);
+ }
}
else
{
- await logger.LogError("Error Adding User {Username} {Email}", username, email);
- AddModuleMessage(Localizer["Error.User.AddCheckPass"], MessageType.Error);
+ AddModuleMessage(Localizer["Message.Username.Exists"], MessageType.Warning);
}
}
else
{
- AddModuleMessage(Localizer["Message.Username.Exists"], MessageType.Warning);
+ AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning);
}
}
else
{
- AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning);
+ AddModuleMessage(Localizer["Message.Required.ProfileInfo"], MessageType.Warning);
}
}
- else
+ catch (Exception ex)
{
- AddModuleMessage(Localizer["Message.Required.ProfileInfo"], MessageType.Warning);
+ await logger.LogError(ex, "Error Adding User {Username} {Email} {Error}", username, email, ex.Message);
+ AddModuleMessage(Localizer["Error.User.Add"], MessageType.Error);
}
}
- catch (Exception ex)
+ else
{
- await logger.LogError(ex, "Error Adding User {Username} {Email} {Error}", username, email, ex.Message);
- AddModuleMessage(Localizer["Error.User.Add"], MessageType.Error);
+ AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning);
}
}
diff --git a/Oqtane.Client/Modules/Admin/Users/Edit.razor b/Oqtane.Client/Modules/Admin/Users/Edit.razor
index aac65f2c..4353553d 100644
--- a/Oqtane.Client/Modules/Admin/Users/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Users/Edit.razor
@@ -16,102 +16,106 @@ else
{
}
-
-
- @if (profiles != null)
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
-
- @if (profiles != null)
- {
-
-
- @foreach (Profile profile in profiles)
- {
- var p = profile;
- if (p.Category != category)
- {
-
- @p.Category
-
- category = p.Category;
- }
-
- }
-
-
-
-
@SharedLocalizer["Cancel"]
-
-
-
+ }
+
+
+ @if (profiles != null)
+ {
+
+
+ @foreach (Profile profile in profiles)
+ {
+ var p = profile;
+ if (p.Category != category)
+ {
+
+ @p.Category
+
+ category = p.Category;
+ }
+
+ }
+
+
+ }
+
+
+
+
+
@SharedLocalizer["Cancel"]
+
+
+
+
@code {
+ private ElementReference form;
+ private bool validated = false;
private int userid;
private string username = string.Empty;
private string password = string.Empty;
@@ -182,47 +186,56 @@ else
private async Task SaveUser()
{
- try
+ validated = true;
+ var interop = new Interop(JSRuntime);
+ if (await interop.FormValid(form))
{
- if (username != string.Empty && email != string.Empty && ValidateProfiles())
+ try
{
- if (password == confirm)
+ if (username != string.Empty && email != string.Empty && ValidateProfiles())
{
- var user = await UserService.GetUserAsync(userid, PageState.Site.SiteId);
- user.SiteId = PageState.Site.SiteId;
- user.Username = username;
- user.Password = password;
- user.Email = email;
- user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
- user.PhotoFileId = null;
- user.PhotoFileId = filemanager.GetFileId();
- if (user.PhotoFileId == -1)
+ if (password == confirm)
{
+ var user = await UserService.GetUserAsync(userid, PageState.Site.SiteId);
+ user.SiteId = PageState.Site.SiteId;
+ user.Username = username;
+ user.Password = password;
+ user.Email = email;
+ user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
user.PhotoFileId = null;
+ user.PhotoFileId = filemanager.GetFileId();
+ if (user.PhotoFileId == -1)
+ {
+ user.PhotoFileId = null;
+ }
+
+ user.IsDeleted = (isdeleted == null ? true : Boolean.Parse(isdeleted));
+
+ user = await UserService.UpdateUserAsync(user);
+ await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
+ await logger.LogInformation("User Saved {User}", user);
+
+ NavigationManager.NavigateTo(NavigateUrl());
+ }
+ else
+ {
+ AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning);
}
-
- user.IsDeleted = (isdeleted == null ? true : Boolean.Parse(isdeleted));
-
- user = await UserService.UpdateUserAsync(user);
- await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
- await logger.LogInformation("User Saved {User}", user);
-
- NavigationManager.NavigateTo(NavigateUrl());
}
else
{
- AddModuleMessage(Localizer["Message.Password.NoMatch"], MessageType.Warning);
+ AddModuleMessage(Localizer["Message.Required.ProfileInfo"], MessageType.Warning);
}
}
- else
+ catch (Exception ex)
{
- AddModuleMessage(Localizer["Message.Required.ProfileInfo"], MessageType.Warning);
+ await logger.LogError(ex, "Error Saving User {Username} {Email} {Error}", username, email, ex.Message);
+ AddModuleMessage(Localizer["Error.User.Save"], MessageType.Error);
}
}
- catch (Exception ex)
+ else
{
- await logger.LogError(ex, "Error Saving User {Username} {Email} {Error}", username, email, ex.Message);
- AddModuleMessage(Localizer["Error.User.Save"], MessageType.Error);
+ AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning);
}
}
diff --git a/Oqtane.Client/Modules/Admin/Users/Roles.razor b/Oqtane.Client/Modules/Admin/Users/Roles.razor
index 59e4d00c..7e4796a2 100644
--- a/Oqtane.Client/Modules/Admin/Users/Roles.razor
+++ b/Oqtane.Client/Modules/Admin/Users/Roles.razor
@@ -12,65 +12,69 @@
}
else
{
-