diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-18 23:02:30 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-18 23:02:30 +0300 |
commit | 41fe97390ceddf945f3d967b8fdb3de4c66b7dea (patch) | |
tree | 9c8d89a8624828992f06d892cd2f43818ff5dcc8 /app/assets/javascripts/releases/stores/modules/edit_new | |
parent | 0804d2dc31052fb45a1efecedc8e06ce9bc32862 (diff) |
Add latest changes from gitlab-org/gitlab@14-9-stable-eev14.9.0-rc42
Diffstat (limited to 'app/assets/javascripts/releases/stores/modules/edit_new')
-rw-r--r-- | app/assets/javascripts/releases/stores/modules/edit_new/actions.js | 2 | ||||
-rw-r--r-- | app/assets/javascripts/releases/stores/modules/edit_new/getters.js | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/actions.js b/app/assets/javascripts/releases/stores/modules/edit_new/actions.js index 576f099248e..b3ba4f9263a 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/actions.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/actions.js @@ -162,7 +162,7 @@ const createReleaseLink = async ({ state, link }) => { input: { projectPath: state.projectPath, tagName: state.tagName, - name: link.name, + name: link.name.trim(), url: link.url, linkType: link.linkType.toUpperCase(), directAssetPath: link.directAssetPath, diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/getters.js b/app/assets/javascripts/releases/stores/modules/edit_new/getters.js index d83ec05872a..d4f49e53619 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/getters.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/getters.js @@ -1,5 +1,6 @@ import { isEmpty } from 'lodash'; import { hasContent } from '~/lib/utils/text_utility'; +import { getDuplicateItemsFromArray } from '~/lib/utils/array_utility'; /** * @returns {Boolean} `true` if the app is editing an existing release. @@ -95,6 +96,17 @@ export const validationErrors = (state) => { } }); + // check for duplicated Link Titles + const linkTitles = state.release.assets.links.map((link) => link.name.trim()); + const duplicatedTitles = getDuplicateItemsFromArray(linkTitles); + + // add a validation error for each link that shares Link Title + state.release.assets.links.forEach((link) => { + if (hasContent(link.name) && duplicatedTitles.includes(link.name.trim())) { + errors.assets.links[link.id].isTitleDuplicate = true; + } + }); + return errors; }; @@ -131,7 +143,7 @@ export const releaseCreateMutatationVariables = (state, getters) => { ref: state.createFrom, assets: { links: getters.releaseLinksToCreate.map(({ name, url, linkType }) => ({ - name, + name: name.trim(), url, linkType: linkType.toUpperCase(), })), |