Skip to content

Commit 06b5579

Browse files
authored
Merge pull request #923 from nscuro/tag-project-link
Make tagged project names clickable
2 parents fc5f93a + 296c5eb commit 06b5579

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/views/administration/accessmanagement/SelectProjectModal.vue

+9-4
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import xssFilters from 'xss-filters';
4444
import permissionsMixin from '../../../mixins/permissionsMixin';
4545
import common from '../../../shared/common';
4646
import { Switch as cSwitch } from '@coreui/vue';
47+
import router from '@/router';
4748
4849
export default {
4950
mixins: [permissionsMixin],
@@ -70,16 +71,20 @@ export default {
7071
title: this.$t('message.project_name'),
7172
field: 'name',
7273
sortable: true,
73-
formatter(value, row, index) {
74-
let url = xssFilters.uriInUnQuotedAttr('../projects/' + row.uuid);
75-
return `<a href="${url}">${xssFilters.inHTMLData(value)}</a>`;
74+
formatter(value, row) {
75+
// TODO: Close modal when link is clicked.
76+
const href = router.resolve({
77+
name: 'Project',
78+
params: { uuid: row.uuid },
79+
}).href;
80+
return `<a href="${href}">${xssFilters.inHTMLData(value)}</a>`;
7681
},
7782
},
7883
{
7984
title: this.$t('message.version'),
8085
field: 'version',
8186
sortable: true,
82-
formatter(value, row, index) {
87+
formatter(value) {
8388
return xssFilters.inHTMLData(common.valueWithDefault(value, ''));
8489
},
8590
},

src/views/portfolio/tags/TaggedProjectListModal.vue

+8-2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import xssFilters from 'xss-filters';
2727
import permissionsMixin from '../../../mixins/permissionsMixin';
2828
import common from '../../../shared/common';
29+
import router from '@/router';
2930
3031
export default {
3132
props: {
@@ -56,8 +57,13 @@ export default {
5657
title: this.$t('message.name'),
5758
field: 'name',
5859
sortable: true,
59-
formatter(value) {
60-
return xssFilters.inHTMLData(common.valueWithDefault(value, ''));
60+
formatter: (value, row) => {
61+
// TODO: Close modal when link is clicked.
62+
const href = router.resolve({
63+
name: 'Project',
64+
params: { uuid: row.uuid },
65+
}).href;
66+
return `<a href="${href}">${xssFilters.inHTMLData(value)}</a>`;
6167
},
6268
},
6369
{

0 commit comments

Comments
 (0)