diff --git a/src/app/appmarket/appdetails/appdetails.component.html b/src/app/appmarket/appdetails/appdetails.component.html index 7caaea2e74a14291fecff80651685535df415117..54d16fe6121cbe94c43871d756f13e849f26131b 100644 --- a/src/app/appmarket/appdetails/appdetails.component.html +++ b/src/app/appmarket/appdetails/appdetails.component.html @@ -2,10 +2,10 @@ <div style=" display: flex; flex-direction: row; justify-content: space-between; padding-bottom: 50px"> <div style="display: flex; align-items: center;"> <div *ngIf="app"> - <img alt="App logo" [src]="(appImagesService.getAppLogoUrl(appId) | secure) || 'assets/images/app-logo-example.png'" height="90px"/> + <img alt="App logo" [src]="(appImagesService.getAppLogoUrl(appId) | secure) || 'assets/images/app-logo-example.png'" height="90px" width="90px"/> </div> <div *ngIf="!app"> - <img alt="App logo" src="assets/images/app-logo-example.png" height="90px"/> + <img alt="App logo" src="assets/images/app-logo-example.png" height="90px" width="90px"/> </div> <h3 style="margin:0 20px;">{{app?.name}}</h3> </div> diff --git a/src/app/appmarket/appmanagement/app-management-list/appmanagementlist.component.html b/src/app/appmarket/appmanagement/app-management-list/appmanagementlist.component.html index 8c62d32324d1e5e25b5cf52127828ae5af7c8353..7e8d834530f8f244b5d9b753bf615e8c233585f3 100644 --- a/src/app/appmarket/appmanagement/app-management-list/appmanagementlist.component.html +++ b/src/app/appmarket/appmanagement/app-management-list/appmanagementlist.component.html @@ -50,8 +50,8 @@ </td> <td (click)="clickTableRow(i)">{{app?.name}}</td> <td (click)="clickTableRow(i)">{{app?.owner}}</td> - <td></td> - <td></td> + <td (click)="clickTableRow(i)"></td> + <td (click)="clickTableRow(i)"></td> <td class="text-right"> <span class="dropdown"> <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button"> diff --git a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html index 77fa7865ee58f68e0d6d01784560d9c485f3aa1a..12193d91f3eca3136117ab24d974b7f601788fd3 100644 --- a/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html +++ b/src/app/appmarket/bulkDeployment/bulk-list/bulk-list.component.html @@ -81,28 +81,28 @@ <th pSortableColumn="state">{{'BULK.LIST.STATE' | translate}} <p-sortIcon field="state"></p-sortIcon> </th> - <th></th> +<!-- <th></th>--> </tr> </ng-template> <ng-template pTemplate="body" let-bulk> <tr class="table-row"> - <td>{{bulk?.id}}</td> - <td>{{bulk?.creator.username}}</td> - <td>{{bulk?.creationDate | date: 'dd-MM-yyyy HH:mm'}}</td> - <td>{{'BULK.STATE.' + bulk?.state | translate}}</td> - <td class="text-right"> - <span class="dropdown"> - <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button"> - <em class="fas fa-cog icon-black icon-bigger"></em> - </a> - <ul class="dropdown-menu pull-right-drop"> - <li *ngIf="mode === bulkTypeDomain"> - <a [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{ 'BULK.LIST.DETAILS' | translate }}</a> - </li> - </ul> - </span> - </td> + <td [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{bulk?.id}}</td> + <td [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{bulk?.creator.username}}</td> + <td [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{bulk?.creationDate | date: 'dd-MM-yyyy HH:mm'}}</td> + <td [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{'BULK.STATE.' + bulk?.state | translate}}</td> +<!-- <td class="text-right">--> +<!-- <span class="dropdown">--> +<!-- <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button">--> +<!-- <em class="fas fa-cog icon-black icon-bigger"></em>--> +<!-- </a>--> +<!-- <ul class="dropdown-menu pull-right-drop">--> +<!-- <li *ngIf="mode === bulkTypeDomain">--> +<!-- <a [routerLink]="['/admin/domains/bulks/', bulk?.id]">{{ 'BULK.LIST.DETAILS' | translate }}</a>--> +<!-- </li>--> +<!-- </ul>--> +<!-- </span>--> +<!-- </td>--> </tr> </ng-template> </p-table> @@ -180,21 +180,21 @@ <ng-template pTemplate="body" let-bulk> <tr class="table-row"> - <td>{{bulk?.id}}</td> - <td>{{bulk?.creator.username}}</td> - <td>{{getApplicationName(bulk?.details)}}</td> - <td>{{getInstancesNumber(bulk?.details)}}</td> - <td>{{bulk?.creationDate | date: 'dd-MM-yyyy HH:mm'}}</td> - <td>{{'BULK.STATE.' + bulk?.state | translate}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{bulk?.id}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{bulk?.creator.username}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{getApplicationName(bulk?.details)}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{getInstancesNumber(bulk?.details)}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{bulk?.creationDate | date: 'dd-MM-yyyy HH:mm'}}</td> + <td [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{'BULK.STATE.' + bulk?.state | translate}}</td> <td class="text-right"> <span class="dropdown"> <a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button"> <em class="fas fa-cog icon-black icon-bigger"></em> </a> <ul class="dropdown-menu pull-right-drop"> - <li *ngIf="mode === bulkTypeApp"> - <a [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{ 'BULK.LIST.DETAILS' | translate }}</a> - </li> +<!-- <li *ngIf="mode === bulkTypeApp">--> +<!-- <a [routerLink]="['/admin/apps/bulks/', bulk?.id]">{{ 'BULK.LIST.DETAILS' | translate }}</a>--> +<!-- </li>--> <li *ngIf="mode === bulkTypeApp && bulk?.state !== 'REMOVED'"> <a (click)="getAppBulkDetails(bulk?.id)"> {{"BULK.APP.DOWNLOAD_CSV" | translate}}</a> </li> diff --git a/src/app/appmarket/domains/domain-groups/domain-groups.component.html b/src/app/appmarket/domains/domain-groups/domain-groups.component.html index 0e054bd69320aa30d884104e74f13f0865f7923e..efb93d02f427a779d9da5f9bae983f15903f8b7a 100644 --- a/src/app/appmarket/domains/domain-groups/domain-groups.component.html +++ b/src/app/appmarket/domains/domain-groups/domain-groups.component.html @@ -18,10 +18,18 @@ <ng-template pTemplate="header"> <tr> <th></th> - <th>{{'APPS_MANAGEMENT.NAME' | translate}}</th> - <th>{{'DOMAINS.CODE_NAME' | translate}}</th> - <th>{{'DOMAINS.LIST.DOMAIN_NAME' | translate}}</th> - <th>{{'DOMAINS.LIST.DOMAIN_CODE_NAME' | translate}}</th> + <th pSortableColumn="name">{{'APPS_MANAGEMENT.NAME' | translate}} + <p-sortIcon field="name"></p-sortIcon> + </th> + <th pSortableColumn="codenam">{{'DOMAINS.CODE_NAME' | translate}} + <p-sortIcon field="codename"></p-sortIcon> + </th> + <th pSortableColumn="domainName">{{'DOMAINS.LIST.DOMAIN_NAME' | translate}} + <p-sortIcon field="domainName"></p-sortIcon> + </th> + <th pSortableColumn="domainCode">{{'DOMAINS.LIST.DOMAIN_CODE_NAME' | translate}} + <p-sortIcon field="domainCode"></p-sortIcon> + </th> <th></th> </tr> </ng-template> diff --git a/src/app/appmarket/domains/domain/domain.component.html b/src/app/appmarket/domains/domain/domain.component.html index 0963f7ae40c3656822bfd6c2d4fb6734d09292e3..4a2bbc075ab0ad2e7b678bf928a993939e976c2b 100644 --- a/src/app/appmarket/domains/domain/domain.component.html +++ b/src/app/appmarket/domains/domain/domain.component.html @@ -120,6 +120,9 @@ </thead> <tbody> + <tr *ngIf="domainUsers.length === 0" > + <td colspan="6" style="text-align: center">None</td> + </tr> <ng-template ngFor let-user [ngForOf]="domainUsers"> <tr> <td *ngIf="authService.hasRole('ROLE_SYSTEM_ADMIN')">{{user.id}}</td> @@ -248,6 +251,9 @@ </thead> <tbody> + <tr *ngIf="domain.groups.length === 0" > + <td colspan="6" style="text-align: center">None</td> + </tr> <ng-template ngFor let-group [ngForOf]="domain.groups"> <tr> <td>{{group.name}}</td> diff --git a/src/app/appmarket/domains/domain/domain.component.ts b/src/app/appmarket/domains/domain/domain.component.ts index b31df76200441f3eaaeb2f9a9dc7294991749ac7..2d0ab1b1f3998695ea96b039d43dc101eac33a2b 100644 --- a/src/app/appmarket/domains/domain/domain.component.ts +++ b/src/app/appmarket/domains/domain/domain.component.ts @@ -36,7 +36,7 @@ export class DomainComponent extends BaseComponent implements OnInit { public domainId: number; public domain: Domain; public dcnUpdated = false; - public domainUsers: User[]; + public domainUsers: User[] = []; protected domainCache: CacheService<number, Domain> = new CacheService<number, Domain>(); public keys: any = Object.keys(DcnDeploymentType).filter((type) => { return isNaN(Number(type)); @@ -64,6 +64,7 @@ export class DomainComponent extends BaseComponent implements OnInit { } ngOnInit() { + console.warn('WWWWWWWWWWWWWWWWwwww', this.domainUsers) console.log(this.getCurrentMode()); this.modal.setModalType('warning'); this.modal.setStatusOfIcons(true); diff --git a/src/app/appmarket/domains/list/domainslist.component.html b/src/app/appmarket/domains/list/domainslist.component.html index 5a279e5cd877cd3b2c0ba1978ecc8549aa6e3dd8..737b5a4dfb94e75897073c3dc57ac81d1b10d2b3 100644 --- a/src/app/appmarket/domains/list/domainslist.component.html +++ b/src/app/appmarket/domains/list/domainslist.component.html @@ -46,8 +46,8 @@ <ng-template pTemplate="body" let-domain> <tr *ngIf="!domain.deleted"> <td [routerLink]="['view/', domain.id]">{{domain?.codename}}</td> - <td>{{domain?.name}}</td> - <td> + <td [routerLink]="['view/', domain.id]">{{domain?.name}}</td> + <td [routerLink]="['view/', domain.id]"> <span class="glyphicon glyphicon-ok" *ngIf="domain?.active"></span> <span class="glyphicon glyphicon-remove" *ngIf="!(domain?.active)"></span> </td> @@ -57,9 +57,6 @@ <em class="pi pi-cog" style="font-size: 1.8rem; color: var(--l-text-color)"></em> </a> <ul class="dropdown-menu pull-right-drop" [appendTo]="'body'" > - <li><a [routerLink]="['view/', domain.id]" class=""> - {{ 'DOMAINS.DETAILS_BUTTON' | translate }}</a> - </li> <li><a *roles="['ROLE_SYSTEM_ADMIN', 'ROLE_OPERATOR']" [routerLink]="['edit/', domain.id]" class="">{{ 'DOMAINS.EDIT_BUTTON' | translate }}</a> </li> diff --git a/src/app/shared/footer/footer.component.html b/src/app/shared/footer/footer.component.html index e39c025be237c2abd69a09b6811a31051f220a54..3eae4f9779e21f76683863cb81fe749882d708b0 100644 --- a/src/app/shared/footer/footer.component.html +++ b/src/app/shared/footer/footer.component.html @@ -2,13 +2,13 @@ <div class="container-width"> <div class="" style="display: flex; justify-content: space-between"> <div style="width:50%; display: flex"> - <div class="" style="margin-right: 20px"> + <div *ngIf="!isLoggedIn" class="" style="margin-right: 20px"> <!-- nmaas Logo optionally --> <a href="https://www.geant.org/"> <img alt="GÉANT Logo" src="/assets/images/geant-logo.png" width="100" class="image-link"/> </a> </div> - <div class=""> + <div *ngIf="!isLoggedIn" class=""> <img alt="EU flag" src="/assets/images/cofunded.png" width="180" style="padding-top: 5px; "/> </div> </div> diff --git a/src/app/shared/footer/footer.component.ts b/src/app/shared/footer/footer.component.ts index 1884650ece120c7fcffe03e1269d5d326bd1a346..3c8a564d51f625094214e7f3c2699ca367b62a9e 100644 --- a/src/app/shared/footer/footer.component.ts +++ b/src/app/shared/footer/footer.component.ts @@ -3,6 +3,7 @@ import { Router } from '@angular/router'; import {AppConfigService, ChangelogService} from '../../service'; import {GitInfo} from '../../model/gitinfo'; import {TranslateService} from '@ngx-translate/core'; +import {AuthService} from '../../auth/auth.service'; @Component({ selector: 'nmaas-footer', @@ -14,12 +15,14 @@ export class FooterComponent implements OnInit { public gitInfo: GitInfo; public landingProfile = ''; + public isLoggedIn = false; - constructor(private changelogService: ChangelogService, private router: Router, + constructor(private changelogService: ChangelogService, private router: Router, private authService: AuthService, public appConfigService: AppConfigService, public translate: TranslateService, private appConfig: AppConfigService) { } ngOnInit() { + this.isLoggedIn = this.authService.isLogged() ; if (this.appConfigService.getShowGitInfo()) { this.changelogService.getGitInfo().subscribe(info => this.gitInfo = info); } diff --git a/src/app/shared/left-menu/left-menu.component.css b/src/app/shared/left-menu/left-menu.component.css index 4ae8e6cfc231bdce82773cef601b773e09fe7be0..362d4dc45fd8194122f8fc3dc12982bf0f6e99ad 100644 --- a/src/app/shared/left-menu/left-menu.component.css +++ b/src/app/shared/left-menu/left-menu.component.css @@ -52,8 +52,8 @@ background: var(--user-button-background-hover) } :host ::ng-deep .p-menu.p-menu-overlay{ - position: static; - width:100%; + position: absolute; + width:93%; margin-bottom:5px; border:none; } diff --git a/src/app/shared/left-menu/left-menu.component.html b/src/app/shared/left-menu/left-menu.component.html index 38d7687035637e3d3ee3cc8913e63affe9d93231..35fb1012e9652c3a94fea38b6afcbb7f6cc3945b 100644 --- a/src/app/shared/left-menu/left-menu.component.html +++ b/src/app/shared/left-menu/left-menu.component.html @@ -6,7 +6,8 @@ <img *ngIf="isCollapsed" class="logo" src="../../../assets/images/nmaas-cloud.png" width="50px"> </div> <div class="toggle-button" (click)="toggleMenu()" [ngStyle]="{'left': isCollapsed ? '85px' : '284px'}"> - <i style="font-size: 1.8rem" class="pi pi-angle-left"></i> + <i *ngIf="!isCollapsed" style="font-size: 1.8rem" class="pi pi-angle-left"></i> + <i *ngIf="isCollapsed" style="font-size: 1.8rem" class="pi pi-angle-right"></i> </div> </div> <div style="margin-top: 30px"> @@ -156,7 +157,7 @@ User </span> </p-button> - <div style="margin-top:10px" [routerLink]="['admin/dashboard']"> + <div *roles="['ROLE_DOMAIN_ADMIN', 'ROLE_SYSTEM_ADMIN']" style="margin-top:10px" [routerLink]="['admin/dashboard']"> <p-button *ngIf="!toggleAdmin" (onClick)="adminPanel()" ><i class="pi pi-sign-in" style="margin-right:10px; font-size: 18px"[ngClass]="{'collapsed': isCollapsed}" title=" Go to admin panel"></i> <span *ngIf="!isCollapsed"> Admin panel diff --git a/src/app/shared/users/list/userslist.component.html b/src/app/shared/users/list/userslist.component.html index 39d46e17d1dd501a7dc60d261a9cf9338ce8aa36..1425e8fbea2febe1660e17df5d2182d18036a7e0 100644 --- a/src/app/shared/users/list/userslist.component.html +++ b/src/app/shared/users/list/userslist.component.html @@ -115,17 +115,17 @@ <ng-template pTemplate="body" let-user> <tr> <td (click)="view(user.id)">{{ user.username }}</td> - <td>{{(user.firstname || '') + ' ' + (user.lastname || '')}}</td> - <td *ngIf="!domainMode">{{user.email}}</td> - <td *ngIf="domainId === domainService.getGlobalDomainId()"> + <td (click)="view(user.id)">{{(user.firstname || '') + ' ' + (user.lastname || '')}}</td> + <td *ngIf="!domainMode" (click)="view(user.id)">{{user.email}}</td> + <td *ngIf="domainId === domainService.getGlobalDomainId()" (click)="view(user.id)"> <span *ngFor="let role of filterDomainNames(user); let isLast = last"> {{ getDomainName(role.domainId) | async }}{{ !isLast ? ', ' : '' }} </span> </td> - <td *ngIf="domainId === domainService.getGlobalDomainId()"> + <td *ngIf="domainId === domainService.getGlobalDomainId()" (click)="view(user.id)"> <span>{{"ENUM.USER_ROLES." + getGlobalRole(user).toUpperCase() | translate}}</span> </td> - <td *ngIf="domainId !== domainService.getGlobalDomainId() && !isModeAllowed(ComponentMode.EDIT)"> + <td *ngIf="domainId !== domainService.getGlobalDomainId() && !isModeAllowed(ComponentMode.EDIT)" > <div *roles="['ROLE_DOMAIN_ADMIN'];excluded:['ROLE_SYSTEM_ADMIN']"> <div *ngIf="!checkUserIfIsCurrentUser(user.username)"> <li [routerLinkActiveOptions]="{exact:true}" @@ -156,13 +156,13 @@ </div> </div> </td> - <td *ngIf="!isModeAllowed(ComponentMode.EDIT) && !domainMode"> + <td *ngIf="!isModeAllowed(ComponentMode.EDIT) && !domainMode" (click)="view(user.id)"> {{ user.firstLoginDate | date:'dd-MM-yyyy HH:mm' }} </td> - <td *ngIf="!isModeAllowed(ComponentMode.EDIT) && !domainMode"> + <td *ngIf="!isModeAllowed(ComponentMode.EDIT) && !domainMode" (click)="view(user.id)"> {{ user.lastSuccessfulLoginDate | date:'dd-MM-yyyy HH:mm' }} </td> - <td> + <td (click)="view(user.id)"> <i class="pi" [ngClass]="{'pi-check': user?.enabled, 'pi-times': !user?.enabled}"></i> </td> <td *ngIf="!domainMode && !isModeAllowed(ComponentMode.EDIT)"> diff --git a/src/styles.css b/src/styles.css index 908c0bd320579e9adddb50a1417859bbe91a9add..db65041caea971378fc49f73f4c65e48d62c3875 100644 --- a/src/styles.css +++ b/src/styles.css @@ -190,6 +190,7 @@ body .p-datatable .p-datatable-tbody > tr > td { border: 1px solid #E0E2E5; border-width: 0 0 1px 0; padding: 1rem 1rem; + cursor: pointer; } body .p-datatable .p-paginator-bottom{ height: 40px;