Skip to content

Commit d58fea2

Browse files
committed
Add UI support for cloning Compute and System Service offerings
1 parent db8fb3b commit d58fea2

File tree

3 files changed

+1436
-0
lines changed

3 files changed

+1436
-0
lines changed

ui/public/locales/en.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,8 @@
558558
"label.clear.list": "Clear list",
559559
"label.clear.notification": "Clear notification",
560560
"label.clientid": "Provider Client ID",
561+
"label.clone.compute.offering": "Clone Compute Offering",
562+
"label.clone.system.service.offering": "Clone System Service Offering",
561563
"label.close": "Close",
562564
"label.cloud.managed": "CloudManaged",
563565
"label.cloudian.admin.password": "Admin Service Password",
@@ -3215,6 +3217,10 @@
32153217
"message.create.bucket.failed": "Failed to create bucket.",
32163218
"message.create.bucket.processing": "Bucket creation in progress",
32173219
"message.create.compute.offering": "Compute Offering created",
3220+
"message.clone.compute.offering": "Compute Offering cloned",
3221+
"message.clone.service.offering": "Service Offering cloned",
3222+
"message.clone.offering.from": "Cloning from",
3223+
"message.clone.offering.edit.hint": "All values are pre-filled from the source offering. Edit any field to customize the new offering.",
32183224
"message.create.sharedfs.failed": "Failed to create Shared FileSystem.",
32193225
"message.create.sharedfs.processing": "Shared FileSystem creation in progress.",
32203226
"message.create.tungsten.public.network": "Create Tungsten-Fabric public Network",

ui/src/config/section/offering.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ export default {
143143
},
144144
show: (record) => { return record.state === 'Active' },
145145
groupMap: (selection) => { return selection.map(x => { return { id: x, state: 'Inactive' } }) }
146+
}, {
147+
api: 'cloneServiceOffering',
148+
icon: 'copy-outlined',
149+
label: 'label.clone.compute.offering',
150+
docHelp: 'adminguide/service_offerings.html#creating-a-new-compute-offering',
151+
dataView: true,
152+
popup: true,
153+
component: shallowRef(defineAsyncComponent(() => import('@/views/offering/CloneComputeOffering.vue')))
146154
}]
147155
},
148156
{
@@ -225,6 +233,15 @@ export default {
225233
},
226234
show: (record) => { return record.state === 'Active' },
227235
groupMap: (selection) => { return selection.map(x => { return { id: x, state: 'Inactive' } }) }
236+
}, {
237+
api: 'cloneServiceOffering',
238+
icon: 'copy-outlined',
239+
label: 'label.clone.system.service.offering',
240+
docHelp: 'adminguide/service_offerings.html#creating-a-new-system-service-offering',
241+
dataView: true,
242+
params: { issystem: 'true' },
243+
popup: true,
244+
component: shallowRef(defineAsyncComponent(() => import('@/views/offering/CloneComputeOffering.vue')))
228245
}]
229246
},
230247
{

0 commit comments

Comments
 (0)