Skip to content

Commit a026f41

Browse files
authored
ui: Fix router link access (apache#6158)
* ui: Fix router link access * Adding more
1 parent f8aca04 commit a026f41

2 files changed

Lines changed: 18 additions & 18 deletions

File tree

ui/src/components/view/InfoCard.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -453,45 +453,45 @@
453453
<div class="resource-detail-item__details">
454454
<cloud-outlined />
455455
<router-link v-if="!isStatic && $route.meta.name === 'router'" :to="{ path: '/computeoffering/' + resource.serviceofferingid, query: { issystem: true } }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
456-
<router-link v-else-if="$router.resolve('/computeoffering/' + resource.serviceofferingid).name !== '404'" :to="{ path: '/computeoffering/' + resource.serviceofferingid }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
456+
<router-link v-else-if="$router.resolve('/computeoffering/' + resource.serviceofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/computeoffering/' + resource.serviceofferingid }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
457457
<span v-else>{{ resource.serviceofferingname || resource.serviceofferingid }}</span>
458458
</div>
459459
</div>
460460
<div class="resource-detail-item" v-if="resource.diskofferingname && resource.diskofferingid">
461461
<div class="resource-detail-item__label">{{ $t('label.diskoffering') }}</div>
462462
<div class="resource-detail-item__details">
463463
<hdd-outlined />
464-
<router-link v-if="!isStatic && $router.resolve('/diskoffering/' + resource.diskofferingid).name !== '404'" :to="{ path: '/diskoffering/' + resource.diskofferingid }">{{ resource.diskofferingname || resource.diskofferingid }} </router-link>
464+
<router-link v-if="!isStatic && $router.resolve('/diskoffering/' + resource.diskofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/diskoffering/' + resource.diskofferingid }">{{ resource.diskofferingname || resource.diskofferingid }} </router-link>
465465
<span v-else>{{ resource.diskofferingname || resource.diskofferingid }}</span>
466466
</div>
467467
</div>
468468
<div class="resource-detail-item" v-if="resource.backupofferingid">
469469
<div class="resource-detail-item__label">{{ $t('label.backupofferingid') }}</div>
470470
<cloud-upload-outlined />
471-
<router-link v-if="!isStatic && $router.resolve('/backupoffering/' + resource.backupofferingid).name !== '404'" :to="{ path: '/backupoffering/' + resource.backupofferingid }">{{ resource.backupofferingname || resource.backupofferingid }} </router-link>
471+
<router-link v-if="!isStatic && $router.resolve('/backupoffering/' + resource.backupofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/backupoffering/' + resource.backupofferingid }">{{ resource.backupofferingname || resource.backupofferingid }} </router-link>
472472
<span v-else>{{ resource.backupofferingname || resource.backupofferingid }}</span>
473473
</div>
474474
<div class="resource-detail-item" v-if="resource.networkofferingid">
475475
<div class="resource-detail-item__label">{{ $t('label.networkofferingid') }}</div>
476476
<div class="resource-detail-item__details">
477477
<wifi-outlined />
478-
<router-link v-if="!isStatic && $router.resolve('/networkoffering/' + resource.networkofferingid).name !== '404'" :to="{ path: '/networkoffering/' + resource.networkofferingid }">{{ resource.networkofferingname || resource.networkofferingid }} </router-link>
478+
<router-link v-if="!isStatic && $router.resolve('/networkoffering/' + resource.networkofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/networkoffering/' + resource.networkofferingid }">{{ resource.networkofferingname || resource.networkofferingid }} </router-link>
479479
<span v-else>{{ resource.networkofferingname || resource.networkofferingid }}</span>
480480
</div>
481481
</div>
482482
<div class="resource-detail-item" v-if="resource.vpcofferingid">
483483
<div class="resource-detail-item__label">{{ $t('label.vpcoffering') }}</div>
484484
<div class="resource-detail-item__details">
485485
<DeploymentUnitOutlined />
486-
<router-link v-if="!isStatic && $router.resolve('/vpcoffering/' + resource.vpcofferingid).name !== '404'" :to="{ path: '/vpcoffering/' + resource.vpcofferingid }">{{ resource.vpcofferingname || resource.vpcofferingid }} </router-link>
486+
<router-link v-if="!isStatic && $router.resolve('/vpcoffering/' + resource.vpcofferingid).matched[0].redirect !== '/exception/404'" :to="{ path: '/vpcoffering/' + resource.vpcofferingid }">{{ resource.vpcofferingname || resource.vpcofferingid }} </router-link>
487487
<span v-else>{{ resource.vpcofferingname || resource.vpcofferingid }}</span>
488488
</div>
489489
</div>
490490
<div class="resource-detail-item" v-if="resource.storageid">
491491
<div class="resource-detail-item__label">{{ $t('label.storagepool') }}</div>
492492
<div class="resource-detail-item__details">
493493
<database-outlined />
494-
<router-link v-if="!isStatic && $router.resolve('/storagepool/' + resource.storageid).name !== '404'" :to="{ path: '/storagepool/' + resource.storageid }">{{ resource.storage || resource.storageid }} </router-link>
494+
<router-link v-if="!isStatic && $router.resolve('/storagepool/' + resource.storageid).matched[0].redirect !== '/exception/404'" :to="{ path: '/storagepool/' + resource.storageid }">{{ resource.storage || resource.storageid }} </router-link>
495495
<span v-else>{{ resource.storage || resource.storageid }}</span>
496496
<a-tag style="margin-left: 5px;" v-if="resource.storagetype">
497497
{{ resource.storagetype }}
@@ -502,23 +502,23 @@
502502
<div class="resource-detail-item__label">{{ $t('label.hostname') }}</div>
503503
<div class="resource-detail-item__details">
504504
<desktop-outlined />
505-
<router-link v-if="!isStatic && $router.resolve('/host/' + resource.hostid).name !== '404'" :to="{ path: '/host/' + resource.hostid }">{{ resource.hostname || resource.hostid }} </router-link>
505+
<router-link v-if="!isStatic && $router.resolve('/host/' + resource.hostid).matched[0].redirect !== '/exception/404'" :to="{ path: '/host/' + resource.hostid }">{{ resource.hostname || resource.hostid }} </router-link>
506506
<span v-else>{{ resource.hostname || resource.hostid }}</span>
507507
</div>
508508
</div>
509509
<div class="resource-detail-item" v-if="resource.clusterid">
510510
<div class="resource-detail-item__label">{{ $t('label.clusterid') }}</div>
511511
<div class="resource-detail-item__details">
512512
<cluster-outlined />
513-
<router-link v-if="!isStatic && $router.resolve('/cluster/' + resource.clusterid).name !== '404'" :to="{ path: '/cluster/' + resource.clusterid }">{{ resource.clustername || resource.cluster || resource.clusterid }}</router-link>
513+
<router-link v-if="!isStatic && $router.resolve('/cluster/' + resource.clusterid).matched[0].redirect !== '/exception/404'" :to="{ path: '/cluster/' + resource.clusterid }">{{ resource.clustername || resource.cluster || resource.clusterid }}</router-link>
514514
<span v-else>{{ resource.clustername || resource.cluster || resource.clusterid }}</span>
515515
</div>
516516
</div>
517517
<div class="resource-detail-item" v-if="resource.podid">
518518
<div class="resource-detail-item__label">{{ $t('label.podid') }}</div>
519519
<div class="resource-detail-item__details">
520520
<appstore-outlined />
521-
<router-link v-if="!isStatic && $router.resolve('/pod/' + resource.podid).name !== '404'" :to="{ path: '/pod/' + resource.podid }">{{ resource.podname || resource.pod || resource.podid }}</router-link>
521+
<router-link v-if="!isStatic && $router.resolve('/pod/' + resource.podid).matched[0].redirect !== '/exception/404'" :to="{ path: '/pod/' + resource.podid }">{{ resource.podname || resource.pod || resource.podid }}</router-link>
522522
<span v-else>{{ resource.podname || resource.pod || resource.podid }}</span>
523523
</div>
524524
</div>
@@ -529,7 +529,7 @@
529529
<resource-icon :image="getImage(images.zone)" size="1x" style="margin-right: 5px"/>
530530
</span>
531531
<global-outlined v-else />
532-
<router-link v-if="!isStatic && $router.resolve('/zone/' + resource.zoneid).name !== '404'" :to="{ path: '/zone/' + resource.zoneid }">{{ resource.zone || resource.zonename || resource.zoneid }}</router-link>
532+
<router-link v-if="!isStatic && $router.resolve('/zone/' + resource.zoneid).matched[0].redirect !== '/exception/404'" :to="{ path: '/zone/' + resource.zoneid }">{{ resource.zone || resource.zonename || resource.zoneid }}</router-link>
533533
<span v-else>{{ resource.zone || resource.zonename || resource.zoneid }}</span>
534534
</div>
535535
</div>
@@ -563,7 +563,7 @@
563563
<div class="resource-detail-item__label">{{ $t('label.role') }}</div>
564564
<div class="resource-detail-item__details">
565565
<idcard-outlined />
566-
<router-link v-if="!isStatic && $router.resolve('/role/' + resource.roleid).name !== '404'" :to="{ path: '/role/' + resource.roleid }">{{ resource.rolename || resource.role || resource.roleid }}</router-link>
566+
<router-link v-if="!isStatic && $router.resolve('/role/' + resource.roleid).matched[0].redirect !== '/exception/404'" :to="{ path: '/role/' + resource.roleid }">{{ resource.rolename || resource.role || resource.roleid }}</router-link>
567567
<span v-else>{{ resource.rolename || resource.role || resource.roleid }}</span>
568568
</div>
569569
</div>
@@ -580,7 +580,7 @@
580580
<div class="resource-detail-item__label">{{ $t('label.management.servers') }}</div>
581581
<div class="resource-detail-item__details">
582582
<rocket-outlined />
583-
<router-link v-if="!isStatic && $router.resolve('/managementserver/' + resource.managementserverid).name !== '404'" :to="{ path: '/managementserver/' + resource.managementserverid }">{{ resource.managementserver || resource.managementserverid }}</router-link>
583+
<router-link v-if="!isStatic && $router.resolve('/managementserver/' + resource.managementserverid).matched[0].redirect !== '/exception/404'" :to="{ path: '/managementserver/' + resource.managementserverid }">{{ resource.managementserver || resource.managementserverid }}</router-link>
584584
<span v-else>{{ resource.managementserver || resource.managementserverid }}</span>
585585
</div>
586586
</div>
@@ -602,7 +602,7 @@
602602
<a-divider/>
603603
<div v-for="item in $route.meta.related" :key="item.path">
604604
<router-link
605-
v-if="$router.resolve('/' + item.name).name !== '404'"
605+
v-if="$router.resolve('/' + item.name).matched[0].redirect !== '/exception/404'"
606606
:to="{ name: item.name, query: getRouterQuery(item) }">
607607
<a-button style="margin-right: 10px">
608608
<template #icon>

ui/src/components/view/ListView.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@
284284
</template>
285285
<template v-if="text && !text.startsWith('PrjAcct-')">
286286
<router-link
287-
v-if="'quota' in record && $router.resolve(`${$route.path}/${record.account}`) !== '404'"
287+
v-if="'quota' in record && $router.resolve(`${$route.path}/${record.account}`).matched[0].redirect !== '/exception/404'"
288288
:to="{ path: `${$route.path}/${record.account}`, query: { account: record.account, domainid: record.domainid, quota: true } }">{{ text }}</router-link>
289289
<router-link :to="{ path: '/account/' + record.accountid }" v-else-if="record.accountid">{{ text }}</router-link>
290290
<router-link :to="{ path: '/account', query: { name: record.account, domainid: record.domainid, dataView: true } }" v-else-if="$store.getters.userInfo.roletype !== 'User'">{{ text }}</router-link>
@@ -296,21 +296,21 @@
296296
<span v-else>{{ text }}</span>
297297
</template>
298298
<template #domainpath="{ text, record }">
299-
<router-link v-if="record.domainid && !record.domainid.includes(',') && $router.resolve('/domain/' + record.domainid).name !== '404'" :to="{ path: '/domain/' + record.domainid, query: { tab: 'details' } }">{{ text }}</router-link>
299+
<router-link v-if="record.domainid && !record.domainid.includes(',') && $router.resolve('/domain/' + record.domainid).matched[0].redirect !== '/exception/404'" :to="{ path: '/domain/' + record.domainid, query: { tab: 'details' } }">{{ text }}</router-link>
300300
<span v-else>{{ text }}</span>
301301
</template>
302302
<template #zone="{ text, record }">
303303
<a href="javascript:;">
304-
<router-link v-if="record.zoneid && !record.zoneid.includes(',') && $router.resolve('/zone/' + record.zoneid).name !== '404'" :to="{ path: '/zone/' + record.zoneid }">{{ text }}</router-link>
304+
<router-link v-if="record.zoneid && !record.zoneid.includes(',') && $router.resolve('/zone/' + record.zoneid).matched[0].redirect !== '/exception/404'" :to="{ path: '/zone/' + record.zoneid }">{{ text }}</router-link>
305305
<span v-else>{{ text }}</span>
306306
</a>
307307
</template>
308308
<template #zonename="{ text, record }">
309-
<router-link v-if="$router.resolve('/zone/' + record.zoneid).name !== '404'" :to="{ path: '/zone/' + record.zoneid }">{{ text }}</router-link>
309+
<router-link v-if="$router.resolve('/zone/' + record.zoneid).matched[0].redirect !== '/exception/404'" :to="{ path: '/zone/' + record.zoneid }">{{ text }}</router-link>
310310
<span v-else>{{ text }}</span>
311311
</template>
312312
<template #rolename="{ text, record }">
313-
<router-link v-if="record.roleid && $router.resolve('/role/' + record.roleid).name !== '404'" :to="{ path: '/role/' + record.roleid }">{{ text }}</router-link>
313+
<router-link v-if="record.roleid && $router.resolve('/role/' + record.roleid).matched[0].redirect !== '/exception/404'" :to="{ path: '/role/' + record.roleid }">{{ text }}</router-link>
314314
<span v-else>{{ text }}</span>
315315
</template>
316316
<template #readonly="{ record }">

0 commit comments

Comments
 (0)