-
+
|
{{user.displayName}}
diff --git a/src/Squidex/app/shared/components/pipes.ts b/src/Squidex/app/shared/components/pipes.ts
index af6542d9c..0b0afa044 100644
--- a/src/Squidex/app/shared/components/pipes.ts
+++ b/src/Squidex/app/shared/components/pipes.ts
@@ -8,7 +8,9 @@
import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
-import { UsersProviderService } from './../declarations-base';
+import { ApiUrlConfig } from 'framework';
+
+import { UserDto, UsersProviderService } from './../declarations-base';
class UserAsyncPipe implements OnDestroy {
private lastUserId: string;
@@ -122,17 +124,34 @@ export class UserEmailRefPipe extends UserAsyncPipe implements PipeTransform {
}
}
+@Pipe({
+ name: 'userDtoPicture',
+ pure: false
+})
+export class UserDtoPicture implements PipeTransform {
+ constructor(
+ private readonly apiUrl: ApiUrlConfig
+ ) {
+ }
+
+ public transform(user: UserDto): string | null {
+ return this.apiUrl.buildUrl(`api/users/${user.id}/picture`);
+ }
+}
+
@Pipe({
name: 'userPicture',
pure: false
})
export class UserPicturePipe extends UserAsyncPipe implements PipeTransform {
- constructor(users: UsersProviderService, changeDetector: ChangeDetectorRef) {
+ constructor(users: UsersProviderService, changeDetector: ChangeDetectorRef,
+ private readonly apiUrl: ApiUrlConfig
+ ) {
super(users, changeDetector);
}
public transform(userId: string): string | null {
- return super.transformInternal(userId, users => users.getUser(userId).map(u => u.pictureUrl));
+ return super.transformInternal(userId, users => users.getUser(userId).map(u => this.apiUrl.buildUrl(`api/users/${u.id}/picture`)));
}
}
@@ -141,16 +160,18 @@ export class UserPicturePipe extends UserAsyncPipe implements PipeTransform {
pure: false
})
export class UserPictureRefPipe extends UserAsyncPipe implements PipeTransform {
- constructor(users: UsersProviderService, changeDetector: ChangeDetectorRef) {
+ constructor(users: UsersProviderService, changeDetector: ChangeDetectorRef,
+ private readonly apiUrl: ApiUrlConfig
+ ) {
super(users, changeDetector);
}
public transform(userId: string): string | null {
return super.transformInternal(userId, users => {
- const parts = userId.split(':');
+ const parts = userId.split(':');
if (parts[0] === 'subject') {
- return users.getUser(parts[1]).map(u => u.pictureUrl);
+ return users.getUser(parts[1]).map(u => this.apiUrl.buildUrl(`api/users/${u.id}/picture`));
} else {
return Observable.of('/images/client.png');
}
diff --git a/src/Squidex/app/shared/module.ts b/src/Squidex/app/shared/module.ts
index 551b8ace5..b2358d815 100644
--- a/src/Squidex/app/shared/module.ts
+++ b/src/Squidex/app/shared/module.ts
@@ -41,6 +41,7 @@ import {
SchemasService,
ResolveUserGuard,
UsagesService,
+ UserDtoPicture,
UserEmailPipe,
UserEmailRefPipe,
UserNamePipe,
@@ -66,6 +67,7 @@ import {
HelpComponent,
HistoryComponent,
LanguageSelectorComponent,
+ UserDtoPicture,
UserEmailPipe,
UserEmailRefPipe,
UserNamePipe,
@@ -80,6 +82,7 @@ import {
HelpComponent,
HistoryComponent,
LanguageSelectorComponent,
+ UserDtoPicture,
UserEmailPipe,
UserEmailRefPipe,
UserNamePipe,
|