profile search issue fix 18/105518/1
authorRachitha Ramappa <rachitha.ramappa@att.com>
Fri, 3 Apr 2020 16:02:52 +0000 (21:32 +0530)
committerSunder Tattavarada <statta@research.att.com>
Wed, 8 Apr 2020 14:38:23 +0000 (14:38 +0000)
Change-Id: I7a1277204dde322f3f4387785f69ca3c4274d56b
Issue-ID: PORTAL-867
Signed-off-by: rachitha.ramappa@att.com
(cherry picked from commit 4f0589f52a37b57c00d7a60d64a86bc5db25ca86)

ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/ext/profile/profile.service.ts
ecomp-sdk/epsdk-app-os/ngappsrc/src/environments/environment.prod.ts
ecomp-sdk/epsdk-app-os/ngappsrc/src/environments/environment.ts
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/header/header.component.ts
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.scss
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.spec.ts
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.ts

index 111cf3f..7d14ee3 100644 (file)
@@ -38,6 +38,10 @@ export class ProfileService {
 
   }
 
+  getProfileById(profileId){
+    return this.http.get(environment.getProfileById+"?profile_id="+profileId, {withCredentials: true });
+  }
+
   removeRole(data,profileId)
   {
     return this.http.post(environment.removeUserRole+'?profile_id='+profileId,JSON.stringify({role: data}),{ withCredentials: true });
index 3612073..e53aeb6 100644 (file)
@@ -1,3 +1,32 @@
 export const environment = {
-  production: true
+  production: true,
+  baseUrl: '',
+  roleFunctionList: 'get_role_functions',
+  addRoleFunction: 'role_function_list/addRoleFunction',
+  usageList: 'get_usage_list',
+  cachedRegions: 'get_regions',
+  getRole:'get_role',
+  getFnMenuItems:'admin_fn_menu',
+  updateFnMenuItem:'admin_fn_menu/updateFnMenu.htm',
+  getFunctionCdList:'admin_fn_menu/get_function_cd_list',
+  getParentList:'admin_fn_menu/get_parent_list',
+  getUserPagination:'get_user_pagination?pageNum=0&viewPerPage=0',
+  deleteRole:'role_list/removeRole',
+  getTopMenu:'get_topMenuInfo',
+  deleteRoleFunction:'role_function_list/removeRoleFunction',
+  deleteMenu:'admin_fn_menu/removeMenuItem.htm',
+  getRegion:'jcs_admin/showRegionDetails',
+  postSearch:'post_search/search',
+  importSearch:'post_search/process',
+  getPostProfile:'post_search_sample',
+  getSelfProfile:'get_self_profile',
+  getProfileById: 'get_profile',
+  removeUserRole:'profile/removeRole',
+  addUserRole:'profile/addNewRole',
+  saveProfile :'profile/saveProfile',
+  getFunctionalMenuStaticDetail :'http:/www.sdk.onap.org:8080/epsdk-app-os/get_topMenuInfo',
+  getLeftMenu :'get_menu',
+  removeRoleFunction:'role/removeRoleFunction.htm?role_id=',
+  saveRole:'role/saveRole.htm?role_id=',
+  toggleProfileActive: 'profile/toggleProfileActive?profile_id='
 };
index 294d41e..0114df0 100644 (file)
@@ -24,6 +24,7 @@ export const environment = {
   importSearch:'http://www.sdk.onap.org:8080/epsdk-app-os/post_search/process',
   getPostProfile:'http://www.sdk.onap.org:8080/epsdk-app-os/post_search_sample',
   getSelfProfile:'http://www.sdk.onap.org:8080/epsdk-app-os/get_self_profile',
+  getProfileById: 'http://www.sdk.onap.org:8080/epsdk-app-os/get_profile',
   removeUserRole:'http://www.sdk.onap.org:8080/epsdk-app-os/profile/removeRole',
   addUserRole:'http://www.sdk.onap.org:8080/epsdk-app-os/profile/addNewRole',
   saveProfile :'http://www.sdk.onap.org:8080/epsdk-app-os/profile/saveProfile',
index f06719f..7bf5c64 100644 (file)
@@ -78,7 +78,7 @@ export class HeaderComponent implements OnInit {
         } 
 
         this.pushRightClass = 'push-right';
-        this.appName= 'ONAP ENMT' ;
+        this.appName= 'ONAP Portal' ;
         let result = this.headerService.getTopMenuItems();
           result.subscribe(res => {
               this.response = res;
index 7481acc..97e164d 100644 (file)
@@ -48,6 +48,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { UserService } from 'src/app/shared/services/user/user.service';
 import { Observable } from 'rxjs';
+import { ActivatedRoute } from '@angular/router';
+import { RouterTestingModule } from '@angular/router/testing';
 
 describe('SelfComponent', () => {
   let component: SelfComponent;
@@ -66,7 +68,8 @@ describe('SelfComponent', () => {
         MatSelectModule,
         MatSlideToggleModule,
         BrowserAnimationsModule,
-        HttpClientTestingModule
+        HttpClientTestingModule,
+        RouterTestingModule
         ]
     })
     .compileComponents();
index 45210f8..61b2a34 100644 (file)
@@ -46,6 +46,7 @@ import { InformationModalComponent } from 'src/app/modals/information-modal/info
 import { ErrorModalComponent } from 'src/app/modals/error-modal/error-modal.component';
 import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component';
 import { Column, ColumnTypes, DataTableSettings } from 'portalsdk-tag-lib';
+import { ActivatedRoute } from '@angular/router';
 
 @Component({
   selector: 'app-self',
@@ -54,7 +55,10 @@ import { Column, ColumnTypes, DataTableSettings } from 'portalsdk-tag-lib';
 })
 export class SelfComponent implements OnInit {
 
-  constructor(public userService: UserService, public profileService: ProfileService, private ngModal: NgbModal) { }
+  constructor(public userService: UserService,
+    public profileService: ProfileService,
+    private ngModal: NgbModal,
+    private route: ActivatedRoute) { }
 
   user: User;
   isAppCentralized;
@@ -98,6 +102,11 @@ export class SelfComponent implements OnInit {
 
 
   ngOnInit() {
+    this.profileId = "";
+    console.log("ngOnInit called ",this.profileId);
+    if(this.route.snapshot.queryParams['profile_id']){
+      this.profileId = this.route.snapshot.queryParams['profile_id'];
+    }
     this.showSpinner = false;
     this.finalSelectedRoles = [];
     let result = this.userService.getFunctionalMenuStaticDetailSession();
@@ -106,7 +115,11 @@ export class SelfComponent implements OnInit {
       this.user = user;
       this.isAppCentralized = this.user.isAppCentralized;
     });
-    this.getSelfProfileDetail();
+    if (this.profileId != undefined && this.profileId != "") {
+      this.getProfileById(this.profileId);
+    } else {
+      this.getSelfProfileDetail();
+    }
   }
 
   /**
@@ -116,65 +129,77 @@ export class SelfComponent implements OnInit {
     this.showSpinner = true;
     this.response = this.profileService.getSelfProfile();
     this.response.subscribe(data => {
-      let res;
-      res = data;
-      this.result = JSON.parse(res.data);
-      this.profile = JSON.parse(this.result.profile);
-      this.oriProfile = JSON.parse(this.result.profile); /*original value*/
+      this.assignProfileDetails(data);
+    });
+    this.showSpinner = false;
+  }
 
-      this.profileId = this.profile.id;
-      this.ociavailableRoles = JSON.parse(this.result.availableRoles);
-      this.ociTimeZones = JSON.parse(this.result.timeZones);
-      this.ociCountries = JSON.parse(this.result.countries);
-      this.stateList = JSON.parse(this.result.stateList);
+  /**
+   * Get Profile Details by ProfileId
+   */
+  getProfileById(profileId) {
+    this.showSpinner = true;
+    this.profileService.getProfileById(profileId).subscribe(response => {
+      this.assignProfileDetails(response);
+    })
+    this.showSpinner = false;
+  }
 
-     for( let state of this.stateList)
-     {
-          if(state.value == this.profile.state){
-            this.profile.state= state.value;
-          }
-     }
+  assignProfileDetails(data) {
+    let res;
+    res = data;
+    this.result = JSON.parse(res.data);
+    
+    this.profile = JSON.parse(this.result.profile);
+    this.oriProfile = JSON.parse(this.result.profile); /*original value*/
 
-     for( let country of this.ociCountries)
-     {
-          if(country.value == this.profile.country){
-            this.profile.country= country.value;
-          }
-     }
+    this.profileId = this.profile.id;
+    this.ociavailableRoles = this.profile.roles;
+    console.log("Profile specific roles : ", this.ociavailableRoles);
+    this.ociTimeZones = JSON.parse(this.result.timeZones);
+    this.ociCountries = JSON.parse(this.result.countries);
+    this.stateList = JSON.parse(this.result.stateList);
 
-     for( let timeZone of this.ociTimeZones)
-     {
-          if(timeZone.value == this.profile.timeZoneId){
-            this.profile.timeZoneId= timeZone.value;
-          }
-     }
+    for (let state of this.stateList) {
+      if (state.value == this.profile.state) {
+        this.profile.state = state.value;
+      }
+    }
+
+    for (let country of this.ociCountries) {
+      if (country.value == this.profile.country) {
+        this.profile.country = country.value;
+      }
+    }
+
+    for (let timeZone of this.ociTimeZones) {
+      if (timeZone.value == this.profile.timeZoneId) {
+        this.profile.timeZoneId = timeZone.value;
+      }
+    }
 
-      console.log("Data : ", this.ociavailableRoles);
-      this.columns.push(new Column("name", "Name", ColumnTypes.TEXT, false, null));
-      this.settings = new DataTableSettings()
-      this.settings.columns = this.columns;
-      this.settings.isPaginationEnabled = false;
-      this.settings.isReadOnly = true;
-      this.settings.isTableSearchEnabled = false;
-      this.settings.isToggleEnabled = true;
+    this.columns.push(new Column("name", "Name", ColumnTypes.TEXT, false, null));
+    this.settings = new DataTableSettings()
+    this.settings.columns = this.columns;
+    this.settings.isPaginationEnabled = false;
+    this.settings.isReadOnly = true;
+    this.settings.isTableSearchEnabled = false;
+    this.settings.isToggleEnabled = true;
 
-      if (this.ociavailableRoles != null) {
-        for (let role of this.ociavailableRoles) {
-          role.selected = false;
-          for (let profileRole of this.profile.roles) {
-            if (profileRole.id === role.id) {
-              role.selected = true;
-            }
-            if (role.id === 1) {
-              this.isUserSystemAdmin = true;
-            }
+    if (this.ociavailableRoles != null) {
+      for (let role of this.ociavailableRoles) {
+        role.selected = false;
+        for (let profileRole of this.profile.roles) {
+          if (profileRole.id === role.id) {
+            role.selected = true;
+          }
+          if (role.id === 1) {
+            this.isUserSystemAdmin = true;
           }
-          this.availableRoles.push(role);
         }
+        this.availableRoles.push(role);
       }
-
-    });
-    this.showSpinner = false;
+    }
   }
 
   /**