Please see the user story for more details.
Issue-ID: VID-875
Signed-off-by: Rachitha Ramappa <rachitha.ramappa@att.com>
Change-Id: Ib2b9f62c6c0c5f0f8c162cc776dc128d39dbb37e
},
canActivate: [DrawingBoardGuard]
},
+ {
+ path: 'RESUME',
+ component: ServicePlanningComponent,
+ resolve: {
+ flags: FlagsResolve,
+ viewEditResolver: RetryResolver
+ },
+ canActivate: [DrawingBoardGuard]
+ },
{
path: 'RETRY',
component: ServicePlanningComponent,
constructor(private store: NgRedux<AppState>, private _http: HttpClient, private _router : Router) { }
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
let url : string = `../../roles/service_permissions?subscriberId=${next.queryParams['subscriberId']}&serviceType=${next.queryParams['serviceType']}`;
- const viewMode = state.url.includes(DrawingBoardModes.RETRY_EDIT)? DrawingBoardModes.RETRY: DrawingBoardModes.VIEW;
+ const viewMode = state.url.includes(DrawingBoardModes.RETRY_EDIT)? DrawingBoardModes.RETRY:
+ state.url.includes(DrawingBoardModes.RESUME)? DrawingBoardModes.RESUME:
+ DrawingBoardModes.VIEW;
return this._http.get(url)
.map((result : DrawingBoardPermissions) => {
if(!result.isEditPermitted){
if (!_.isNil(this.errorMsgService.errorMsgObject) && mode !== DrawingBoardModes.RETRY_EDIT) return true;
if(validationCounter > 0) return true;
if(serviceInstance.action !== ServiceInstanceActions.None) return false;
- if(mode === DrawingBoardModes.RETRY_EDIT) return false;
+ if(mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.RESUME) return false;
return !serviceInstance.isDirty;
}
return true;
return 'UPDATE';
case DrawingBoardModes.RETRY_EDIT:
return 'REDEPLOY';
+ case DrawingBoardModes.RESUME:
+ return 'RESUME';
default: return 'DEPLOY';
}
}
case DrawingBoardModes.RETRY_EDIT:
case DrawingBoardModes.RETRY:
return 'REDEPLOY';
+ case DrawingBoardModes.RESUME:
+ return 'RESUME';
}
}
EDIT = 'EDIT',
OLD_VIEW_EDIT = 'OLD_VIEW_EDIT',
CREATE = 'CREATE',
- RECREATE = 'RECREATE'
+ RECREATE = 'RECREATE',
+ RESUME = 'RESUME'
}
}
navigateToNewViewEdit(item: InstantiationBase, mode: DrawingBoardModes): void {
+ console.log("Mode : ", mode);
this._store.dispatch(updateDrawingBoardStatus(mode));
const viewEditUrlTree:UrlTree = this.getNewViewEditUrlTree(item, mode);
this._router.navigateByUrl(viewEditUrlTree);
this.navigateToNewViewEdit(item, DrawingBoardModes.RETRY_EDIT);
}
+ resume(item: ServiceInfoModel): void {
+ this.navigateToNewViewEdit(item, DrawingBoardModes.RESUME);
+ }
+
recreate(item: ServiceInfoModel): void {
this.navigateToNewViewEdit(item, DrawingBoardModes.RECREATE);
}
className: "fa-repeat",
click: (item: ServiceInfoModel) => this.retryItem(item),
enabled: () => true,
- visible: (item: ServiceInfoModel) => item.isRetryEnabled,
+ visible: (item: ServiceInfoModel) => (item.isRetryEnabled && (item.jobStatus !== JobStatus.COMPLETED_AND_PAUSED)),
+ },
+ {
+ name: "Resume",
+ dataTestId: "context-menu-retry",
+ className: "fa-repeat",
+ click: (item: ServiceInfoModel) => this.resumeItem(item),
+ enabled: () => true,
+ visible: (item: ServiceInfoModel) => item.jobStatus === JobStatus.COMPLETED_AND_PAUSED,
},
{
name: "Open",
}
}
+ resumeItem(item: ServiceInfoModel) : void {
+ if(item.isRetryEnabled && item.jobStatus === JobStatus.COMPLETED_AND_PAUSED){
+ this._instantiationStatusComponentService.resume(item);
+ }
+ }
+
auditInfo(jobData : ServiceInfoModel): void {
AuditInfoModalComponent.openModal.next(jobData);
}
<div class="row">
<div class="col-md-6 leftColumn"><span class="table-title">MSO status</span></div>
+ <!-- -->
<div class="col-md-6 rightColumn"><span><a id="glossary_link" target="_blank" href="#" (click)="onNavigate()">Building Block (BB) glossary</a></span></div>
</div>
<table id="service-instantiation-audit-info-mso" class="table table-bordered">
STOPPED = 'STOPPED',
COMPLETED_WITH_ERRORS = 'COMPLETED_WITH_ERRORS',
CREATING = 'CREATING',
- PAUSE_UPON_COMPLETION = 'PAUSE_UPON_COMPLETION'
+ PAUSE_UPON_COMPLETION = 'PAUSE_UPON_COMPLETION',
+ COMPLETED_AND_PAUSED = 'COMPLETED_AND_PAUSED'
}
export enum PauseStatus {
AFTER_COMPLETION = 'afterCompletion',