From 10940214a508835925bea9514ea1fda1ca3fe734 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Thu, 5 Oct 2023 20:27:39 +0200
Subject: [PATCH 01/10] Update OSS Friends (#2431)
---
apps/client/src/assets/oss-friends.json | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/apps/client/src/assets/oss-friends.json b/apps/client/src/assets/oss-friends.json
index 24c2d8586..d7d8e1506 100644
--- a/apps/client/src/assets/oss-friends.json
+++ b/apps/client/src/assets/oss-friends.json
@@ -1,11 +1,6 @@
{
- "createdAt": "2023-09-25T08:15:38.055Z",
+ "createdAt": "2023-10-05T00:00:00.000Z",
"data": [
- {
- "name": "Appsmith",
- "description": "Build build custom software on top of your data.",
- "href": "https://www.appsmith.com"
- },
{
"name": "BoxyHQ",
"description": "BoxyHQ’s suite of APIs for security and privacy helps engineering teams build and ship compliant cloud applications faster.",
@@ -66,11 +61,6 @@
"description": "Mockoon is the easiest and quickest way to design and run mock REST APIs.",
"href": "https://mockoon.com"
},
- {
- "name": "Novu",
- "description": "The open-source notification infrastructure for developers. Simple components and APIs for managing all communication channels in one place.",
- "href": "https://novu.co"
- },
{
"name": "OpenBB",
"description": "Democratizing investment research through an open source financial ecosystem. The OpenBB Terminal allows everyone to perform investment research, from everywhere.",
From 4af76f6f6d050feb18f837afb08e089beda11597 Mon Sep 17 00:00:00 2001
From: Vlad Prodan <46872670+virus231@users.noreply.github.com>
Date: Thu, 5 Oct 2023 20:29:34 +0200
Subject: [PATCH 02/10] Fix hasNotDefinedValuesInObject() in object.helper.ts
(#2421)
---
apps/api/src/helper/object.helper.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/api/src/helper/object.helper.ts b/apps/api/src/helper/object.helper.ts
index 50a4f2b12..2f0399fb8 100644
--- a/apps/api/src/helper/object.helper.ts
+++ b/apps/api/src/helper/object.helper.ts
@@ -3,7 +3,7 @@ import { cloneDeep, isArray, isObject } from 'lodash';
export function hasNotDefinedValuesInObject(aObject: Object): boolean {
for (const key in aObject) {
- if (aObject[key] === null || aObject[key] === null) {
+ if (aObject[key] === null || aObject[key] === undefined) {
return true;
} else if (isObject(aObject[key])) {
return hasNotDefinedValuesInObject(aObject[key]);
From 8ad64924779dbef9e5e087f39d56503c8f2f7873 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Thu, 5 Oct 2023 20:31:00 +0200
Subject: [PATCH 03/10] Feature/various improvements in client (#2434)
* Various improvements
* Update changelog
---
CHANGELOG.md | 4 ++++
apps/client/src/app/app.module.ts | 5 +++--
.../src/app/components/admin-overview/admin-overview.html | 4 ++--
.../src/app/components/header/header.component.html | 2 +-
.../src/app/components/home-market/home-market.html | 4 ++--
.../portfolio-performance/portfolio-performance.module.ts | 5 +++--
.../position-detail-dialog/position-detail-dialog.html | 8 ++++----
.../import-activities-dialog.html | 2 +-
apps/client/src/app/pages/public/public-page.html | 2 +-
.../app/pages/user-account/user-account-page.module.ts | 5 +++--
10 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 49419da3c..41fa38bc8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added the application version to the endpoint `GET api/v1/admin`
+### Fixed
+
+- Fixed the style of the active features page in the navigation on desktop
+
## 2.8.0 - 2023-10-03
### Added
diff --git a/apps/client/src/app/app.module.ts b/apps/client/src/app/app.module.ts
index a5f0d755c..608ba0100 100644
--- a/apps/client/src/app/app.module.ts
+++ b/apps/client/src/app/app.module.ts
@@ -1,6 +1,6 @@
import { Platform } from '@angular/cdk/platform';
import { HttpClientModule } from '@angular/common/http';
-import { NgModule } from '@angular/core';
+import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatChipsModule } from '@angular/material/chips';
import {
@@ -35,6 +35,7 @@ export function NgxStripeFactory(): string {
}
@NgModule({
+ bootstrap: [AppComponent],
declarations: [AppComponent],
imports: [
AppRoutingModule,
@@ -72,6 +73,6 @@ export function NgxStripeFactory(): string {
useFactory: NgxStripeFactory
}
],
- bootstrap: [AppComponent]
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AppModule {}
diff --git a/apps/client/src/app/components/admin-overview/admin-overview.html b/apps/client/src/app/components/admin-overview/admin-overview.html
index 2739547b5..e54f8f27b 100644
--- a/apps/client/src/app/components/admin-overview/admin-overview.html
+++ b/apps/client/src/app/components/admin-overview/admin-overview.html
@@ -11,8 +11,8 @@
User Count
@@ -21,8 +21,8 @@
Activity Count
diff --git a/apps/client/src/app/components/header/header.component.html b/apps/client/src/app/components/header/header.component.html
index 2c56cb742..a2c69245c 100644
--- a/apps/client/src/app/components/header/header.component.html
+++ b/apps/client/src/app/components/header/header.component.html
@@ -272,7 +272,7 @@
mat-flat-button
[ngClass]="{
'font-weight-bold': currentRoute === routeFeatures,
- 'text-decoration-underline': currentRoute === routeFeatuers
+ 'text-decoration-underline': currentRoute === routeFeatures
}"
[routerLink]="routerLinkFeatures"
>Features
Sectors
@@ -225,11 +225,11 @@
Countries
diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
index 06cadad8e..eab62642a 100644
--- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
+++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html
@@ -8,7 +8,7 @@
diff --git a/apps/client/src/app/pages/user-account/user-account-page.module.ts b/apps/client/src/app/pages/user-account/user-account-page.module.ts
index 3c6670af4..5ec767170 100644
--- a/apps/client/src/app/pages/user-account/user-account-page.module.ts
+++ b/apps/client/src/app/pages/user-account/user-account-page.module.ts
@@ -1,5 +1,5 @@
import { CommonModule } from '@angular/common';
-import { NgModule } from '@angular/core';
+import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatTabsModule } from '@angular/material/tabs';
import { GfUserAccountAccessModule } from '@ghostfolio/client/components/user-account-access/user-account-access.module';
import { GfUserAccountMembershipModule } from '@ghostfolio/client/components/user-account-membership/user-account-membership.module';
@@ -17,6 +17,7 @@ import { UserAccountPageComponent } from './user-account-page.component';
GfUserAccountSettingsModule,
MatTabsModule,
UserAccountPageRoutingModule
- ]
+ ],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class UserAccountPageModule {}
From 727340748bca074238e207e1b3a2688df396c0d2 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Thu, 5 Oct 2023 20:40:31 +0200
Subject: [PATCH 04/10] Clean up imports (#2411)
---
.../asset-profile-dialog/asset-profile-dialog.component.ts | 1 -
apps/client/src/app/services/data.service.ts | 1 -
2 files changed, 2 deletions(-)
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 bef984729..792025e9b 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
@@ -13,7 +13,6 @@ import { AdminService } from '@ghostfolio/client/services/admin.service';
import { DataService } from '@ghostfolio/client/services/data.service';
import {
AdminMarketDataDetails,
- ScraperConfiguration,
UniqueAsset
} from '@ghostfolio/common/interfaces';
import { translate } from '@ghostfolio/ui/i18n';
diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts
index 5cc955af2..62845eda1 100644
--- a/apps/client/src/app/services/data.service.ts
+++ b/apps/client/src/app/services/data.service.ts
@@ -36,7 +36,6 @@ import {
} from '@ghostfolio/common/interfaces';
import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
import { AccountWithValue, DateRange, GroupBy } from '@ghostfolio/common/types';
-import { translate } from '@ghostfolio/ui/i18n';
import { DataSource, Order as OrderModel } from '@prisma/client';
import { format, parseISO } from 'date-fns';
import { cloneDeep, groupBy, isNumber } from 'lodash';
From 25112a450b1b9c1653f43c198e7bee23b4745adb Mon Sep 17 00:00:00 2001
From: Arshad Jamal
Date: Fri, 6 Oct 2023 00:12:35 +0530
Subject: [PATCH 05/10] Add support for comment in csv import (#2416)
* Add support for comment in csv import (activities)
* Update changelog
---
CHANGELOG.md | 1 +
.../app/services/import-activities.service.ts | 16 ++++++++++++++++
test/import/ok.csv | 4 ++--
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41fa38bc8..d03655ff8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
+- Added support for notes in the activities import
- Added the application version to the endpoint `GET api/v1/admin`
### Fixed
diff --git a/apps/client/src/app/services/import-activities.service.ts b/apps/client/src/app/services/import-activities.service.ts
index 808081bea..0a58e3cdd 100644
--- a/apps/client/src/app/services/import-activities.service.ts
+++ b/apps/client/src/app/services/import-activities.service.ts
@@ -15,6 +15,7 @@ import { catchError } from 'rxjs/operators';
})
export class ImportActivitiesService {
private static ACCOUNT_KEYS = ['account', 'accountid'];
+ private static COMMENT_KEYS = ['comment', 'note'];
private static CURRENCY_KEYS = ['ccy', 'currency', 'currencyprimary'];
private static DATA_SOURCE_KEYS = ['datasource'];
private static DATE_KEYS = ['date', 'tradedate'];
@@ -52,6 +53,7 @@ export class ImportActivitiesService {
for (const [index, item] of content.entries()) {
activities.push({
accountId: this.parseAccount({ item, userAccounts }),
+ comment: this.parseComment({ item }),
currency: this.parseCurrency({ content, index, item }),
dataSource: this.parseDataSource({ item }),
date: this.parseDate({ content, index, item }),
@@ -122,6 +124,7 @@ export class ImportActivitiesService {
private convertToCreateOrderDto({
accountId,
+ comment,
date,
fee,
quantity,
@@ -132,6 +135,7 @@ export class ImportActivitiesService {
}: Activity): CreateOrderDto {
return {
accountId,
+ comment,
fee,
quantity,
type,
@@ -174,6 +178,18 @@ export class ImportActivitiesService {
return undefined;
}
+ private parseComment({ item }: { item: any }) {
+ item = this.lowercaseKeys(item);
+
+ for (const key of ImportActivitiesService.COMMENT_KEYS) {
+ if (item[key]) {
+ return item[key];
+ }
+ }
+
+ return undefined;
+ }
+
private parseCurrency({
content,
index,
diff --git a/test/import/ok.csv b/test/import/ok.csv
index 732ab4699..9f1f1c768 100644
--- a/test/import/ok.csv
+++ b/test/import/ok.csv
@@ -1,5 +1,5 @@
-Date,Code,Currency,Price,Quantity,Action,Fee
-16-09-2021,MSFT,USD,298.580,5,buy,19.00
+Date,Code,Currency,Price,Quantity,Action,Fee,Note
+16-09-2021,MSFT,USD,298.580,5,buy,19.00,My first order 🤓
17/11/2021,MSFT,USD,0.62,5,dividend,0.00
01.01.2022,Penthouse Apartment,USD,500000.0,1,item,0.00
20500606,MSFT,USD,0.00,0,buy,0.00
From 02b433eb1e8a97d4df7210800a27039a98df33cd Mon Sep 17 00:00:00 2001
From: Anirudh Sudhir <137381184+anirudhsudhir@users.noreply.github.com>
Date: Fri, 6 Oct 2023 00:32:35 +0530
Subject: [PATCH 06/10] Prevent empty form submission in account dialog (#2428)
* Prevent empty form submission in account dialog
---
.../create-or-update-account-dialog.html | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
index 69972c7db..2d068dde1 100644
--- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
+++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
@@ -10,7 +10,11 @@
Name
-
+
-
+