diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 27841b03ece..549db3771ac 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -11828,13 +11828,15 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it .downloadVolume .icon, .downloadTemplate .icon, -.downloadISO .icon { +.downloadISO .icon, +.replaceacllist .icon { background-position: -35px -125px; } .downloadVolume:hover .icon, .downloadTemplate:hover .icon, -.downloadISO:hover .icon { +.downloadISO:hover .icon, +.replaceacllist:hover .icon { background-position: -35px -707px; } diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js index 035299059c2..d87f0dcb0ae 100644 --- a/ui/scripts/sharedFunctions.js +++ b/ui/scripts/sharedFunctions.js @@ -276,7 +276,7 @@ cloudStack.actionFilter = { guestNetwork: function(args) { var jsonObj = args.context.item; var allowedActions = []; - + allowedActions.push('replaceacllist'); if(jsonObj.type == 'Isolated') { allowedActions.push('edit'); //only Isolated network is allowed to upgrade to a different network offering (Shared network is not allowed to) allowedActions.push('restart'); diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js index df4664be3c1..6ea41c99b6b 100644 --- a/ui/scripts/vpc.js +++ b/ui/scripts/vpc.js @@ -189,8 +189,7 @@ $.ajax({ url: createURL('createNetworkACL'), data: $.extend(args.data, { - networkid: args.context.networks ? - args.context.networks[0].id : args.data.networkid + aclid: args.context.aclLists[0].id }), dataType: 'json', success: function(data) { @@ -198,10 +197,11 @@ _custom: { jobId: data.createnetworkaclresponse.jobid, getUpdatedItem: function(json) { - var networkName = $multi.find('select[name=networkid] option[value=' + args.data.networkid + ']').html(); - var data = $.extend(json.queryasyncjobresultresponse.jobresult.networkacl, { + //var networkName = $multi.find('select[name=networkid] option[value=' + args.data.networkid + ']').html(); + /* var data = $.extend(json.queryasyncjobresultresponse.jobresult.networkacl, { networkid: networkName - }); + });*/ + var data = json.queryasyncjobresultresponse.jobresult.networkacl; var aclRules = $multi.data('acl-rules'); aclRules.push(data); @@ -551,34 +551,88 @@ id: 'aclLists', fields: { name: { label: 'label.name' }, - total: { label: 'label.total' } + id: { label: 'id' } }, dataProvider: function(args) { - args.response.success({ - data: [ - { name: 'ACL list 1', total: 3 }, - { name: 'ACL list 2', total: 2 } - ] - }); - }, + $.ajax({ + + url:createURL('listNetworkACLLists&vpc_id=' + args.context.vpc[0].id), + success:function(json){ + var items = json.listnetworkacllistsresponse.networkacllist; + + args.response.success({ + data:items + }); + } + }); + }, + + actions:{ + add:{ + label:'Add ACL List', + createForm:{ + label: 'Add ACL List', + fields:{ + name:{label:'ACL List Name',validation:{required:true}}, + description:{label:'Description',validation:{required:true}} + } + }, + messages: { + notification: function(args) { + return 'Add Network ACL List'; + } + }, + action:function(args){ + var data = { + name:args.data.name, + description:args.data.description + + }; + + $.ajax({ + url:createURL('createNetworkACLList&vpcid='+ args.context.vpc[0].id), + data:data, + success:function(json){ + var items = json.createnetworkacllistresponse; + args.response.success({ + data:items + }); + } + }); + } + } + }, + detailView: { isMaximized: true, tabs: { - details: { + /* details: { + title: 'label.details', fields: [ { - name: { label: 'label.name', isEditable: true } + name: { label: 'label.name', isEditable: true }, + id: {label:'id'} } + ], dataProvider: function(args) { - args.response.success({ data: args.context.aclLists[0] }); - } - }, + $.ajax({ + url:createURL('listNetworkACLs&aclid=' + args.context.aclLists[0].id), + success:function(json){ + var items = json.listnetworkaclsresponse.networkacl; + args.response.success({ + data:items + }); + } + }); + } + + },*/ aclRules: { - title: 'label.acl.rules', + title: 'ACL List Rules', custom: function(args) { return $('