Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F32BF1066C for ; Fri, 15 Nov 2013 20:02:58 +0000 (UTC) Received: (qmail 38620 invoked by uid 500); 15 Nov 2013 20:02:48 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 38539 invoked by uid 500); 15 Nov 2013 20:02:48 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 37827 invoked by uid 99); 15 Nov 2013 20:02:47 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Nov 2013 20:02:47 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 6596D82F510; Fri, 15 Nov 2013 20:02:47 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: bfederle@apache.org To: commits@cloudstack.apache.org Date: Fri, 15 Nov 2013 20:03:09 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [24/50] git commit: updated refs/heads/ui-restyle to 06ccb84 CLOUDSTACK-999: hyper-V: UI > zone wizard > Add Secondary Storage step > add "SMB/cifs" option in Provider dropdown > When Provider is selected as SMB/cifs, show SMB username/password/domain fields and send their values into url parameter of addImageStore API. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/253da8f6 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/253da8f6 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/253da8f6 Branch: refs/heads/ui-restyle Commit: 253da8f6ba5c88f684cfd154a0baa48c3268a6d8 Parents: 4a8e9f8 Author: Jessica Wang Authored: Wed Nov 13 15:01:32 2013 -0800 Committer: Jessica Wang Committed: Wed Nov 13 15:01:59 2013 -0800 ---------------------------------------------------------------------- ui/scripts/zoneWizard.js | 120 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 113 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/253da8f6/ui/scripts/zoneWizard.js ---------------------------------------------------------------------- diff --git a/ui/scripts/zoneWizard.js b/ui/scripts/zoneWizard.js index d8ee41f..c5db0f9 100755 --- a/ui/scripts/zoneWizard.js +++ b/ui/scripts/zoneWizard.js @@ -1832,7 +1832,9 @@ provider: { label: 'Provider', select: function(args) { - var storageproviders = []; + var storageproviders = []; + storageproviders.push({ id: '', description: ''}); + $.ajax({ url: createURL('listImageStores'), data: { @@ -1842,7 +1844,7 @@ success: function(json) { var s3stores = json.listimagestoresresponse.imagestore; if(s3stores != null && s3stores.length > 0) { - storageproviders.push({ id: 'S3', description: 'S3'}); + storageproviders.push({ id: 'S3', description: 'S3'}); //if (region-wide) S3 store exists already, only "S3" option should be included here. Any other type of store is not allowed to be created since cloudstack doesn't support multiple types of store at this point. } else { $.ajax({ url: createURL('listStorageProviders'), @@ -1851,8 +1853,7 @@ }, async: false, success: function(json) { - var objs = json.liststorageprovidersresponse.dataStoreProvider; - storageproviders.push({ id: '', description: ''}); + var objs = json.liststorageprovidersresponse.dataStoreProvider; if (objs != null) { for (var i = 0; i < objs.length; i++) { storageproviders.push({ @@ -1863,6 +1864,7 @@ } } }); + storageproviders.push({ id: 'SMB', description: 'SMB/cifs'}); //temporary, before Rajesh adds 'SMB' to listStorageProviders API response. } args.response.success({ data: storageproviders @@ -1880,6 +1882,11 @@ $fields.filter('[rel=nfsServer]').hide(); $fields.filter('[rel=path]').hide(); + //SMB + $fields.filter('[rel=smbUsername]').hide(); + $fields.filter('[rel=smbPassword]').hide(); + $fields.filter('[rel=smbDomain]').hide(); + //S3 $fields.filter('[rel=accesskey]').hide(); $fields.filter('[rel=secretkey]').hide(); @@ -1908,6 +1915,44 @@ $fields.filter('[rel=nfsServer]').css('display', 'inline-block'); $fields.filter('[rel=path]').css('display', 'inline-block'); + //SMB + $fields.filter('[rel=smbUsername]').hide(); + $fields.filter('[rel=smbPassword]').hide(); + $fields.filter('[rel=smbDomain]').hide(); + + //S3 + $fields.filter('[rel=accesskey]').hide(); + $fields.filter('[rel=secretkey]').hide(); + $fields.filter('[rel=bucket]').hide(); + $fields.filter('[rel=endpoint]').hide(); + $fields.filter('[rel=usehttps]').hide(); + $fields.filter('[rel=connectiontimeout]').hide(); + $fields.filter('[rel=maxerrorretry]').hide(); + $fields.filter('[rel=sockettimeout]').hide(); + + $fields.filter('[rel=createNfsCache]').hide(); + $fields.filter('[rel=createNfsCache]').find('input').removeAttr('checked'); + $fields.filter('[rel=nfsCacheNfsServer]').hide(); + $fields.filter('[rel=nfsCachePath]').hide(); + + //Swift + $fields.filter('[rel=url]').hide(); + $fields.filter('[rel=account]').hide(); + $fields.filter('[rel=username]').hide(); + $fields.filter('[rel=key]').hide(); + } else if ($(this).val() == "SMB") { + $fields.filter('[rel=name]').css('display', 'inline-block'); + + //NFS + $fields.filter('[rel=zoneid]').css('display', 'inline-block'); + $fields.filter('[rel=nfsServer]').css('display', 'inline-block'); + $fields.filter('[rel=path]').css('display', 'inline-block'); + + //SMB + $fields.filter('[rel=smbUsername]').css('display', 'inline-block'); + $fields.filter('[rel=smbPassword]').css('display', 'inline-block'); + $fields.filter('[rel=smbDomain]').css('display', 'inline-block'); + //S3 $fields.filter('[rel=accesskey]').hide(); $fields.filter('[rel=secretkey]').hide(); @@ -1944,6 +1989,11 @@ $fields.filter('[rel=nfsServer]').hide(); $fields.filter('[rel=path]').hide(); + //SMB + $fields.filter('[rel=smbUsername]').hide(); + $fields.filter('[rel=smbPassword]').hide(); + $fields.filter('[rel=smbDomain]').hide(); + //S3 if(s3stores != null && s3stores.length > 0) { $fields.filter('[rel=accesskey]').hide(); @@ -1983,6 +2033,11 @@ $fields.filter('[rel=nfsServer]').hide(); $fields.filter('[rel=path]').hide(); + //SMB + $fields.filter('[rel=smbUsername]').hide(); + $fields.filter('[rel=smbPassword]').hide(); + $fields.filter('[rel=smbDomain]').hide(); + //S3 $fields.filter('[rel=accesskey]').hide(); $fields.filter('[rel=secretkey]').hide(); @@ -2016,7 +2071,7 @@ isHidden: true }, - //NFS (begin) + //NFS, SMB (begin) nfsServer: { label: 'label.nfs.server', validation: { @@ -2031,9 +2086,31 @@ }, isHidden: true }, - //NFS (end) + //NFS, SMB (end) + //SMB (begin) + smbUsername: { + label: 'SMB Username', + validation: { + required: true + } + }, + smbPassword: { + label: 'SMB Password', + isPassword: true, + validation: { + required: true + } + }, + smbDomain: { + label: 'SMB Domain', + validation: { + required: true + } + }, + //SMB (end) + //S3 (begin) accesskey: { label: 'label.s3.access_key', @@ -4152,7 +4229,36 @@ var url = nfsURL(nfs_server, path); $.extend(data, { - provider: 'NFS', + provider: args.data.secondaryStorage.provider, + zoneid: args.data.returnedZone.id, + url: url + }); + + $.ajax({ + url: createURL('addImageStore'), + data: data, + success: function(json) { + complete({ + data: $.extend(args.data, { + returnedSecondaryStorage: json.addimagestoreresponse.secondarystorage + }) + }); + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + error('addSecondaryStorage', errorMsg, { + fn: 'addSecondaryStorage', + args: args + }); + } + }); + } else if (args.data.secondaryStorage.provider == 'SMB') { + var nfs_server = args.data.secondaryStorage.nfsServer; + var path = args.data.secondaryStorage.path; + var url = smbURL(nfs_server, path, args.data.secondaryStorage.smbUsername, args.data.secondaryStorage.smbPassword, args.data.secondaryStorage.smbDomain); + + $.extend(data, { + provider: args.data.secondaryStorage.provider, zoneid: args.data.returnedZone.id, url: url });