diff --git a/ui/src/config/router.js b/ui/src/config/router.js index b718773087b..58bc558c368 100644 --- a/ui/src/config/router.js +++ b/ui/src/config/router.js @@ -61,6 +61,7 @@ export function generateRouterMap (section) { docHelp: child.docHelp, permission: child.permission, resourceType: child.resourceType, + filters: child.filters, params: child.params ? child.params : {}, columns: child.columns, details: child.details, @@ -122,6 +123,7 @@ export function generateRouterMap (section) { map.meta.resourceType = section.resourceType map.meta.details = section.details map.meta.actions = section.actions + map.meta.filters = section.filters map.meta.treeView = section.treeView ? section.treeView : false map.meta.tabs = section.treeView ? section.tabs : {} diff --git a/ui/src/config/section/image.js b/ui/src/config/section/image.js index 39031b8bfa3..39df4f2ea78 100644 --- a/ui/src/config/section/image.js +++ b/ui/src/config/section/image.js @@ -27,8 +27,9 @@ export default { title: 'Templates', icon: 'save', permission: ['listTemplates'], - params: { templatefilter: 'executable' }, + params: { templatefilter: 'self' }, resourceType: 'Template', + filters: ['self', 'shared', 'featured', 'community'], columns: ['name', 'ostypename', 'status', 'hypervisor', 'account', 'domain', 'order'], details: ['name', 'id', 'displaytext', 'checksum', 'hypervisor', 'format', 'ostypename', 'size', 'isready', 'passwordenabled', 'directdownload', 'isextractable', 'isdynamicallyscalable', 'ispublic', 'isfeatured', 'crosszones', 'type', 'account', 'domain', 'created'], related: [{ @@ -95,21 +96,6 @@ export default { popup: true, show: (record, store) => { return (['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && (record.domainid === store.userInfo.domainid && record.account === store.userInfo.account) || record.templatetype !== 'BUILTIN') }, component: () => import('@/views/image/UpdateTemplateIsoPermissions') - }, - { - api: 'copyTemplate', - icon: 'copy', - label: 'Copy Template', - args: ['sourcezoneid', 'destzoneids'], - dataView: true - }, - { - api: 'deleteTemplate', - icon: 'delete', - label: 'Delete Template', - args: ['zoneid'], - dataView: true, - groupAction: true } ] }, @@ -118,8 +104,9 @@ export default { title: 'ISOs', icon: 'usb', permission: ['listIsos'], - params: { isofilter: 'executable' }, + params: { isofilter: 'self' }, resourceType: 'ISO', + filters: ['self', 'shared', 'featured', 'community'], columns: ['name', 'ostypename', 'account', 'domain'], details: ['name', 'id', 'displaytext', 'checksum', 'ostypename', 'size', 'bootable', 'isready', 'directdownload', 'isextractable', 'ispublic', 'isfeatured', 'crosszones', 'account', 'domain', 'created'], related: [{ @@ -180,24 +167,10 @@ export default { icon: 'reconciliation', label: 'Update ISO Permissions', dataView: true, + args: ['op', 'accounts', 'projectids'], popup: true, show: (record, store) => { return (['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && (record.domainid === store.userInfo.domainid && record.account === store.userInfo.account) || record.templatetype !== 'BUILTIN') }, component: () => import('@/views/image/UpdateTemplateIsoPermissions') - }, - { - api: 'copyIso', - icon: 'copy', - label: 'Copy ISO', - args: ['sourcezoneid', 'destzoneids'], - dataView: true - }, - { - api: 'deleteIso', - icon: 'delete', - label: 'Delete ISO', - args: ['zoneid'], - dataView: true, - groupAction: true } ] }, diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index ae303d1979f..1905f312a53 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -1279,7 +1279,9 @@ "filter": "Filter", "featured": "Featured", "community": "Community", +"self": "Mine", "selfexecutable": "Self", +"shared": "Shared", "sharedexecutable": "Shared", "fixed": "Fixed Offering", "customconstrained": "Custom Constrained", diff --git a/ui/src/views/AutogenView.vue b/ui/src/views/AutogenView.vue index 38fb5350fce..b78d3f682c5 100644 --- a/ui/src/views/AutogenView.vue +++ b/ui/src/views/AutogenView.vue @@ -19,7 +19,7 @@
- +