#878 fix user info demo

This commit is contained in:
Mario Romano
2016-11-09 14:00:46 +00:00
parent edc1699f49
commit 1dafba7a72
4 changed files with 143 additions and 120 deletions

View File

@@ -21,6 +21,8 @@ import { AlfrescoSettingsService } from './AlfrescoSettings.service';
import { AlfrescoApiService } from './AlfrescoApi.service';
import * as alfrescoApi from 'alfresco-js-api';
import { AlfrescoApi } from 'alfresco-js-api';
import { Subject } from 'rxjs/Subject';
/**
* The AlfrescoAuthenticationService provide the login service and store the ticket in the localStorage
*/
@@ -29,6 +31,10 @@ export class AlfrescoAuthenticationService {
alfrescoApi: AlfrescoApi;
public loginSubject: Subject<any> = new Subject<any>();
public logoutSubject: Subject<any> = new Subject<any>();
/**
* Constructor
* @param settingsService
@@ -84,6 +90,7 @@ export class AlfrescoAuthenticationService {
return Observable.fromPromise(this.callApiLogin(username, password))
.map((response: any) => {
this.saveTickets();
this.loginSubject.next(response);
return {type: this.settingsService.getProviders(), ticket: response};
})
.catch(this.handleError);
@@ -109,6 +116,7 @@ export class AlfrescoAuthenticationService {
return Observable.fromPromise(this.callApiLogout())
.map(res => <any> res)
.do(response => {
this.logoutSubject.next(response);
return response;
})
.catch(this.handleError);

View File

@@ -64,7 +64,6 @@ import { AlfrescoAuthenticationService, AlfrescoSettingsService } from 'ng2-alfr
<ng2-alfresco-userinfo [menuOpenType]="left"></ng2-alfresco-userinfo>
</div>
<!-- LOGIN COMPONENT -->
<alfresco-login [providers]="providers"
[disableCsrf]="disableCsrf"></alfresco-login>`,

View File

@@ -1,4 +1,4 @@
<div id="userinfo_container">
<div id="userinfo_container" *ngIf="isLoggedIn()">
<div *ngIf="ecmUser || bpmUser" class="button-profile" id="user-profile" data-automation-id="user-profile">
<img id="logged-user-img"
[src]="getUserAvatar()"

View File

@@ -47,9 +47,13 @@ export class UserInfoComponent implements AfterViewChecked, OnInit {
private baseComponentPath = module.id.replace('components/user-info.component.js', '');
ecmUser: EcmUserModel;
bpmUser: BpmUserModel;
anonymousImageUrl: string = this.baseComponentPath + 'img/anonymous.gif';
bpmUserImage: any;
ecmUserImage: any;
constructor(private ecmUserService: EcmUserService,
@@ -59,6 +63,10 @@ export class UserInfoComponent implements AfterViewChecked, OnInit {
if (translate) {
translate.addTranslationFolder('node_modules/ng2-alfresco-userinfo/src');
}
authService.loginSubject.subscribe((response) => {
this.getUserInfo();
});
}
ngAfterViewChecked() {
@@ -69,10 +77,18 @@ export class UserInfoComponent implements AfterViewChecked, OnInit {
}
ngOnInit() {
this.getUserInfo();
}
getUserInfo() {
this.getEcmUserInfo();
this.getBpmUserInfo();
}
isLoggedIn() {
return this.authService.isLoggedIn();
}
getEcmUserInfo(): void {
if (this.authService.isEcmLoggedIn()) {
this.ecmUserService.getCurrentUserInfo()