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">
 +          &nbsp;
 +          <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">
 +          &nbsp;
 +          <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">
 -        &nbsp;
 -        <a-tag>source-nat</a-tag>
 -      </span>
 -      <span v-if="record.isstaticnat">
 -        &nbsp;
 -        <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>

Reply via email to