diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 9458361b7..ef0621d5f 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -610,6 +610,20 @@ export class AdminService { url: url as string }; + // Check if we need to delete SymbolProfileOverrides when converting to MANUAL + let deleteOverrides = false; + if (finalDataSource === 'MANUAL') { + const [renamedProfile] = + await this.symbolProfileService.getSymbolProfiles([ + { + dataSource: finalDataSource, + symbol: newSymbol as string + } + ]); + + deleteOverrides = !!renamedProfile?.SymbolProfileOverrides; + } + const updatedSymbolProfile: Prisma.SymbolProfileUpdateInput = { comment, currency, @@ -625,9 +639,11 @@ export class AdminService { name, sectors, url, - SymbolProfileOverrides: { - delete: true - } + ...(deleteOverrides && { + SymbolProfileOverrides: { + delete: true + } + }) } : { SymbolProfileOverrides: { diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss index d03c8c885..73c0c0d74 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss @@ -13,9 +13,5 @@ right: 1rem; top: 0; } - - .text-muted { - margin: 1rem 0; - } } } diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 299087d25..d9caabaa4 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -716,19 +716,19 @@ export class GfAssetProfileDialogComponent implements OnInit { }, { assetClass: - this.assetProfileForm.controls.assetClass.value ?? undefined, + this.assetProfileForm.controls.assetClass?.value ?? undefined, assetSubClass: - this.assetProfileForm.controls.assetSubClass.value ?? undefined, + this.assetProfileForm.controls.assetSubClass?.value ?? undefined, countries: JSON.parse( - this.assetProfileForm.controls.countries.value ?? '[]' + this.assetProfileForm.controls.countries?.value ?? '[]' ) as Prisma.InputJsonArray, dataSource: 'MANUAL' as DataSource, - name: this.assetProfileForm.controls.name.value || undefined, + name: this.assetProfileForm.controls.name?.value || undefined, sectors: JSON.parse( - this.assetProfileForm.controls.sectors.value ?? '[]' + this.assetProfileForm.controls.sectors?.value ?? '[]' ) as Prisma.InputJsonArray, symbol: uuid, - url: this.assetProfileForm.controls.url.value || undefined + url: this.assetProfileForm.controls.url?.value || undefined } ) .pipe( diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index 451344909..8bb33082f 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -162,7 +162,7 @@ Cancel -

or

+

or