From 59eaa5abcc93e8c215f673a6fda18845eb6e51b7 Mon Sep 17 00:00:00 2001
From: Ittay Stern <ittay.stern@att.com>
Date: Thu, 16 Jan 2020 13:30:34 +0200
Subject: Async MSO error visibility: let open "retry" from Audit-info

On the "audit info" modal (available on Instantiation Status page), show
a link navigating to read-only RETRY page with more audit info.

Issue-ID: VID-749

Change-Id: I070336059859668292af31c187a7672c68962832
Signed-off-by: Ittay Stern <ittay.stern@att.com>
---
 .../components/auditInfoModal/auditInfoModal.component.html  |  9 ++++++++-
 .../components/auditInfoModal/auditInfoModal.component.ts    | 12 ++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

(limited to 'vid-webpack-master/src/app/shared/components')

diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html
index 5145784e2..3dff92cdc 100644
--- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html
+++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html
@@ -14,7 +14,14 @@
           </div>
         </div>
         <div class="col-md-8 right-panel">
-          <div class="row" *ngIf="showVidStatus"><span class="table-title">VID status</span></div>
+          <div class="row" *ngIf="showVidStatus">
+            <div class="col-md-6 leftColumn"><span class="table-title">VID status</span></div>
+            <div class="col-md-6 rightColumn"><span *ngIf="showMoreAuditInfoLink">
+                <a id="full_screen_link" target="_parent" title="Full-screen audit info" [href]="readOnlyRetryUrl()">
+                  <i class="fa fa-external-link"></i>
+                </a>
+            </span></div>
+          </div>
           <div class="row" *ngIf="showVidStatus">
             <table id="service-instantiation-audit-info-vid"  class="table table-bordered">
               <thead class="thead-dark">
diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
index 665b8d13f..3a7f4ecfa 100644
--- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
+++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts
@@ -10,6 +10,7 @@ import {IframeService} from "../../utils/iframe.service";
 import {NgRedux} from "@angular-redux/store";
 import {AppState} from "../../store/reducers";
 import {AuditInfoModalComponentService} from "./auditInfoModal.component.service";
+import {FeatureFlagsService, Features} from "../../services/featureFlag/feature-flags.service";
 
 @Component({
   selector: 'audit-info-modal',
@@ -24,6 +25,8 @@ export class AuditInfoModalComponent {
   modelInfoItems: ModelInformationItem[] = [];
   serviceModel: ServiceModel;
   serviceModelName: string;
+  serviceModelId: string;
+  jobId: string;
   vidInfoData: AuditStatus[] = [];
   msoInfoData: AuditStatus[] = [];
   isAlaCarte: boolean;
@@ -32,15 +35,18 @@ export class AuditInfoModalComponent {
   model: any;
   instanceId: string;
   isALaCarteFlagOn: boolean;
+  showMoreAuditInfoLink: boolean;
   type : string = "Service";
   showVidStatus : boolean = true;
   auditInfoModalComponentService : AuditInfoModalComponentService;
   constructor(private _serviceInfoService: ServiceInfoService, private _iframeService : IframeService,
               private _auditInfoModalComponentService : AuditInfoModalComponentService,
+              private _featureFlagsService: FeatureFlagsService,
               private store: NgRedux<AppState>) {
     this.auditInfoModalComponentService = this._auditInfoModalComponentService;
     AuditInfoModalComponent.openModal.subscribe((jobData: ServiceInfoModel) => {
       this.isALaCarteFlagOn = this.store.getState().global.flags['FLAG_A_LA_CARTE_AUDIT_INFO'];
+      this.showMoreAuditInfoLink = _featureFlagsService.getFlagState(Features.FLAG_MORE_AUDIT_INFO_LINK_ON_AUDIT_INFO);
       this.initializeProperties();
       this.showVidStatus = true;
       if (jobData) {
@@ -48,6 +54,8 @@ export class AuditInfoModalComponent {
         this.openAuditInfoModal(jobData);
         _iframeService.addClassOpenModal(this.parentElementClassName);
         this.serviceModelName = jobData.serviceModelName ? jobData.serviceModelName : '';
+        this.serviceModelId = jobData.serviceModelId;
+        this.jobId = jobData.jobId;
         this.auditInfoModal.show();
       } else {
         _iframeService.removeClassCloseModal(this.parentElementClassName);
@@ -57,6 +65,7 @@ export class AuditInfoModalComponent {
 
     AuditInfoModalComponent.openInstanceAuditInfoModal.subscribe(({instanceId  , type ,  model, instance}) => {
       this.showVidStatus = false;
+      this.showMoreAuditInfoLink = false;
       this.initializeProperties();
       this.setModalTitles(type);
       this.serviceModelName = AuditInfoModalComponentService.getInstanceModelName(model);
@@ -118,5 +127,8 @@ export class AuditInfoModalComponent {
   onNavigate(){
     window.open("http://ecompguide.web.att.com:8000/#ecomp_ug/c_ecomp_ops_vid.htmll#r_ecomp_ops_vid_bbglossary", "_blank");
   }
+
+  readOnlyRetryUrl = (): string =>
+    `../../serviceModels.htm?more#/servicePlanning/RETRY?serviceModelId=${this.serviceModelId}&jobId=${this.jobId}`
 }
 
-- 
cgit 1.2.3-korg