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

hshpak pushed a commit to branch 
fix/DATALAB-2800/possibility-to-add-several-users
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit a7cbe5ad86e060a95944bff68fcb6bddf767aa83
Author: Hennadii_Shpak <[email protected]>
AuthorDate: Thu May 5 17:41:40 2022 +0300

    added possibility to add several users
---
 .../app/administration/roles/roles.component.ts    | 41 ++++++++++++++--------
 1 file changed, 27 insertions(+), 14 deletions(-)

diff --git 
a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
index dc119c7db..1f9b8ac06 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
@@ -26,7 +26,7 @@ import { RolesGroupsService, HealthStatusService, 
ApplicationSecurityService, Ap
 import { CheckUtils, SortUtils } from '../../core/util';
 import { DICTIONARY } from '../../../dictionary/global.dictionary';
 import { ProgressBarService } from '../../core/services/progress-bar.service';
-import { ConfirmationDialogComponent, ConfirmationDialogType } from 
'../../shared/modal-dialog/confirmation-dialog';
+import {ConfirmationDialogComponent, ConfirmationDialogType} from 
'../../shared';
 
 @Component({
   selector: 'datalab-roles',
@@ -315,11 +315,20 @@ export class RolesComponent implements OnInit {
       return;
     }
     if (user.value && user.value.trim()) {
-      item.users instanceof Array ? item.users.push(user.value.trim()) : 
item.users = [user.value.trim()];
+      item.users = [...item.users, ...this.normalizeUserList(user.value)];
     }
     user.value = '';
   }
 
+  private normalizeUserList(userNameList: string): string[] {
+    if (userNameList.includes(',')) {
+      return userNameList.split(',')
+                  .map(userName => userName.trim())
+                  .filter(userName => userName);
+    }
+    return [ userNameList ];
+  }
+
   private getEnvironmentHealthStatus() {
     this.healthStatusService.getEnvironmentHealthStatus()
       .subscribe((result: any) => {
@@ -341,9 +350,13 @@ export class RolesComponent implements OnInit {
   }
 
   public checkIfUserAdded(element: any, value: string) {
-    element.isUserAdded = element.users
-      .map(v => v.toLowerCase())
-      .includes(value.toLowerCase());
+    if (value.includes(',')) {
+      element.isUserAdded = element.users.some(userName => 
this.normalizeUserList(value).includes(userName));
+    } else {
+      element.isUserAdded = element.users
+        .map(v => v.toLowerCase())
+        .includes(value.toLowerCase());
+    }
   }
 }
 
@@ -367,18 +380,18 @@ export class RolesComponent implements OnInit {
     </p>
   </div>
   <div class="text-center">
-    <button 
-      type="button" 
-      class="butt" 
-      mat-raised-button 
+    <button
+      type="button"
+      class="butt"
+      mat-raised-button
       (click)="dialogRef.close()"
     >
       No
     </button>
-    <button 
-      type="button" 
-      class="butt butt-success" 
-      mat-raised-button 
+    <button
+      type="button"
+      class="butt butt-success"
+      mat-raised-button
       (click)="dialogRef.close(true)"
     >
       Yes
@@ -393,4 +406,4 @@ export class ConfirmDeleteUserAccountDialogComponent {
     public dialogRef: MatDialogRef<ConfirmDeleteUserAccountDialogComponent>,
     @Inject(MAT_DIALOG_DATA) public data: any
   ) { }
-}
\ No newline at end of file
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to