diff --git a/api/src/Sozsoft.Platform.Application/ListForms/ListFormDynamicApiAppService.cs b/api/src/Sozsoft.Platform.Application/ListForms/ListFormDynamicApiAppService.cs index 37d4582..4428079 100644 --- a/api/src/Sozsoft.Platform.Application/ListForms/ListFormDynamicApiAppService.cs +++ b/api/src/Sozsoft.Platform.Application/ListForms/ListFormDynamicApiAppService.cs @@ -63,15 +63,10 @@ public class ListFormDynamicApiAppService : PlatformAppService, IListFormDynamic return Guid.TryParse(value, out var id) ? id : Guid.Empty; } - private async Task SaveAvatarAsync(IdentityUser user, string avatar, bool saveDefaultWhenMissing = false) + private async Task SaveAvatarAsync(IdentityUser user, string avatar) { if (avatar.IsNullOrWhiteSpace()) { - if (saveDefaultWhenMissing) - { - await SaveDefaultAvatarAsync(user); - } - return; } @@ -103,38 +98,6 @@ public class ListFormDynamicApiAppService : PlatformAppService, IListFormDynamic user.SetAvatar(AvatarProvider.GetAvatar(configuration, user.TenantId?.ToString(), user.Id.ToString())); } - private async Task SaveDefaultAvatarAsync(IdentityUser user) - { - var defaultAvatarPath = FindDefaultAvatarPath(); - if (defaultAvatarPath == null) - { - return; - } - - var fileName = $"{user.Id}.jpg"; - await using var stream = File.OpenRead(defaultAvatarPath); - await blobCdnManager.SaveAsync(BlobContainerNames.Avatar, fileName, stream); - user.SetAvatar(AvatarProvider.GetAvatar(configuration, user.TenantId?.ToString(), user.Id.ToString())); - } - - private string? FindDefaultAvatarPath() - { - var directory = new DirectoryInfo(hostEnvironment.ContentRootPath); - - while (directory != null) - { - var candidate = Path.Combine(directory.FullName, "ui", "public", "img", "others", "default-profile.png"); - if (File.Exists(candidate)) - { - return candidate; - } - - directory = directory.Parent; - } - - return null; - } - [Authorize(IdentityPermissions.Users.Create)] public async Task PostUserInsertAsync(DynamicApiBaseInput input) { @@ -160,7 +123,7 @@ public class ListFormDynamicApiAppService : PlatformAppService, IListFormDynamic user.SetJobPositionId(ParseGuid(input.Data.JobPositionId)); user.SetIsVerified(verify); - await SaveAvatarAsync(user, input.Data.Avatar, saveDefaultWhenMissing: true); + await SaveAvatarAsync(user, input.Data.Avatar); (await userManager.CreateAsync(user, input.Data.Password)).CheckErrors(); await userManager.SetLockoutEnabledAsync(user, true); diff --git a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs index 2e61d6a..f66d03a 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Seeds/ListFormSeeder_Administration.cs @@ -806,10 +806,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, listFormName, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Delete, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note), DeleteCommand = $"UPDATE \"AbpUsers\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\"=@Id", DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(), - EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 710, true, true, true, true, false), + EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 575, true, true, true, true, false), EditingFormJson = JsonSerializer.Serialize(new List() { - new () { Order=1,ColCount=1,ColSpan=1,ItemType="group",Items=[ - new EditingFormItemDto { Order=1, DataField="Avatar", ColSpan=1, EditorType2=EditorTypes.dxImageUpload, EditorOptions=EditorOptionValues.ImageUploadOptions(false) }, + new () { Order=1,ColCount=2,ColSpan=1,ItemType="group",Items=[ + new EditingFormItemDto { Order=1, DataField="Avatar", ColSpan=2, EditorType2=EditorTypes.dxImageUpload, EditorOptions=EditorOptionValues.ImageUploadOptions(false) }, new EditingFormItemDto { Order=2, DataField="Email", ColSpan=1, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order=3, DataField="Name", ColSpan=1, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order=4, DataField="Surname", ColSpan=1, EditorType2=EditorTypes.dxTextBox }, diff --git a/ui/src/components/template/MessengerWidget.tsx b/ui/src/components/template/MessengerWidget.tsx index ebc5dc7..5a2c838 100644 --- a/ui/src/components/template/MessengerWidget.tsx +++ b/ui/src/components/template/MessengerWidget.tsx @@ -357,7 +357,6 @@ const MessengerWidget = () => { {contact.fullName} - {contact.email || contact.userName}