Extending functionality related to virtual networks

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f1f80b25
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f1f80b25
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f1f80b25

Branch: refs/heads/sf-plugins
Commit: f1f80b25b46ddb2fdac21fb058bd76848405857e
Parents: 3ed58d8
Author: Mike Tutkowski <mike.tutkow...@solidfire.com>
Authored: Tue Jul 21 17:32:51 2015 -0600
Committer: CloudStack <cloudstack@cloudstack-virtual-machine.(none)>
Committed: Tue Jul 28 13:42:44 2015 -0600

----------------------------------------------------------------------
 ui/plugins/sfAdministration/sfAdministration.js | 154 +++++++++++++++++++
 1 file changed, 154 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f1f80b25/ui/plugins/sfAdministration/sfAdministration.js
----------------------------------------------------------------------
diff --git a/ui/plugins/sfAdministration/sfAdministration.js 
b/ui/plugins/sfAdministration/sfAdministration.js
index cbabf39..158b714 100644
--- a/ui/plugins/sfAdministration/sfAdministration.js
+++ b/ui/plugins/sfAdministration/sfAdministration.js
@@ -468,6 +468,160 @@
                       }
                     }
                   }
+                },
+                action: function(args) {
+                  var data = {
+                    clustername: args.context.sfAdministration[0].name,
+                    name: args.data.name,
+                    tag: args.data.tag,
+                    startip: args.data.startip,
+                    size: 10, // Mike T. args.data.size,
+                    netmask: args.data.netmask,
+                    svip: args.data.svip,
+                    accountid: args.data.account
+                  };
+
+                  $.ajax({
+                    url: createURL('createSolidFireVirtualNetwork'),
+                    data: data,
+                    success: function(json) {
+                      var sfVirtualNetworkObj = 
json.createsolidfirevirtualnetworkresponse.apicreatesolidfirevirtualnetwork;
+
+                      args.response.success({
+                        data: sfVirtualNetworkObj
+                      });
+                    },
+                    error: function(json) {
+                      args.response.error(parseXMLHttpResponse(json));
+                    }
+                  });
+                }
+              }
+            },
+            detailView: {
+              name: 'label.details',
+              actions: {
+                edit: {
+                  label: 'label.edit',
+                  messages: {
+                    notification: function(args) {
+                      return 'Edit Virtual Network';
+                    }
+                  },
+                  action: function (args) {
+                    var params = [];
+
+                    params.push("&name=" + args.context.name);
+                    params.push("&tag=" + args.data.tag);
+                    params.push("&startip=" + args.data.startip);
+                    params.push("&size=" + "10"); // Mike T. args.data.size);
+                    params.push("&netmask=" + args.data.netmask);
+                    params.push("&svip=" + args.data.svip);
+
+                    $.ajax({
+                      url: createURL('updateSolidFireVirtualNetwork' + 
params.join("")),
+                      success: function(json) {
+                        var sfVirtualNetworkObj = 
json.updatesolidfirevirtualnetworkresponse.apiupdatesolidfirevirtualnetwork;
+
+                        args.response.success({
+                          data: sfVirtualNetworkObj
+                        });
+                      },
+                      error: function(json) {
+                        args.response.error(parseXMLHttpResponse(json));
+                      }
+                    });
+                  }
+                },
+                remove: {
+                  label: 'Delete Virtual Network',
+                  messages: {
+                    confirm: function(args) {
+                      return 'Are you sure you would like to delete this 
virtual network?';
+                    },
+                    notification: function(args) {
+                      return 'Delete Virtual Network';
+                    }
+                  },
+                  action: function(args) {
+                    $.ajax({
+                      url: createURL('deleteSolidFireVirtualNetwork&id=' + 
args.context.sfVirtualNetwork[0].id),
+                      success: function(json) {
+                        args.response.success();
+                      },
+                      error: function(json) {
+                        args.response.error(parseXMLHttpResponse(json));
+                      }
+                    });
+                  }
+                }
+              },
+              tabs: {
+                details: {
+                  title: 'label.details',
+                  preFilter: function(args) {
+                    return [];
+                  },
+                  fields: [
+                    {
+                      name: {
+                        label: 'label.name',
+                        isEditable: true
+                      }
+                    },
+                    {
+                      uuid: {
+                        label: 'label.id'
+                      },
+                      accountname: {
+                        label: 'label.account'
+                      },
+                      tag: {
+                        label: 'Tag',
+                        isEditable: true
+                      },
+                      physicalnetwork: {
+                        label: 'Physical Network'
+                      },
+                      networkoffering: {
+                        label: 'Network Offering'
+                      },
+                      gateway: {
+                        label: 'Gateway',
+                        isEditable: true
+                      },
+                      netmask: {
+                        label: 'Netmask',
+                        isEditable: true
+                      },
+                      startip: {
+                        label: 'Start IP',
+                        isEditable: true
+                      },
+                      endip: {
+                        label: 'End IP',
+                        isEditable: true
+                      },
+                      svip: {
+                        label: 'SVIP',
+                        isEditable: true
+                      }
+                    }
+                  ],
+                  dataProvider: function(args) {
+                    $.ajax({
+                      url: createURL("listSolidFireVirtualNetworks&id=" + 
args.context.sfVirtualNetwork[0].id),
+                      dataType: "json",
+                      async: true,
+                      success: function(json) {
+                        var jsonObj = 
json.listsolidfirevirtualnetworksresponse.sfvirtualnetwork[0];
+
+                        args.response.success({
+                          data: jsonObj
+                        });
+                      }
+                    });
+                  }
                 }
               }
             }

Reply via email to