diff --git a/client/app/states/catalogs/details/details.state.js b/client/app/states/catalogs/details/details.state.js index c77d0a49d..f038b4832 100644 --- a/client/app/states/catalogs/details/details.state.js +++ b/client/app/states/catalogs/details/details.state.js @@ -95,25 +95,23 @@ function Controller ($stateParams, CollectionsApi, EventNotifications, ShoppingC vm.serviceTemplate = data[SERVICE_TEMPLATE_RESPONSE] vm.parsedDialogs = [] - if (dialogs.subcount > 0) { - if (serviceRequest) { - const existingDialogValues = serviceRequest.options.dialog - dialogs.resources[0].content.forEach((dialog) => { - vm.parsedDialogs.push(DialogFieldRefresh.setFieldValueDefaults(dialog, existingDialogValues)) - }) - } else { - vm.parsedDialogs = dialogs.resources[0].content - } + if (serviceRequest) { + const existingDialogValues = serviceRequest.options.dialog + dialogs.resources[0].content.forEach((dialog) => { + vm.parsedDialogs.push(DialogFieldRefresh.setFieldValueDefaults(dialog, existingDialogValues)) + }) + } else { + vm.parsedDialogs = dialogs.resources[0].content } - setDialogUrl(vm.serviceTemplate.service_template_catalog_id) + setDialogUrl() vm.loading = false }) }) } init() - function setDialogUrl (serviceTemplateCatalogId) { - vm.dialogUrl = `service_catalogs/${serviceTemplateCatalogId}/service_templates` + function setDialogUrl () { + vm.dialogUrl = `service_dialogs` return vm.dialogUrl } @@ -131,12 +129,12 @@ function Controller ($stateParams, CollectionsApi, EventNotifications, ShoppingC } let idList = { - dialogId: vm.parsedDialogs.id, + dialogId: vm.parsedDialogs[0].id, resourceActionId: resourceActionId, targetId: vm.serviceTemplate.id, targetType: 'service_template' } - const url = `${vm.dialogUrl}/${vm.serviceTemplate.id}` + const url = `${vm.dialogUrl}` return DialogFieldRefresh.refreshDialogField(vm.dialogData, [field.name], url, idList) } /** diff --git a/client/app/states/catalogs/details/details.state.spec.js b/client/app/states/catalogs/details/details.state.spec.js index 2bd729ccb..c624223ee 100644 --- a/client/app/states/catalogs/details/details.state.spec.js +++ b/client/app/states/catalogs/details/details.state.spec.js @@ -61,12 +61,17 @@ describe('State: catalogs.details', () => { it('it allows a field to be refreshed', (done) => { controller = $controller($state.get('catalogs.details').controller) controller.serviceTemplate = serviceTemplate - controller.setDialogUrl(serviceTemplate.service_template_catalog_id) + controller.setDialogUrl() const refreshSpy = sinon.stub(DialogFieldRefresh, 'refreshDialogField').returns(Promise.resolve({'status': 'success'})) const dialogData = { 'dialogField1': '1', 'dialogField2': '2' } + const parsedDialogs = [ + { + id: 1234 + } + ] const field = {'name': 'dialogField1'} const idList = { dialogId: 1234, @@ -75,14 +80,12 @@ describe('State: catalogs.details', () => { targetType: 'service_template' } controller.dialogData = dialogData - controller.parsedDialogs = { - id: 1234 - } + controller.parsedDialogs = parsedDialogs controller.refreshField(field).then((data) => { done() }) - const url = `service_catalogs/${serviceTemplate.service_template_catalog_id}/service_templates/${serviceTemplate.id}` + const url = `service_dialogs` expect(refreshSpy).to.have.been.calledWith(dialogData, ['dialogField1'], url, idList) }) it('allows dialog data to be updated', () => {