Skip to content

Commit 76d8b6d

Browse files
shwstppryadvr
authored andcommitted
ui: fixes for domain, zone selection in create disk offering
Fixes missing labels. Decouples zone selection with 'Public' check in create disk offering form. Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent ac9084b commit 76d8b6d

4 files changed

Lines changed: 40 additions & 34 deletions

File tree

ui/l10n/en.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,7 @@ var dictionary = {
705705
"label.dns.1":"DNS 1",
706706
"label.dns.2":"DNS 2",
707707
"label.domain":"Domain",
708+
"label.domains":"Domains",
708709
"label.domain.admin":"Domain Admin",
709710
"label.domain.details":"Domain details",
710711
"label.domain.id":"Domain ID",

ui/scripts/configuration.js

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,8 +2032,6 @@
20322032
label: 'label.zone',
20332033
docID: 'helpDiskOfferingZone',
20342034
isMultiple: true,
2035-
isHidden: true,
2036-
dependsOn: 'isPublic',
20372035
validation: {
20382036
allzonesonly: true
20392037
},
@@ -2147,16 +2145,7 @@
21472145
if (args.data.isPublic != "on") {
21482146
var domains = "";
21492147
if (Object.prototype.toString.call(args.data.domain) === '[object Array]') {
2150-
var rootDomainSelected = false;
2151-
args.data.domain.forEach(function (domain) {
2152-
if (domain === null) {
2153-
rootDomainSelected = true;
2154-
break;
2155-
}
2156-
});
2157-
if(!rootDomainSelected) {
2158-
domains = args.data.domain.join(",");
2159-
}
2148+
domains = args.data.domain.join(",");
21602149
} else {
21612150
if (args.data.domain != null) {
21622151
domains = args.data.domain;
@@ -2167,30 +2156,30 @@
21672156
domainids: domains
21682157
});
21692158
}
2159+
}
21702160

2171-
var zones = "";
2172-
if (Object.prototype.toString.call(args.data.zone) === '[object Array]') {
2173-
var allZonesSelected = false;
2174-
args.data.zone.forEach(function (zone) {
2175-
if (zone === null) {
2176-
allZonesSelected = true;
2177-
break;
2178-
}
2179-
});
2180-
if(!allZonesSelected) {
2181-
zones = args.data.zone.join(",");
2182-
}
2183-
} else {
2184-
if (args.data.zone != null) {
2185-
zones = args.data.zone;
2161+
var zones = "";
2162+
if (Object.prototype.toString.call(args.data.zone) === '[object Array]') {
2163+
var allZonesSelected = false;
2164+
args.data.zone.forEach(function (zone) {
2165+
if (zone === null) {
2166+
allZonesSelected = true;
2167+
break;
21862168
}
2169+
});
2170+
if(!allZonesSelected) {
2171+
zones = args.data.zone.join(",");
21872172
}
2188-
if (zones != "") {
2189-
$.extend(data, {
2190-
zoneids: zones
2191-
});
2173+
} else {
2174+
if (args.data.zone != null) {
2175+
zones = args.data.zone;
21922176
}
21932177
}
2178+
if (zones != "") {
2179+
$.extend(data, {
2180+
zoneids: zones
2181+
});
2182+
}
21942183

21952184
$.ajax({
21962185
url: createURL('createDiskOffering'),

ui/scripts/docs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ cloudStack.docs = {
383383
externalLink: ''
384384
},
385385
helpDiskOfferingDomain: {
386-
desc: 'Select the subdomain in which this offering is available',
386+
desc: 'Select the domains in which this offering is available (Tip: Use Ctrl to choose multiple domains)',
387387
externalLink: ''
388388
},
389389
helpDiskOfferingZone: {

ui/scripts/storage.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@
173173
});
174174
}
175175

176-
var selectedDiskOfferingObj = null;
176+
var diskOfferingsObjList, selectedDiskOfferingObj = null;
177177

178178
cloudStack.sections.storage = {
179179
title: 'label.storage',
@@ -279,13 +279,29 @@
279279
});
280280
}
281281
});
282+
args.$select.change(function() {
283+
var diskOfferingSelect = $(this).closest('form').find('select[name=diskOffering]');
284+
if(diskOfferingSelect) {
285+
$(diskOfferingSelect).find('option').remove().end();
286+
var data = {
287+
zoneid: $(this).val(),
288+
};
289+
console.log(data);
290+
var diskOfferings = cloudStack.listDiskOfferings({ data: data });
291+
diskOfferingsObjList = diskOfferings;
292+
$(diskOfferings).each(function() {
293+
$(diskOfferingSelect).append(new Option(this.displaytext, this.id));
294+
});
295+
}
296+
});
282297
}
283298
},
284299
diskOffering: {
285300
label: 'label.disk.offering',
286301
docID: 'helpVolumeDiskOffering',
287302
select: function(args) {
288303
var diskOfferings = cloudStack.listDiskOfferings({});
304+
diskOfferingsObjList = diskOfferings;
289305
var items = [];
290306
$(diskOfferings).each(function() {
291307
items.push({
@@ -298,7 +314,7 @@
298314
});
299315
args.$select.change(function() {
300316
var diskOfferingId = $(this).val();
301-
$(diskOfferings).each(function() {
317+
$(diskOfferingsObjList).each(function() {
302318
if (this.id == diskOfferingId) {
303319
selectedDiskOfferingObj = this;
304320
return false; //break the $.each() loop

0 commit comments

Comments
 (0)