Merge branch 'DEVELOP_FE' of ssh://git.eclipse.org:29418/elogbook/elogbookFE into DEVELOP_FE
# Conflicts:
# src/app/app.component.ts
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 691d136..b1ffff5 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -16,7 +16,6 @@
import { ImportFileCallerService } from './services/jobs/import-file-caller.service';
import { BannerMessage } from './common/banner-message';
import { BannerMessageStatusEn } from './common/enums';
-
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
@@ -29,8 +28,8 @@
constructor(private http: Http, public router: Router,
public baseDataLoader: BaseDataLoaderService,
- private activatedRoute: ActivatedRoute,
- public httpInterceptor: HttpResponseInterceptorService,
+ private activatedRoute: ActivatedRoute,
+ public httpInterceptor: HttpResponseInterceptorService,
private sessionContext: SessionContext,
private messageService: MessageService,
public reminderCallerJobService: ReminderCallerJobService,
diff --git a/src/app/dialogs/logout/logout.component.ts b/src/app/dialogs/logout/logout.component.ts
index e8162c4..46fc818 100644
--- a/src/app/dialogs/logout/logout.component.ts
+++ b/src/app/dialogs/logout/logout.component.ts
@@ -1,6 +1,7 @@
import { Component, Optional } from '@angular/core';
import { MdDialogRef } from '@angular/material';
import { MessageService, MessageDefines } from '../../services/message.service';
+import { AuthenticationService } from '../../services/authentication.service';
import { Router } from '@angular/router';
@Component({
@@ -13,14 +14,19 @@
constructor(
@Optional() public dialogRef: MdDialogRef<LogoutComponent>,
private msgService: MessageService,
- private router: Router) {
-
- }
+ private authService: AuthenticationService,
+ private router: Router) {}
logout() {
- this.dialogRef.config.data.logout();
- this.msgService.loginLogoff$.emit(MessageDefines.MSG_LOG_OFF);
- this.dialogRef.close();
- this.router.navigate(['/logout']);
+ this.authService.logout().subscribe(res => {
+ this.dialogRef.config.data.logout();
+ this.msgService.loginLogoff$.emit(MessageDefines.MSG_LOG_OFF);
+ this.dialogRef.close();
+ this.router.navigate(['/logout']);
+ },
+ error => {
+ console.log(error);
+ }
+ );
}
}
diff --git a/src/app/services/authentication.service.spec.ts b/src/app/services/authentication.service.spec.ts
index c64ddc3..41860eb 100644
--- a/src/app/services/authentication.service.spec.ts
+++ b/src/app/services/authentication.service.spec.ts
@@ -70,35 +70,6 @@
const options = new ResponseOptions({status: 200, body: fakeUser, headers: successHeaders} );
response = new Response(options);
}));
- it('should have expected fake user (then)', async(inject([], () => {
- backend.connections.subscribe((c: MockConnection) => c.mockRespond(response));
-
- service.login( fakeCreds ).toPromise()
- .then( user => {
- expect(user.id).toBe(44);
- expect(user.username).toBe('carlo');
- expect(user.password).toBe('serverPwd');
- expect(user.name).toBe('Carlo Cottura');
- expect(user.specialUser).toBe(true);
- expect(sessionContext.getCurrSessionId()).toBe('SuperVALID!');
- });
- })));
-
- it('should treat 404 as an Observable error', async(inject([], () => {
- const resp = new Response(new ResponseOptions({status: 404, body: {} }));
-
- backend.connections.subscribe((c: MockConnection) => c.mockRespond(resp));
-
- service.login(fakeCreds)
- .do(user => {
- fail('should not respond with user');
- })
- .catch(err => {
- const str = err;
- expect(err).toMatch('Bad response status', 'should catch bad response status code');
- return Observable.of(null); // failure is the expected test result
- })
- .toPromise();
- })));
+
});
});
diff --git a/src/app/services/authentication.service.ts b/src/app/services/authentication.service.ts
index 15990f8..9ab8024 100644
--- a/src/app/services/authentication.service.ts
+++ b/src/app/services/authentication.service.ts
@@ -21,10 +21,10 @@
super(messageService);
}
- public login(creds: LoginCredentials): Observable<any> {
+ public logout(): Observable<any> {
const headers = new Headers();
this.createCommonHeaders(headers, this._sessionContext);
- return this._http.post(super.getBaseUrl() + '/login', creds, { headers: headers })
+ return this._http.get(super.getBaseUrl() + '/logout', { headers: headers })
.map(res => {
super.extractSessionId(res.headers, this._sessionContext);
return super.extractData(res, this._sessionContext);