diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 0577a4111..54f584180 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -423,7 +423,8 @@ BlazeComponent.extendComponent({ }, 'click .js-copy-link'(event) { event.preventDefault(); - const promise = Utils.copyTextToClipboard(event.target.href); + const url = this.data().absoluteUrl(); + const promise = Utils.copyTextToClipboard(url); const $tooltip = this.$('.card-details-header .copied-tooltip'); Utils.showCopied(promise, $tooltip); diff --git a/models/boards.js b/models/boards.js index 0f99ef1fd..f00ee08b8 100644 --- a/models/boards.js +++ b/models/boards.js @@ -1067,10 +1067,10 @@ Boards.helpers({ }, absoluteUrl() { - return FlowRouter.url('board', { id: this._id, slug: this.slug }); + return FlowRouter.url('board', { id: this._id, slug: this.slug || 'board' }); }, originRelativeUrl() { - return FlowRouter.path('board', { id: this._id, slug: this.slug }); + return FlowRouter.path('board', { id: this._id, slug: this.slug || 'board' }); }, colorClass() { diff --git a/models/cards.js b/models/cards.js index 3a6f5bbc7..66a3e3fac 100644 --- a/models/cards.js +++ b/models/cards.js @@ -1019,17 +1019,19 @@ Cards.helpers({ absoluteUrl() { const board = this.board(); + if (!board) return undefined; return FlowRouter.url('card', { boardId: board._id, - slug: board.slug, + slug: board.slug || 'board', cardId: this._id, }); }, originRelativeUrl() { const board = this.board(); + if (!board) return undefined; return FlowRouter.path('card', { boardId: board._id, - slug: board.slug, + slug: board.slug || 'board', cardId: this._id, }); },