Skip to content

Commit 25a21ea

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

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
@@ -560,15 +560,17 @@
560560
<div class="resource-detail-item__details">
561561
<resource-icon v-if="resource.icon" :image="getImage(resource.icon.base64image)" size="1x" style="margin-right: 5px"/>
562562
<SaveOutlined v-else />
563-
<router-link :to="{ path: (resource.templateformat === 'ISO' ? '/iso/' : '/template/') + resource.templateid }">{{ resource.templatedisplaytext || resource.templatename || resource.templateid }} </router-link>
563+
<router-link v-if="validLinks.template" :to="{ path: (resource.templateformat === 'ISO' ? '/iso/' : '/template/') + resource.templateid }">{{ resource.templatedisplaytext || resource.templatename || resource.templateid }} </router-link>
564+
<span v-else>{{ resource.templatedisplaytext || resource.templatename || resource.templateid }}</span>
564565
</div>
565566
</div>
566567
<div class="resource-detail-item" v-if="resource.isoid">
567568
<div class="resource-detail-item__label">{{ $t('label.isoname') }}</div>
568569
<div class="resource-detail-item__details">
569570
<resource-icon v-if="resource.icon" :image="getImage(resource.icon.base64image)" size="1x" style="margin-right: 5px"/>
570571
<UsbOutlined v-else />
571-
<router-link :to="{ path: '/iso/' + resource.isoid }">{{ resource.isodisplaytext || resource.isoname || resource.isoid }} </router-link>
572+
<router-link v-if="validLinks.iso" :to="{ path: '/iso/' + resource.isoid }">{{ resource.isodisplaytext || resource.isoname || resource.isoid }} </router-link>
573+
<span v-else>{{ resource.isodisplaytext || resource.isoname || resource.isoid }}</span>
572574
</div>
573575
</div>
574576
<div class="resource-detail-item" v-if="resource.serviceofferingname && resource.serviceofferingid">
@@ -985,6 +987,7 @@ export default {
985987
},
986988
created () {
987989
this.setData()
990+
this.validLinks = validateLinks(this.$router, this.isStatic, this.resource)
988991
eventBus.on('handle-close', (showModal) => {
989992
this.showUploadModal(showModal)
990993
})

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)