From 5ee2914e9530dc4ed6400a1e88925546fdd71757 Mon Sep 17 00:00:00 2001 From: Oleksii Kurinnyi Date: Mon, 2 Oct 2017 10:01:42 +0300 Subject: [PATCH] CHE-5802: fixes related to Codenvy parts transplantation (#6509) * fixes related to Codenvy parts transplantation - use username instead of full name for organization's members; - fix getting user's first and last name on Account page; - fix tabs alignment on Organization details page; - use api/profile endpoint to get current user's profile info for navbar; Signed-off-by: Oleksii Kurinnyi * code clean-up Signed-off-by: Oleksii Kurinnyi --- dashboard/src/app/index.module.ts | 2 +- dashboard/src/app/navbar/navbar.controller.ts | 46 ++++++++----- dashboard/src/app/navbar/navbar.html | 7 +- .../organization-details.html | 2 +- .../list-organization-members.controller.ts | 67 +++++++++++-------- .../list-organization-members.html | 4 +- .../src/app/profile/profile.controller.ts | 4 +- .../interceptor/interceptor-base.ts | 6 +- 8 files changed, 80 insertions(+), 58 deletions(-) diff --git a/dashboard/src/app/index.module.ts b/dashboard/src/app/index.module.ts index 13b348dafd..68f8650eb4 100755 --- a/dashboard/src/app/index.module.ts +++ b/dashboard/src/app/index.module.ts @@ -162,7 +162,7 @@ initModule.config(['$routeProvider', ($routeProvider: che.route.IRouteProvider) const DEV = false; // configs -initModule.config(['$routeProvider', ($routeProvider) => { +initModule.config(['$routeProvider', ($routeProvider: che.route.IRouteProvider) => { // config routes (add demo page) if (DEV) { $routeProvider.accessWhen('/demo-components', { diff --git a/dashboard/src/app/navbar/navbar.controller.ts b/dashboard/src/app/navbar/navbar.controller.ts index 7f9f0e30a2..fbb925c262 100644 --- a/dashboard/src/app/navbar/navbar.controller.ts +++ b/dashboard/src/app/navbar/navbar.controller.ts @@ -10,7 +10,7 @@ */ 'use strict'; import {CheAPI} from '../../components/api/che-api.factory'; -import {CheKeycloak, keycloakUserInfo} from '../../components/api/che-keycloak.factory'; +import {CheKeycloak} from '../../components/api/che-keycloak.factory'; export class CheNavBarController { private menuItemUrl = { @@ -53,7 +53,6 @@ export class CheNavBarController { private hasPersonalAccount: boolean; private organizations: Array; private cheKeycloak: CheKeycloak; - private userInfo: keycloakUserInfo; /** * Default constructor @@ -75,7 +74,6 @@ export class CheNavBarController { this.$window = $window; this.chePermissions = chePermissions; this.cheKeycloak = cheKeycloak; - this.userInfo = null; this.profile = cheAPI.getProfile().getProfile(); @@ -90,12 +88,6 @@ export class CheNavBarController { cheAPI.getWorkspace().fetchWorkspaces(); cheAPI.getFactory().fetchFactories(); - if (this.cheKeycloak.isPresent()) { - this.cheKeycloak.fetchUserInfo().then((userInfo: keycloakUserInfo) => { - this.userInfo = userInfo; - }); - } - if (this.chePermissions.getSystemPermissions()) { this.updateData(); } else { @@ -123,6 +115,17 @@ export class CheNavBarController { this.$route.reload(); } + /** + * Returns user nickname. + * @return {string} + */ + getUserName(): string { + const {attributes, email} = this.profile; + const fullName = this.cheAPI.getProfile().getFullName(attributes).trim(); + + return fullName ? fullName : email; + } + /** * Toggle the left menu */ @@ -161,17 +164,24 @@ export class CheNavBarController { return this.organizations.length; } - openLinkInNewTab(url: string): void { - this.$window.open(url, '_blank'); + /** + * Returns number of root organizations. + * + * @return {number} + */ + getRootOrganizationsNumber(): number { + if (!this.organizations) { + return 0; + } + let rootOrganizations = this.organizations.filter((organization: any) => { + return !organization.parent; + }); + + return rootOrganizations.length; } - /** - * Returns true if Keycloak is present. - * - * @returns {boolean} - */ - isKeycloakPresent(): boolean { - return this.cheKeycloak.isPresent(); + openLinkInNewTab(url: string): void { + this.$window.open(url, '_blank'); } /** diff --git a/dashboard/src/app/navbar/navbar.html b/dashboard/src/app/navbar/navbar.html index 9376750635..cd5629df52 100644 --- a/dashboard/src/app/navbar/navbar.html +++ b/dashboard/src/app/navbar/navbar.html @@ -123,8 +123,7 @@
+ layout="column" layout-align="end stretch" flex>