This is an automated email from the ASF dual-hosted git repository. shwstppr pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 1bb6130795cd518e52a4ecd83aca11df5736b7c8 Merge: fcbf540369d e199678101e Author: Abhishek Kumar <[email protected]> AuthorDate: Fri Oct 20 11:00:22 2023 +0530 Merge remote-tracking branch 'apache/4.18' into main test/integration/smoke/test_templates.py | 32 ++++++++++++++++++-------------- tools/marvin/marvin/lib/base.py | 2 ++ ui/src/components/view/ListView.vue | 2 +- ui/src/config/section/storage.js | 6 +----- ui/src/views/image/TemplateZones.vue | 2 +- 5 files changed, 23 insertions(+), 21 deletions(-) diff --cc ui/src/components/view/ListView.vue index 8352a179afe,abb62b345bc..b3405d8eda1 --- a/ui/src/components/view/ListView.vue +++ b/ui/src/components/view/ListView.vue @@@ -113,95 -82,135 +113,95 @@@ style="margin-left: 5px" :actions="actions" :resource="record" - :enabled="quickViewEnabled() && actions.length > 0 && columns && columns[0].dataIndex === 'name' " + :enabled="quickViewEnabled() && actions.length > 0 && columns && columns[0].dataIndex === 'displayname' " @exec-action="$parent.execAction"/> - <span v-if="$route.path.startsWith('/project')" style="margin-right: 5px"> - <tooltip-button type="dashed" size="small" icon="LoginOutlined" @onClick="changeProject(record)" /> - </span> + <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'username'"> <span v-if="$showIcon() && !['vm'].includes($route.path.split('/')[1])" style="margin-right: 5px"> <resource-icon v-if="$showIcon() && record.icon && record.icon.base64image" :image="record.icon.base64image" size="2x"/> - <os-logo v-else-if="record.ostypename" :osName="record.ostypename" size="2x" /> - <render-icon v-else-if="typeof $route.meta.icon ==='string'" style="font-size: 16px;" :icon="$route.meta.icon"/> - <render-icon v-else style="font-size: 16px;" :svgIcon="$route.meta.icon" /> - </span> - <span v-else :style="{ 'margin-right': record.ostypename ? '5px' : '0' }"> - <os-logo v-if="record.ostypename" :osName="record.ostypename" size="1x" /> + <user-outlined v-else style="font-size: 16px;" /> </span> - - <span v-if="record.hasannotations"> - <span v-if="record.id"> - <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> - <router-link :to="{ path: $route.path + '/' + record.id, query: { tab: 'comments' } }"><message-filled style="padding-left: 10px" size="small"/></router-link> - </span> - <router-link v-else :to="{ path: $route.path + '/' + record.name }" >{{ text }}</router-link> + <router-link :to="{ path: $route.path + '/' + record.id }" v-if="['/accountuser', '/vpnuser'].includes($route.path)">{{ text }}</router-link> + <router-link :to="{ path: '/accountuser', query: { username: record.username, domainid: record.domainid } }" v-else-if="$store.getters.userInfo.roletype !== 'User'">{{ text }}</router-link> + <span v-else>{{ text }}</span> + </template> + <template v-if="column.key === 'entityid'"> + <router-link :to="{ path: generateCommentsPath(record), query: { tab: 'comments' } }">{{ record.entityname }}</router-link> + </template> + <template v-if="column.key === 'entitytype'"> + {{ generateHumanReadableEntityType(record) }} + </template> + <template v-if="column.key === 'adminsonly' && ['Admin'].includes($store.getters.userInfo.roletype)"> + <a-checkbox :checked="record.adminsonly" :value="record.id" v-if="record.userid === $store.getters.userInfo.id" @change="e => updateAdminsOnly(e)" /> + <a-checkbox :checked="record.adminsonly" disabled v-else /> + </template> + <template v-if="column.key === 'ipaddress'" href="javascript:;"> + <router-link v-if="['/publicip', '/privategw'].includes($route.path)" :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> + <span v-else> + <copy-label :label="text" /> </span> - <span v-else-if="$route.path.startsWith('/globalsetting')">{{ text }}</span> - <span v-else-if="$route.path.startsWith('/preferences')">{{ text }}</span> - <span v-else-if="$route.path.startsWith('/alert')"> - <router-link :to="{ path: $route.path + '/' + record.id }" v-if="record.id">{{ $t(text.toLowerCase()) }}</router-link> - <router-link :to="{ path: $route.path + '/' + record.name }" v-else>{{ $t(text.toLowerCase()) }}</router-link> + <span v-if="record.issourcenat"> + + <a-tag>source-nat</a-tag> </span> - <span v-else-if="$route.path.startsWith('/tungstenfabric')"> - <router-link :to="{ path: $route.path + '/' + record.id }" v-if="record.id">{{ $t(text.toLowerCase()) }}</router-link> - <router-link :to="{ path: $route.path + '/' + record.name }" v-else>{{ $t(text.toLowerCase()) }}</router-link> + <span v-if="record.isstaticnat"> + + <a-tag>static-nat</a-tag> </span> - <span v-else-if="isTungstenPath()"> - <router-link :to="{ path: $route.path + '/' + record.uuid, query: { zoneid: record.zoneid } }" v-if="record.uuid && record.zoneid">{{ $t(text.toLowerCase()) }}</router-link> - <router-link :to="{ path: $route.path + '/' + record.uuid, query: { zoneid: $route.query.zoneid } }" v-else-if="record.uuid && $route.query.zoneid">{{ $t(text.toLowerCase()) }}</router-link> - <router-link :to="{ path: $route.path }" v-else>{{ $t(text.toLowerCase()) }}</router-link> + </template> + <template v-if="column.key === 'ip6address'" href="javascript:;"> + <span>{{ ipV6Address(text, record) }}</span> + </template> + <template v-if="column.key === 'publicip'"> + <router-link v-if="['/autoscalevmgroup'].includes($route.path)" :to="{ path: '/publicip' + '/' + record.publicipid }">{{ text }}</router-link> + <router-link v-else :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'traffictype'"> + {{ text }} + </template> + <template v-if="column.key === 'vmname'"> + <router-link :to="{ path: createPathBasedOnVmType(record.vmtype, record.virtualmachineid) }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'virtualmachinename'"> + <router-link :to="{ path: getVmRouteUsingType(record) + record.virtualmachineid }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'volumename'"> + <router-link :to="{ path: '/volume/' + record.volumeid }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'size'"> + <span v-if="text"> + {{ parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) }} GiB </span> - <span v-else> - <router-link :to="{ path: $route.path + '/' + record.id }" v-if="record.id">{{ text }}</router-link> - <router-link :to="{ path: $route.path + '/' + record.name }" v-else>{{ text }}</router-link> + </template> + <template v-if="column.key === 'physicalsize'"> + <span v-if="text"> - {{ parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) }} GiB ++ {{ isNaN(text) ? text : (parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) + ' GiB') }} </span> + </template> + <template v-if="column.key === 'physicalnetworkname'"> + <router-link :to="{ path: '/physicalnetwork/' + record.physicalnetworkid }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'serviceofferingname'"> + <router-link :to="{ path: '/computeoffering/' + record.serviceofferingid }">{{ text }}</router-link> + </template> + <template v-if="column.key === 'hypervisor'"> + <span v-if="$route.name === 'hypervisorcapability'"> + <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> </span> - </template> - <template #templatetype="{ text, record }"> - <router-link :to="{ path: $route.path + '/' + record.templatetype }">{{ text }}</router-link> - </template> - <template #type="{ text }"> - <span v-if="['USER.LOGIN', 'USER.LOGOUT', 'ROUTER.HEALTH.CHECKS', 'FIREWALL.CLOSE', 'ALERT.SERVICE.DOMAINROUTER'].includes(text)">{{ $t(text.toLowerCase()) }}</span> - <span v-else>{{ text }}</span> - </template> - <template #displayname="{text, record}"> - <QuickView - style="margin-left: 5px" - :actions="actions" - :resource="record" - :enabled="quickViewEnabled() && actions.length > 0 && columns && columns[0].dataIndex === 'displayname' " - @exec-action="$parent.execAction"/> - <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> - </template> - <template #username="{text, record}"> - <span v-if="$showIcon() && !['vm'].includes($route.path.split('/')[1])" style="margin-right: 5px"> - <resource-icon v-if="$showIcon() && record.icon && record.icon.base64image" :image="record.icon.base64image" size="2x"/> - <user-outlined v-else style="font-size: 16px;" /> + <span v-else-if="$route.name === 'guestoshypervisormapping'"> + <QuickView + style="margin-left: 5px" + :actions="actions" + :resource="record" + :enabled="quickViewEnabled() && actions.length > 0 && columns && columns[0].dataIndex === 'hypervisor' " + @exec-action="$parent.execAction"/> + <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> </span> - <router-link :to="{ path: $route.path + '/' + record.id }" v-if="['/accountuser', '/vpnuser'].includes($route.path)">{{ text }}</router-link> - <router-link :to="{ path: '/accountuser', query: { username: record.username, domainid: record.domainid } }" v-else-if="$store.getters.userInfo.roletype !== 'User'">{{ text }}</router-link> <span v-else>{{ text }}</span> </template> - <template #entityid="{ record }" href="javascript:;"> - <router-link :to="{ path: generateCommentsPath(record), query: { tab: 'comments' } }">{{ record.entityname }}</router-link> - </template> - <template #entitytype="{ record }" href="javascript:;"> - {{ generateHumanReadableEntityType(record) }} - </template> - <template #adminsonly="{ record }" v-if="['Admin'].includes($store.getters.userInfo.roletype)" href="javascript:;"> - <a-checkbox :checked="record.adminsonly" :value="record.id" v-if="record.userid === $store.getters.userInfo.id" @change="e => updateAdminsOnly(e)" /> - <a-checkbox :checked="record.adminsonly" disabled v-else /> - </template> - <template #ipaddress="{ text, record }" href="javascript:;"> - <router-link v-if="['/publicip', '/privategw'].includes($route.path)" :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> - <span v-else> - <copy-label :label="text" /> - </span> - <span v-if="record.issourcenat"> - - <a-tag>source-nat</a-tag> - </span> - <span v-if="record.isstaticnat"> - - <a-tag>static-nat</a-tag> - </span> - </template> - <template #ip6address="{ text, record }" href="javascript:;"> - <span>{{ ipV6Address(text, record) }}</span> - </template> - <template #publicip="{ text, record }"> - <router-link v-if="['/autoscalevmgroup'].includes($route.path)" :to="{ path: '/publicip' + '/' + record.publicipid }">{{ text }}</router-link> - <router-link v-else :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> - </template> - <template #traffictype="{ text }" href="javascript:;"> - {{ text }} - </template> - <template #vmname="{ text, record }"> - <router-link :to="{ path: createPathBasedOnVmType(record.vmtype, record.virtualmachineid) }">{{ text }}</router-link> - </template> - <template #virtualmachinename="{ text, record }"> - <router-link :to="{ path: '/vm/' + record.virtualmachineid }">{{ text }}</router-link> - </template> - <template #volumename="{ text, record }"> - <router-link :to="{ path: '/volume/' + record.volumeid }">{{ text }}</router-link> - </template> - <template #size="{ text }"> - <span v-if="text"> - {{ parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) }} GiB - </span> - </template> - <template #physicalsize="{ text }"> - <span v-if="text"> - {{ isNaN(text) ? text : (parseFloat(parseFloat(text) / 1024.0 / 1024.0 / 1024.0).toFixed(2) + ' GiB') }} - </span> - </template> - <template #physicalnetworkname="{ text, record }"> - <router-link :to="{ path: '/physicalnetwork/' + record.physicalnetworkid }">{{ text }}</router-link> - </template> - <template #serviceofferingname="{ text, record }"> - <router-link :to="{ path: '/computeoffering/' + record.serviceofferingid }">{{ text }}</router-link> - </template> - <template #hypervisor="{ text, record }"> - <span v-if="$route.name === 'hypervisorcapability'"> + <template v-if="column.key === 'osname'"> + <span v-if="$route.name === 'guestos'"> <router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link> </span> <span v-else>{{ text }}</span>
