diff --git a/package-lock.json b/package-lock.json
index 8bdcbcd42..51b0eb0d7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,12 +11,12 @@
"dev": true
},
"@alfresco/adf-cli": {
- "version": "6.0.0-A.2-8247",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.0.0-A.2-8247.tgz",
- "integrity": "sha512-Opx1WBl37qwWqRGj0ZCj0CPiOrSBzVsdWA8kuVviUqUv2Hjcj68G1QDY1u0HWglBb2rzayta0q8BcZFX+bI7Yg==",
+ "version": "6.0.0-A.2-8187",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.0.0-A.2-8187.tgz",
+ "integrity": "sha512-v+QhbjhVvDFZPUK+Q+BxejNmVAPhnwixVVhrNaEvVRonef66+sCuJBpDmAyaMjFV+fwxauHKie4f3SleSNreqA==",
"dev": true,
"requires": {
- "@alfresco/js-api": "5.4.0-620",
+ "@alfresco/js-api": "5.4.0-643",
"commander": "6.2.1",
"ejs": "^2.6.1",
"license-checker": "^25.0.1",
@@ -28,9 +28,9 @@
},
"dependencies": {
"@alfresco/js-api": {
- "version": "5.4.0-620",
- "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-5.4.0-620.tgz",
- "integrity": "sha512-Y1zgLAnAe+bXAhuqV6LzbY+2HlAe0UOy0lsVWKmNCwVQS8hTcKip8H7bI6E4MUoIy/kwRYT6emitBbPsSLQFDA==",
+ "version": "5.4.0-643",
+ "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-5.4.0-643.tgz",
+ "integrity": "sha512-OBlF/Le/IoHcIz5T9oWOucPc+9ZruuG1jJ9wM78qZx/8d6F03NvnCLDlYB5dapRBPqq2KfkuULp0gBtvgCpbDQ==",
"dev": true,
"requires": {
"event-emitter": "^0.3.5",
@@ -42,17 +42,17 @@
}
},
"@alfresco/adf-content-services": {
- "version": "6.0.0-A.2-8219",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.0.0-A.2-8219.tgz",
- "integrity": "sha512-jdW8rba7Ajqgw6zvt3Gws5qrM6KUikx20MMdNjN9iqvxMfg52oRKotnRMfv4Cvp6KZZ/ZxkvBgJPdatMdgupBw==",
+ "version": "6.0.0-A.2-8187",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.0.0-A.2-8187.tgz",
+ "integrity": "sha512-YUfeXKk57qvpCGk9mmDM3AKxZkP0G/8iXlQG75X7srgCk/34jAFs16G+rt6WIyxA3xKqfqQmKtZb2IAo8GsAAg==",
"requires": {
"tslib": "^2.3.0"
}
},
"@alfresco/adf-core": {
- "version": "6.0.0-A.2-8219",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.0.0-A.2-8219.tgz",
- "integrity": "sha512-q8noKqXRrHGTVSMyf9fVOc2RU1pkVdbtFZep5j5zZlCHgNSsOOyrt6lww+PtlYYb78tu9ifu3MjJJy70mcsxgg==",
+ "version": "6.0.0-A.2-8187",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.0.0-A.2-8187.tgz",
+ "integrity": "sha512-F28WqEqkfDz0TA1XUN29TnHZc0n4Z3ijliI6DuHqCBe1s6un2QE22DOCMT6iiJqI4+EzNacbF0MOoGG84yUSVA==",
"requires": {
"@editorjs/code": "2.7.0",
"@editorjs/editorjs": "^2.26.5",
@@ -70,20 +70,20 @@
}
},
"@alfresco/adf-extensions": {
- "version": "6.0.0-A.2-8219",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.0.0-A.2-8219.tgz",
- "integrity": "sha512-E1QY70+pO0/pi9JDXmTG0X/Qo9MVbEIO4/fq4sfT2NAufFtcNHYVaAXU4uMOB/KQZmbprzHdj9lMfFsnhY74+g==",
+ "version": "6.0.0-A.2-8187",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.0.0-A.2-8187.tgz",
+ "integrity": "sha512-s0m/A3ACrVrGkhsCCuyvLd0LIu8PfvanJfKIhVvQr6kljB1IArYSwPc7ZVb0fyhgLZtuQOd2UbieiyCQDhYxFg==",
"requires": {
"tslib": "^2.3.0"
}
},
"@alfresco/adf-testing": {
- "version": "6.0.0-A.2-8247",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.0.0-A.2-8247.tgz",
- "integrity": "sha512-tf1NQv7JiOsMNyFtPeoUWFo0/xY/ZG1Pz5+J94gUfLG7ZKwmrzlKf6KseFZWVY7UaiKIr+yJjqEE65JiLPqPLA==",
+ "version": "6.0.0-A.2-8187",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.0.0-A.2-8187.tgz",
+ "integrity": "sha512-fnX9YG9x6u+TRKYVP1sROlncvx0X8MFDHRzAUtkbJgIJKnCgVx7Ty6CTUXXTTaExrS7XFF64I9khTck3zHyaUQ==",
"dev": true,
"requires": {
- "@alfresco/js-api": "5.4.0-619",
+ "@alfresco/js-api": "5.4.0-639",
"@angular/compiler": "14.1.3",
"@angular/core": "14.1.3",
"rxjs": "6.6.6",
@@ -112,9 +112,9 @@
}
},
"@alfresco/js-api": {
- "version": "5.4.0-619",
- "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-5.4.0-619.tgz",
- "integrity": "sha512-siG1unqnnR9VUt1CM5EUEZvX7UcHGp84Ubb/H1arbNaIdKCyDWlxyTD5uCt4s2PrnCoWKUU5/YukkOOeAY2bdA==",
+ "version": "5.4.0-639",
+ "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-5.4.0-639.tgz",
+ "integrity": "sha512-Y7rYj0kQGlfuahM2qg4hVrZxvj7yL+cKLCuspT7Io+60iIwmwMkpxZt2XX0YwIVzgofsFhcPdNTmSipx6vAQZQ==",
"requires": {
"event-emitter": "^0.3.5",
"minimatch": "5.0.1",
diff --git a/package.json b/package.json
index 45f8cc273..5529085ac 100644
--- a/package.json
+++ b/package.json
@@ -27,10 +27,10 @@
},
"private": true,
"dependencies": {
- "@alfresco/adf-content-services": "6.0.0-A.2-8219",
- "@alfresco/adf-core": "6.0.0-A.2-8219",
- "@alfresco/adf-extensions": "6.0.0-A.2-8219",
- "@alfresco/js-api": "5.4.0-619",
+ "@alfresco/adf-content-services": "6.0.0-A.2-8187",
+ "@alfresco/adf-core": "6.0.0-A.2-8187",
+ "@alfresco/adf-extensions": "6.0.0-A.2-8187",
+ "@alfresco/js-api": "5.4.0-639",
"@angular/animations": "14.1.2",
"@angular/cdk": "14.1.2",
"@angular/common": "14.1.2",
@@ -59,8 +59,8 @@
"zone.js": "0.11.8"
},
"devDependencies": {
- "@alfresco/adf-cli": "6.0.0-A.2-8247",
- "@alfresco/adf-testing": "6.0.0-A.2-8247",
+ "@alfresco/adf-cli": "6.0.0-A.2-8187",
+ "@alfresco/adf-testing": "6.0.0-A.2-8187",
"@angular-custom-builders/lite-serve": "^0.2.3",
"@angular-devkit/build-angular": "14.1.2",
"@angular-eslint/builder": "^14.1.2",
diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts
index fb049c690..3d6365c26 100644
--- a/projects/aca-content/src/lib/aca-content.module.ts
+++ b/projects/aca-content/src/lib/aca-content.module.ts
@@ -33,8 +33,7 @@ import {
DebugAppConfigService,
AuthGuardEcm,
LanguagePickerComponent,
- NotificationHistoryComponent,
- UserInfoComponent
+ NotificationHistoryComponent
} from '@alfresco/adf-core';
import {
ContentModule,
@@ -121,6 +120,7 @@ import { AppTrashcanModule } from './components/trashcan/trashcan.module';
import { AppSharedLinkViewModule } from './components/shared-link-view/shared-link-view.module';
import { AcaFolderRulesModule } from '@alfresco/aca-folder-rules';
import { TagsColumnComponent } from './components/dl-custom-components/tags-column/tags-column.component';
+import { UserInfoComponent } from './components/common/user-info/user-info.component';
registerLocaleData(localeFr);
registerLocaleData(localeDe);
diff --git a/projects/aca-content/src/lib/components/common/common.module.ts b/projects/aca-content/src/lib/components/common/common.module.ts
index e92a2c295..5f794f01a 100644
--- a/projects/aca-content/src/lib/components/common/common.module.ts
+++ b/projects/aca-content/src/lib/components/common/common.module.ts
@@ -32,10 +32,20 @@ import { LocationLinkComponent } from './location-link/location-link.component';
import { ToggleSharedComponent } from './toggle-shared/toggle-shared.component';
import { LanguagePickerComponent } from './language-picker/language-picker.component';
import { LogoutComponent } from './logout/logout.component';
+import { ContentModule } from '@alfresco/adf-content-services';
+import { UserInfoComponent } from './user-info/user-info.component';
@NgModule({
- imports: [CommonModule, CoreModule.forChild(), ExtensionsModule, GenericErrorModule],
- declarations: [LocationLinkComponent, ToggleSharedComponent, LanguagePickerComponent, LogoutComponent],
- exports: [ExtensionsModule, LocationLinkComponent, GenericErrorModule, ToggleSharedComponent, LanguagePickerComponent, LogoutComponent]
+ imports: [CommonModule, CoreModule.forChild(), ContentModule.forChild(), ExtensionsModule, GenericErrorModule],
+ declarations: [LocationLinkComponent, ToggleSharedComponent, LanguagePickerComponent, LogoutComponent, UserInfoComponent],
+ exports: [
+ ExtensionsModule,
+ LocationLinkComponent,
+ GenericErrorModule,
+ ToggleSharedComponent,
+ LanguagePickerComponent,
+ LogoutComponent,
+ UserInfoComponent
+ ]
})
export class AppCommonModule {}
diff --git a/projects/aca-content/src/lib/components/common/user-info/user-info.component.html b/projects/aca-content/src/lib/components/common/user-info/user-info.component.html
new file mode 100644
index 000000000..2b07657e2
--- /dev/null
+++ b/projects/aca-content/src/lib/components/common/user-info/user-info.component.html
@@ -0,0 +1,14 @@
+
+
+
+
\ No newline at end of file
diff --git a/projects/aca-content/src/lib/components/common/user-info/user-info.component.ts b/projects/aca-content/src/lib/components/common/user-info/user-info.component.ts
new file mode 100644
index 000000000..b34695589
--- /dev/null
+++ b/projects/aca-content/src/lib/components/common/user-info/user-info.component.ts
@@ -0,0 +1,67 @@
+/*
+ * Copyright © 2005 - 2021 Alfresco Software, Ltd. All rights reserved.
+ *
+ * License rights for this program may be obtained from Alfresco Software, Ltd.
+ * pursuant to a written agreement and any use of this program without such an
+ * agreement is prohibited.
+ */
+
+import { EcmUserModel, IdentityUserModel, PeopleContentService, IdentityUserService, AuthenticationService, UserInfoMode } from '@alfresco/adf-core';
+import { Component, OnInit } from '@angular/core';
+import { Observable, of } from 'rxjs';
+
+@Component({
+ selector: 'app-user-info',
+ templateUrl: './user-info.component.html'
+})
+export class UserInfoComponent implements OnInit {
+ mode: UserInfoMode;
+ ecmUser$: Observable;
+ identityUser$: Observable;
+ selectedIndex: number;
+ userInfoMode = UserInfoMode;
+
+ constructor(
+ private peopleContentService: PeopleContentService,
+ private identityUserService: IdentityUserService,
+ private authService: AuthenticationService
+ ) {}
+
+ ngOnInit() {
+ this.getUserInfo();
+ }
+
+ getUserInfo() {
+ if (this.authService.isOauth()) {
+ this.loadIdentityUserInfo();
+ this.mode = UserInfoMode.SSO;
+
+ if (this.authService.isECMProvider() && this.authService.isEcmLoggedIn()) {
+ this.mode = UserInfoMode.CONTENT_SSO;
+ this.loadEcmUserInfo();
+ }
+ } else if (this.isEcmLoggedIn()) {
+ this.loadEcmUserInfo();
+ this.mode = UserInfoMode.CONTENT;
+ }
+ }
+
+ get isLoggedIn(): boolean {
+ if (this.authService.isKerberosEnabled()) {
+ return true;
+ }
+ return this.authService.isLoggedIn();
+ }
+
+ private loadEcmUserInfo(): void {
+ this.ecmUser$ = this.peopleContentService.getCurrentUserInfo();
+ }
+
+ private loadIdentityUserInfo() {
+ this.identityUser$ = of(this.identityUserService.getCurrentUserInfo());
+ }
+
+ private isEcmLoggedIn() {
+ return this.authService.isEcmLoggedIn() || (this.authService.isECMProvider() && this.authService.isKerberosEnabled());
+ }
+}