Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/ghostfolio/commit/921d38a706f5dd2682f3cb3bce1e675decd889db
You should set ROOT_URL correctly, otherwise the web may not work correctly.
7 changed files with
36 additions and
22 deletions
@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Harmonized the style of the user interface for granting and revoking public access to share the portfolio
- Improved the logger output of the info service
- Harmonized the logger output: < symbol > (< dataSource > )
- Improved the language localization for Italian (`it`)
@ -19,7 +19,7 @@ import { UserWithSettings } from '@ghostfolio/common/types';
import { Injectable } from '@nestjs/common' ;
import { Prisma , Role , User } from '@prisma/client' ;
import { differenceInDays } from 'date-fns' ;
import { sortBy } from 'lodash' ;
import { sortBy , without } from 'lodash' ;
const crypto = require ( 'crypto' ) ;
@ -188,6 +188,11 @@ export class UserService {
currentPermissions . push ( permissions . enableSubscriptionInterstitial ) ;
}
currentPermissions = without (
currentPermissions ,
permissions . createAccess
) ;
// Reset benchmark
user . Settings . settings . benchmark = undefined ;
}
@ -1,3 +1,15 @@
< div * ngIf = "hasPermissionToCreateAccess" class = "d-flex justify-content-end" >
< a
color="primary"
i18n
mat-flat-button
[queryParams]="{ createDialog: true }"
[routerLink]="[]"
>
Add Access
< / a >
< / div >
< table class = "gf-table w-100" mat-table [ dataSource ] = " dataSource " >
< ng-container matColumnDef = "alias" >
< th * matHeaderCellDef class = "px-1" i18n mat-header-cell > Alias< / th >
@ -19,6 +19,7 @@ import { Access } from '@ghostfolio/common/interfaces';
} )
export class AccessTableComponent implements OnChanges , OnInit {
@Input ( ) accesses : Access [ ] ;
@Input ( ) hasPermissionToCreateAccess = false ;
@Input ( ) showActions : boolean ;
@Output ( ) accessDeleted = new EventEmitter < string > ( ) ;
@ -3,13 +3,20 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button' ;
import { MatMenuModule } from '@angular/material/menu' ;
import { MatTableModule } from '@angular/material/table' ;
import { RouterModule } from '@angular/router' ;
import { AccessTableComponent } from './access-table.component' ;
@NgModule ( {
declarations : [ AccessTableComponent ] ,
exports : [ AccessTableComponent ] ,
imports : [ CommonModule , MatButtonModule , MatMenuModule , MatTableModule ] ,
imports : [
CommonModule ,
MatButtonModule ,
MatMenuModule ,
MatTableModule ,
RouterModule
] ,
schemas : [ CUSTOM_ELEMENTS_SCHEMA ]
} )
export class GfPortfolioAccessTableModule { }
@ -287,24 +287,19 @@
< / div >
< div class = "row" >
< div class = "col" >
< h2 class = "h3 mb-3 text-center" i18n > Granted Access< / h2 >
< h2 class = "align-items-center d-flex h3 justify-content-center mb-3" >
< span i18n > Granted Access< / span >
< gf-premium-indicator
*ngIf="user?.subscription?.type === 'Basic'"
class="ml-1"
>< / gf-premium-indicator >
< / h2 >
< gf-access-table
[accesses]="accesses"
[hasPermissionToCreateAccess]="hasPermissionToCreateAccess"
[showActions]="hasPermissionToDeleteAccess"
(accessDeleted)="onDeleteAccess($event)"
>< / gf-access-table >
< / div >
< / div >
< div * ngIf = "hasPermissionToCreateAccess" class = "fab-container" >
< a
class="align-items-center d-flex justify-content-center"
color="primary"
mat-fab
[queryParams]="{ createDialog: true }"
[routerLink]="[]"
>
< ion-icon name = "add-outline" size = "large" > < / ion-icon >
< / a >
< / div >
< / div >
@ -6,13 +6,6 @@
overflow-x : auto ;
}
. fab-container {
position : fixed ;
right : 2 rem ;
bottom : 2 rem ;
z-index : 999 ;
}
. hint-text {
font-size : 90 % ;
line-height : 1 .2 ;