X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=static%2Fsrc%2Fdescriptorhandler%2Fcontroller.js;h=f127ea7742b58d3f2839e655490a96bb117bd5f1;hb=478c2a894ec892beafab0f59365b996287e58cb1;hp=3a96ea292ecf3263c7c09128af7ace2bfbbf83d3;hpb=e428af7f429a3e42379c42c633ded0651ea2f0cf;p=osm%2FLW-UI.git diff --git a/static/src/descriptorhandler/controller.js b/static/src/descriptorhandler/controller.js index 3a96ea2..f127ea7 100644 --- a/static/src/descriptorhandler/controller.js +++ b/static/src/descriptorhandler/controller.js @@ -43,16 +43,6 @@ TCD3.OsmController = (function (global) { OsmController.prototype.addLink = function (graph_editor, link, success, error) { log('addLink'); - var data_to_send = { - 'desc_id': link.desc_id, - 'source': link.source.id, - 'source_type': link.source.info.type, - 'target': link.target.id, - 'target_type': link.target.info.type, - 'view': link.view, - 'group': link.group - }; - var desc_id = getUrlParameter('id'); var desc_type = getUrlParameter('type'); if (desc_type === 'nsd') { @@ -61,24 +51,76 @@ TCD3.OsmController = (function (global) { var vnfd_node = (link.source.info.type === 'vnf') ? link.source : link.target; var vld_node = (link.source.info.type === 'ns_vl') ? link.source : link.target; + bootbox.prompt("Please insert the vnfd-connection-point-ref:", function(result){ + if (result){ + data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); + data_form.append('vnfd-connection-point-ref', result); + data_form.append('member-vnf-index-ref', vnfd_node.info.osm['member-vnf-index']); + data_form.append('vnfd-id-ref', vnfd_node.info.osm['vnfd-id-ref']); + data_form.append('vld_id', vld_node.info.osm['id']); + + $.ajax({ + url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/addElement/' + element_type, + type: 'POST', + data: data_form, + cache: false, + contentType: false, + processData: false, + success: success, + error: error + }); + } - data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); - data_form.append('vnfd-connection-point-ref', 'cp_temp'); - data_form.append('member-vnf-index-ref', vnfd_node.info.osm['member-vnf-index']); - data_form.append('vnfd-id-ref', vnfd_node.info.osm['vnfd-id-ref']); - data_form.append('vld_id', vld_node.info.osm['id']); - - $.ajax({ - url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/addElement/' + element_type, - type: 'POST', - data: data_form, - cache: false, - contentType: false, - processData: false, - success: success, - error: error }); + + } + else if (desc_type === 'vnfd') { + if (['vdu', 'cp'].indexOf(link.source.info.type) > -1 && ['vdu', 'cp'].indexOf(link.target.info.type) > -1) { + var vdu_node = (link.source.info.type === 'vdu') ? link.source : link.target; + var cp_node = (link.source.info.type === 'cp') ? link.source : link.target; + + var data_form = new FormData(); + data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); + data_form.append('vdu_id', vdu_node.info.osm.id); + data_form.append('external-connection-point-ref', cp_node.info.osm.name); + data_form.append('name', "eth_" + generateUID()); + $.ajax({ + url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/addElement/interface', + type: 'POST', + data: data_form, + cache: false, + contentType: false, + processData: false, + success: success, + error: error + }); + } + else if (['vdu', 'vnf_vl'].indexOf(link.source.info.type) > -1 && ['vdu', 'vnf_vl'].indexOf(link.target.info.type) > -1) { + + var vdu_node = (link.source.info.type === 'vdu') ? link.source : link.target; + var vld_node = (link.source.info.type === 'vnf_vl') ? link.source : link.target; + + var data_form = new FormData(); + data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); + data_form.append('vdu_id', vdu_node.info.osm.id); + data_form.append('vld_id', vld_node.info.osm.id); + data_form.append('id', "intcp_" + generateUID()); + + $.ajax({ + url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/addElement/int_cp', + type: 'POST', + data: data_form, + cache: false, + contentType: false, + processData: false, + success: success, + error: error + }); + } + + } + }; @@ -114,7 +156,7 @@ TCD3.OsmController = (function (global) { console.log(args) var data_form = new FormData(); data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); - data_form.append('old', JSON.stringify( node.info.osm)); + data_form.append('old', JSON.stringify(node.info.osm)); data_form.append('update', JSON.stringify(args)); /*for (var key in node.info.osm) { data_form.append(key, node.info.osm[key]); @@ -134,7 +176,7 @@ TCD3.OsmController = (function (global) { }; - OsmController.prototype.updateGraphParams = function(args, success, error){ + OsmController.prototype.updateGraphParams = function (args, success, error) { var desc_id = getUrlParameter('id'); var desc_type = getUrlParameter('type'); var data_form = new FormData(); @@ -168,17 +210,13 @@ TCD3.OsmController = (function (global) { var desc_type = getUrlParameter('type'); if (desc_type === 'nsd') { - var element_type = 'cp'; + var element_type = 'ns_cp'; var data_form = new FormData(); - - var vnfd_node = (link.source.info.type === 'vnf') ? link.source : link.target; - var vld_node = (link.source.info.type === 'ns_vl') ? link.source : link.target; - + var ns_cp = (link.source.info.type === 'ns_cp') ? link.source : link.target; data_form.append('csrfmiddlewaretoken', getCookie('csrftoken')); - data_form.append('vnfd-connection-point-ref', 'cp_temp'); - data_form.append('member-vnf-index-ref', vnfd_node.info.osm['member-vnf-index']); - data_form.append('vnfd-id-ref', vnfd_node.info.osm['vnfd-id-ref']); - data_form.append('vld_id', vld_node.info.osm['id']); + data_form.append('member-vnf-index-ref', ns_cp.info.osm['member-vnf-index-ref']); + data_form.append('vnfd-id-ref', ns_cp.info.osm['vnfd-id-ref']); + data_form.append('vld_id', ns_cp.info.osm['vld_id']); $.ajax({ url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/removeElement/' + element_type,