Skip to content

Commit 3cf21bb

Browse files
committed
ui: fix info card showing invalid template, iso link
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent 0166076 commit 3cf21bb

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

ui/src/components/view/InfoCard.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -609,15 +609,17 @@
609609
<div class="resource-detail-item__details">
610610
<resource-icon v-if="images.template || images.guestoscategory" :image="images.template || images.guestoscategory" size="1x" style="margin-right: 5px"/>
611611
<SaveOutlined v-else />
612-
<router-link :to="{ path: (resource.templateformat === 'ISO' ? '/iso/' : '/template/') + resource.templateid }">{{ resource.templatedisplaytext || resource.templatename || resource.templateid }} </router-link>
612+
<router-link v-if="validLinks.template" :to="{ path: (resource.templateformat === 'ISO' ? '/iso/' : '/template/') + resource.templateid }">{{ resource.templatedisplaytext || resource.templatename || resource.templateid }} </router-link>
613+
<span v-else>{{ resource.templatedisplaytext || resource.templatename || resource.templateid }}</span>
613614
</div>
614615
</div>
615616
<div class="resource-detail-item" v-if="resource.isoid">
616617
<div class="resource-detail-item__label">{{ $t('label.isoname') }}</div>
617618
<div class="resource-detail-item__details">
618619
<resource-icon v-if="images.iso || (resource.isoid === resource.templateid && images.guestoscategory)" :image="images.iso || images.guestoscategory" size="1x" style="margin-right: 5px"/>
619620
<UsbOutlined v-else />
620-
<router-link :to="{ path: '/iso/' + resource.isoid }">{{ resource.isodisplaytext || resource.isoname || resource.isoid }} </router-link>
621+
<router-link v-if="validLinks.iso" :to="{ path: '/iso/' + resource.isoid }">{{ resource.isodisplaytext || resource.isoname || resource.isoid }} </router-link>
622+
<span v-else>{{ resource.isodisplaytext || resource.isoname || resource.isoid }}</span>
621623
</div>
622624
</div>
623625
<div class="resource-detail-item" v-if="resource.serviceofferingname && resource.serviceofferingid">
@@ -1084,6 +1086,7 @@ export default {
10841086
},
10851087
created () {
10861088
this.setData()
1089+
this.validLinks = validateLinks(this.$router, this.isStatic, this.resource)
10871090
eventBus.on('handle-close', (showModal) => {
10881091
this.showUploadModal(showModal)
10891092
})

ui/src/utils/links.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818
export function validateLinks (router, isStatic, resource) {
1919
const validLinks = {
20-
volume: false
20+
volume: false,
21+
template: false,
22+
iso: false
2123
}
2224

2325
if (isStatic) {
@@ -32,5 +34,14 @@ export function validateLinks (router, isStatic, resource) {
3234
}
3335
}
3436

37+
if (resource.templateid) {
38+
const templatePath = (resource.templateformat === 'ISO' ? '/iso/' : '/template/') + resource.templateid
39+
validLinks.template = router.resolve(templatePath).matched[0].redirect !== '/exception/404'
40+
}
41+
42+
if (resource.isoid) {
43+
validLinks.iso = router.resolve('/iso/' + resource.isoid).matched[0].redirect !== '/exception/404'
44+
}
45+
3546
return validLinks
3647
}

0 commit comments

Comments
 (0)