Merge branch 'develop' into DLAB-1898
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
index a8195e9..9aa58b6 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
@@ -52,9 +52,11 @@
 @Path("/bucket")
 @Slf4j
 public class BucketResource {
-    private static final String AUDIT_UPLOAD_OBJECT_MESSAGE = "File name: %s. File size: %d.";
-    private static final String AUDIT_UPLOAD_FOLDER_MESSAGE = "Folder name: %s.";
-    private static final String AUDIT_MESSAGE = "File name: %s.";
+  
+    private static final String AUDIT_UPLOAD_MESSAGE = "File(s): %s";
+    private static final String AUDIT_MESSAGE = "File(s): %s";
+    private static final String AUDIT_UPLOAD_FOLDER_MESSAGE = "Folder(s): %s.";
+
     private static final String OBJECT_FORM_FIELD = "object";
     private static final String BUCKET_FORM_FIELD = "bucket";
     private static final String ENDPOINT_FORM_FIELD = "endpoint";
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 f1c1df0..d2f4f9a 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,15 +32,21 @@
 
     tr {
       .th_user {
-        width: 15%;
+        width: 19%;
       }
 
       .th_action {
         width: 11%;
+        .label{
+          padding-bottom: 10px;
+        }
       }
 
       .th_date {
         width: 14%;
+        .label{
+          padding-bottom: 10px;
+        }
       }
 
       .th_project{
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
index adff99b..c5eeea5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
@@ -168,8 +168,13 @@
               <div class="scrolling-content mat-list-wrapper" id="scrolling">
                 <mat-list-item class="list-item" *ngFor="let action of actionList">
                   <div class="info-item-title">{{action[0]}}</div>
-                  <div class="info-item-data" >
-                      <div *ngFor="let description of action[1]?.split(',')">{{description}}</div>
+                  <div class="info-item-data" *ngIf="action[0] === 'File(s)'">
+                    <div class="file-description ellipsis" *ngFor="let description of action[1]?.split(',')" [matTooltip]="description" matTooltipPosition="above">
+                      {{description}}
+                    </div>
+                  </div>
+                  <div class="info-item-data" *ngIf="action[0] !== 'File(s)'">
+                     <div *ngFor="let description of action[1]?.split(',')">{{description}}</div>
                   </div>
                 </mat-list-item>
               </div>
@@ -197,6 +202,10 @@
     .info-item-title{width: 40%; padding: 10px 0}
     .list-header {padding-top: 5px;}
     .info-item-data{width: 60%; text-align: left; padding: 10px 0}
+    .file-description{ overflow: hidden; display: block; direction: rtl;}
+
+
+
 
 
   `]
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 d3c4c73..fc8ed49 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
@@ -381,11 +381,11 @@
     if (action === 'delete') {
       const itemsForDeleting = [...folderSelected, ...selected];
       const objects = itemsForDeleting.map(obj => obj.object.object);
-      const dataForServer = [];
+      let dataForServer = [];
       objects.forEach(object => {
         dataForServer.push(...this.bucketDataService.serverData.map(v => v.object).filter(v => v.indexOf(object) === 0));
       });
-
+      dataForServer = [...dataForServer, ...objects].filter((v, i, arr) => i === arr.indexOf(v));
       this.dialog.open(BucketConfirmationDialogComponent, {data: {items: itemsForDeleting, type: 'delete'} , width: '550px'})
         .afterClosed().subscribe((res) => {
         !res && this.clearSelection();
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
index f394e23..9400637 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
@@ -222,12 +222,11 @@
     this.bucketDataService.emptyFolder = null;
     this.bucketBrowserService.createFolder({
       'bucket': bucket,
-      'folder': path,
+      'folder': path.replace(/ا/g, ''),
       'endpoint': this.endpoint
     })
       .subscribe(_ => {
           this.bucketDataService.insertItem(flatParent, itemValue, false);
-          // this.bucketDataService.refreshBucketdata(bucket, this.endpoint);
           this.toastr.success('Folder successfully created!', 'Success!');
           this.folderCreating = false;
           this.removeItem(node);
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
index a860b39..657b47f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
@@ -54,7 +54,7 @@
                           will be stopped
                       </p>
                   </div>
-                  <span class="strong">by a schedule in 15 minutes.</span>
+                  <span class="strong">by a schedule in less than 15 minutes.</span>
               </div>
               <div *ngIf="data.type === 'message'"><span [innerHTML]="data.template"></span></div>
               <div *ngIf="data.type === 'confirmation'" class="confirm-dialog">
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
index 1f33caa..e30f8db 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
@@ -76,7 +76,7 @@
 })
 export class NavbarComponent implements OnInit, OnDestroy {
 
-  private readonly CHECK_ACTIVE_SCHEDULE_TIMEOUT: number = 55000;
+  private readonly CHECK_ACTIVE_SCHEDULE_TIMEOUT: number = 300000;
   private readonly CHECK_ACTIVE_SCHEDULE_PERIOD: number = 15;
 
   currentUserName: string;