You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/06/26 15:53:02 UTC

[incubator-dlab] branch develop updated: [DLAB-1896]: make audit hidden if value of 'auditEnabled' is false (#802)

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/develop by this push:
     new 4cf5db4  [DLAB-1896]: make audit  hidden if value of 'auditEnabled' is false (#802)
4cf5db4 is described below

commit 4cf5db4691c50a3c6093f4bf930e520b092cff20
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Fri Jun 26 18:52:57 2020 +0300

    [DLAB-1896]: make audit  hidden if value of 'auditEnabled' is false (#802)
    
    [DLAB-1896]: Hide audit in navbar if value of 'auditEnabled' is false
---
 .../administration/management/management.model.ts  |  1 +
 .../resources/webapp/src/app/app.routing.module.ts |  4 +--
 .../resources/webapp/src/app/core/core.module.ts   |  2 ++
 .../index.ts => core/services/audit.guard.ts}      | 34 +++++++---------------
 .../src/app/core/services/healthStatus.service.ts  |  4 +++
 .../webapp/src/app/core/services/index.ts          |  1 +
 .../audit/audit-grid/audit-grid.component.scss     |  4 +--
 .../bucket-browser/bucket-browser.component.html   |  2 --
 .../bucket-browser/bucket-browser.component.ts     |  2 +-
 .../bucket-browser/bucket-data.service.ts          |  2 +-
 .../webapp/src/app/shared/navbar/index.ts          |  2 +-
 .../src/app/shared/navbar/navbar.component.html    |  4 +--
 12 files changed, 27 insertions(+), 35 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management.model.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/management.model.ts
index 6b0f600..4387884 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management.model.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management.model.ts
@@ -71,6 +71,7 @@ export class BackupOptionsModel {
 
 export interface GeneralEnvironmentStatus {
   admin: boolean;
+  auditEnabled: boolean;
   projectAdmin: boolean;
   billingEnabled: boolean;
   billingQuoteUsed: number;
diff --git a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
index b8792e5..81663d4 100644
--- a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
@@ -33,7 +33,7 @@ import { ProjectComponent } from './administration/project/project.component';
 import { RolesComponent } from './administration/roles/roles.component';
 import { SwaggerComponent } from './swagger/swagger.component';
 
-import { AuthorizationGuard, CheckParamsGuard, CloudProviderGuard, AdminGuard } from './core/services';
+import { AuthorizationGuard, CheckParamsGuard, CloudProviderGuard, AdminGuard, AuditGuard } from './core/services';
 import {AuditComponent} from './reports/audit/audit.component';
 
 const routes: Routes = [{
@@ -84,7 +84,7 @@ const routes: Routes = [{
     {
       path: 'audit',
       component: AuditComponent,
-      canActivate: [AuthorizationGuard, AdminGuard],
+      canActivate: [AuthorizationGuard, AuditGuard],
     },
   ]
 }, {
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/core.module.ts b/services/self-service/src/main/resources/webapp/src/app/core/core.module.ts
index f815c70..84fc615 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/core.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/core.module.ts
@@ -48,6 +48,7 @@ import { NoCacheInterceptor } from './interceptors/nocache.interceptor';
 import { ErrorInterceptor } from './interceptors/error.interceptor';
 
 import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import {AuditGuard} from './services';
 
 @NgModule({
   imports: [CommonModule],
@@ -65,6 +66,7 @@ export class CoreModule {
         ApplicationSecurityService,
         AuthorizationGuard,
         AdminGuard,
+        AuditGuard,
         CloudProviderGuard,
         CheckParamsGuard,
         AppRoutingService,
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.guard.ts
similarity index 50%
copy from services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
copy to services/self-service/src/main/resources/webapp/src/app/core/services/audit.guard.ts
index 7a6f2d4..ef61d05 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.guard.ts
@@ -17,29 +17,15 @@
  * under the License.
  */
 
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { RouterModule } from '@angular/router';
-import { MaterialModule } from '../material.module';
-import { ProgressDialogModule, BubbleModule } from '../index';
+import { Injectable } from '@angular/core';
+import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
+import { HealthStatusService } from './healthStatus.service';
 
-import { NavbarComponent } from './navbar.component';
-import { NotificationDialogModule } from '../modal-dialog/notification-dialog';
-import {EdgeActionDialogModule} from "../modal-dialog/edge-action-dialog";
+@Injectable()
+export class AuditGuard implements CanActivate {
+  constructor(private _healthStatus: HealthStatusService) { }
 
-export * from './navbar.component';
-
-@NgModule({
-  imports: [
-    CommonModule,
-    RouterModule,
-    MaterialModule,
-    NotificationDialogModule,
-    EdgeActionDialogModule,
-    ProgressDialogModule,
-    BubbleModule,
-  ],
-  declarations: [NavbarComponent],
-  exports: [NavbarComponent, RouterModule]
-})
-export class NavbarModule { }
+  canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
+    return this._healthStatus.isPassageway('audit');
+  }
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/healthStatus.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/healthStatus.service.ts
index 12086bc..02004f3 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/healthStatus.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/healthStatus.service.ts
@@ -119,6 +119,10 @@ export class HealthStatusService {
               this.appRoutingService.redirectToHomePage();
               return false;
             }
+            if (parameter === 'audit' && !data.auditEnabled) {
+              this.appRoutingService.redirectToHomePage();
+              return false;
+            }
             if (parameter === 'administration' && !data.admin && !data.projectAdmin) {
               this.appRoutingService.redirectToNoAccessPage();
               return false;
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
index 0068a29..2005741 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/index.ts
@@ -26,6 +26,7 @@ export * from './userResource.service';
 export * from './authorization.guard';
 export * from './admin.guard';
 export * from './cloudProvider.guard';
+export * from './audit.guard';
 export * from './checkParams.guard';
 export * from './librariesInstallation.service';
 export * from './manageUngit.service';
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
index 125a404..f1c1df0 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
@@ -32,7 +32,7 @@
 
     tr {
       .th_user {
-        width: 19%;
+        width: 15%;
       }
 
       .th_action {
@@ -48,7 +48,7 @@
       }
 
       .th_resource{
-        width: 11%;
+        width: 14%;
       }
 
       .th_resource-type{
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
index 9dfa1fb..449445f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
@@ -190,7 +190,6 @@
               </div>
               <div class="size">{{file.object?.size | convertFileSize}}</div>
               <div class="date" *ngIf="!file.isDownloading">{{convertDate(file.object?.lastModifiedDate) | date: 'dd/MM/yyyy hh:mm:ss aa'  }}</div>
-<!--              <div class="date" *ngIf="!file.isDownloading">{{file.object?.lastModifiedDate }}</div>-->
               <div class="progress-wrapper" *ngIf="file.isDownloading">
                 <div class="progres">
                   <span class="progress-bar-text">{{file.progress || 0}}% Downloading...</span>
@@ -215,7 +214,6 @@
         <span class="close" matTooltip="Upload is still in progress, please wait." matTooltipPosition="above" [ngClass]="{'not-allow': isFileUploading}" [matTooltipDisabled]="!isFileUploading">
            <button type="button" class="close" (click)="closeUploadWindow()" [disabled]="isFileUploading" [ngClass]="{'not-allow': isFileUploading}" >&times;</button>
         </span>
-
       </header>
       <ul class="upload-files">
         <li class="file upload-table-header" *ngIf="addedFiles.length">
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
index 2485a40..d3c4c73 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
@@ -62,7 +62,7 @@ export class BucketBrowserComponent implements OnInit {
   public isFilterVisible: boolean;
   public buckets;
   public isFileUploading: boolean;
-  public uploadingQueueLength: number = 5;
+  public uploadingQueueLength: number = 4;
   public maxFileSize: number = 4294967296;
 
   @ViewChild(FolderTreeComponent, {static: true}) folderTreeComponent;
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
index 9eed7a9..5dae6b4 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
@@ -23,7 +23,7 @@ import {BucketBrowserService, TodoItemNode} from '../../core/services/bucket-bro
 
 
 const array = [{'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'folder11/', 'size': '18 bytes', 'lastModifiedDate': '21-4-2020 11:36:36'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'folder11/dsafaraorueajkegrgavhsfnvgahsfgsdjfhagsdjfg497frgfhsdajfsgdafjsxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzdvcfdvbgffgsdfgdsafaraorueajkegrgavhsfnvgahsfgsdjfhagsdjfg497frgfhsdajfsgdafjsxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzdvcfdvbgffgsdfgdsfgsdfgggggg', ' [...]
-{'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '3.jpg', 'size': '5 bytes', 'lastModifiedDate': '14-4-2020 09:36:16'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '2.jpg', 'size': '52 bytes', 'lastModifiedDate': '17-4-2020 12:13:26'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '1test', 'size': '112 bytes', 'lastModifiedDate': '14-4-2020 04:55:02'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'test.pem', 'size': '1 KB', 'lastModifiedDate': '14-4-2020 04:57 [...]
+{'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '<script>alert("hello")' + ' </script>', 'size': '5 bytes', 'lastModifiedDate': '14-4-2020 09:36:16'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '2.jpg', 'size': '52 bytes', 'lastModifiedDate': '17-4-2020 12:13:26'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '1test', 'size': '112 bytes', 'lastModifiedDate': '14-4-2020 04:55:02'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'test.pem', 'size': '1 KB', 'las [...]
 {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': '5.jpg', 'size': '52 bytes', 'lastModifiedDate': '17-4-2020 12:13:26'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'test', 'size': '12 bytes', 'lastModifiedDate': '14-4-2020 04:55:02'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'test.pem', 'size': '1 KB', 'lastModifiedDate': '14-4-2020 04:57:54'}, {'bucket': 'ofuks-1304-prj1-local-bucket', 'object': 'test1', 'size': '52 bytes', 'lastModifiedDate': '17-4-2020 11:22: [...]
 
 @Injectable()
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
index 7a6f2d4..65cf645 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/index.ts
@@ -25,7 +25,7 @@ import { ProgressDialogModule, BubbleModule } from '../index';
 
 import { NavbarComponent } from './navbar.component';
 import { NotificationDialogModule } from '../modal-dialog/notification-dialog';
-import {EdgeActionDialogModule} from "../modal-dialog/edge-action-dialog";
+import {EdgeActionDialogModule} from '../modal-dialog/edge-action-dialog';
 
 export * from './navbar.component';
 
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
index 8f6a8ca..f24a29f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
@@ -95,14 +95,14 @@
               <ng-template #env><i class="material-icons">settings</i></ng-template>
             </a>
           </a>
-          <a class="nav-item has-children" *ngIf="healthStatus?.billingEnabled || true">
+          <a class="nav-item has-children" *ngIf="healthStatus?.billingEnabled || healthStatus?.auditEnabled">
             <span *ngIf="isExpanded">Reports</span>
             <a *ngIf="healthStatus?.billingEnabled" class="sub-nav-item" [routerLink]="['/billing_report']"
               [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [style.margin-left.px]="isExpanded ? '30' : '0'">
               <span *ngIf="isExpanded; else billing">Billing</span>
               <ng-template #billing><i class="material-icons">account_balance_wallet</i></ng-template>
             </a>
-            <a  class="sub-nav-item" [routerLink]="['/audit']" [style.margin-left.px]="isExpanded ? '30' : '0'"
+            <a *ngIf="healthStatus?.auditEnabled" class="sub-nav-item" [routerLink]="['/audit']" [style.margin-left.px]="isExpanded ? '30' : '0'"
                [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
               <span *ngIf="isExpanded; else audit">Audit</span>
               <ng-template #audit><i class="material-icons">library_books</i></ng-template>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org