From cb6182c7e34283df2e2680411b450a03ddf45ebe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 01:38:40 +0000 Subject: [PATCH 01/41] build(deps): bump docker/setup-buildx-action from 3.6.1 to 3.7.1 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.6.1 to 3.7.1. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v3.6.1...v3.7.1) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index fda614d7e..ead8160e5 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -68,7 +68,7 @@ jobs: uses: docker/setup-qemu-action@v3.2.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.6.1 + uses: docker/setup-buildx-action@v3.7.1 id: buildx with: install: true From 8946fb9028dfe3ccbfa6ba352061c60f4b50b607 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 01:55:25 +0000 Subject: [PATCH 02/41] build(deps): bump nginxinc/nginx-unprivileged in /docker Bumps nginxinc/nginx-unprivileged from 1.27.1-alpine to 1.27.2-alpine. --- updated-dependencies: - dependency-name: nginxinc/nginx-unprivileged dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 3bb8983ea..59151e545 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM nginxinc/nginx-unprivileged:1.27.1-alpine@sha256:c149247b2e5997ce60f337bcb19f61c0c09b906224e6f1683be64248c814d7e1 +FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:5423958b5564efef7e81598b77386988d6ee9f69cce513e51bd4795b194ad2e5 # Arguments that can be passed at build time ARG COMMIT_SHA=unknown From d9185458b122b32f79587836b24530ba956c016f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Schauer-K=C3=B6ckeis?= Date: Mon, 7 Oct 2024 13:41:35 +0200 Subject: [PATCH 03/41] State sould now also in not Snapshot version saved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Schauer-Köckeis --- src/containers/DefaultContainer.vue | 37 +++++++++++++---------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 27fd69019..952ea9584 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -202,29 +202,26 @@ export default { mounted() { if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) { this.$root.$emit('bv::show::modal', 'snapshotModal'); + } - this.isSidebarMinimized = - localStorage && localStorage.getItem('isSidebarMinimized') !== null - ? localStorage.getItem('isSidebarMinimized') === 'true' - : false; - const sidebar = document.body; - if (sidebar) { - if (this.isSidebarMinimized) { - sidebar.classList.add('sidebar-minimized'); - } else { - sidebar.classList.remove('sidebar-minimized'); - } + this.isSidebarMinimized = + localStorage && localStorage.getItem('isSidebarMinimized') !== null + ? localStorage.getItem('isSidebarMinimized') === 'true' + : false; + const sidebar = document.body; + if (sidebar) { + if (this.isSidebarMinimized) { + sidebar.classList.add('sidebar-minimized'); + } else { + sidebar.classList.remove('sidebar-minimized'); } - this.$nextTick(() => { - const sidebarMinimizer = this.$el.querySelector('.sidebar-minimizer'); - if (sidebarMinimizer) { - sidebarMinimizer.addEventListener( - 'click', - this.handleMinimizedUpdate, - ); - } - }); } + this.$nextTick(() => { + const sidebarMinimizer = this.$el.querySelector('.sidebar-minimizer'); + if (sidebarMinimizer) { + sidebarMinimizer.addEventListener('click', this.handleMinimizedUpdate); + } + }); }, computed: { name() { From 35749a7d8561446968e0c6c1eb6d795c1d3836de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Schauer-K=C3=B6ckeis?= Date: Mon, 7 Oct 2024 14:15:09 +0200 Subject: [PATCH 04/41] Add Oidc user to team view, as the others are to MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Schauer-Köckeis --- .../administration/accessmanagement/Teams.vue | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/views/administration/accessmanagement/Teams.vue b/src/views/administration/accessmanagement/Teams.vue index 4621bea89..cc564ce2e 100644 --- a/src/views/administration/accessmanagement/Teams.vue +++ b/src/views/administration/accessmanagement/Teams.vue @@ -90,6 +90,9 @@ export default { if (row.ldapUsers) { count += row.ldapUsers.length; } + if (row.oidcUsers) { + count += row.oidcUsers.length; + } return count; }, }, @@ -168,6 +171,13 @@ export default { + +
+ + + +
+
{{ $t('admin.delete_team') }}
@@ -197,6 +207,7 @@ export default { mappedOidcGroups: row.mappedOidcGroups, managedUsers: row.managedUsers, ldapUsers: row.ldapUsers, + oidcUsers: row.oidcUsers, labelIcon: { dataOn: '\u2713', dataOff: '\u2715', @@ -433,6 +444,15 @@ export default { } this.ldapUsers = k; } + if (this.oidcUsers) { + let k = []; + for (let i = 0; i < this.oidcUsers.length; i++) { + if (this.oidcUsers[i].username !== user.username) { + k.push(this.oidcUsers[i]); + } + } + this.oidcUsers = k; + } this.$toastr.s(this.$t('message.updated')); }) .catch((error) => { From 398eee4f6c8303c69f45e940470ac27c7bf8b016 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:08:49 +0000 Subject: [PATCH 05/41] build(deps): bump nginxinc/nginx-unprivileged in /docker Bumps nginxinc/nginx-unprivileged from `5423958` to `cf998f0`. --- updated-dependencies: - dependency-name: nginxinc/nginx-unprivileged dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 59151e545..a93b491a5 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:5423958b5564efef7e81598b77386988d6ee9f69cce513e51bd4795b194ad2e5 +FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:cf998f0d01644f219ba93374491336bad1b6c964ac975d3e19d2ea81dd8dc526 # Arguments that can be passed at build time ARG COMMIT_SHA=unknown From 5a9872caceb77323373c506b63011f374389c6c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:46:41 +0000 Subject: [PATCH 06/41] build(deps): bump aquasecurity/trivy-action from 0.24.0 to 0.25.0 Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.24.0 to 0.25.0. - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/0.24.0...0.25.0) --- updated-dependencies: - dependency-name: aquasecurity/trivy-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index ead8160e5..b7e90f364 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -112,7 +112,7 @@ jobs: - name: Run Trivy Vulnerability Scanner if: ${{ inputs.publish-container }} - uses: aquasecurity/trivy-action@0.24.0 + uses: aquasecurity/trivy-action@0.25.0 env: # https://github.com/aquasecurity/trivy-action/issues/389 TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2' From 2970db00fe0a6e366b1e4f6c27bfa8b0dc10110b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:46:44 +0000 Subject: [PATCH 07/41] build(deps): bump actions/checkout from 4.2.0 to 4.2.1 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.2.0...v4.2.1) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 4 ++-- .github/workflows/ci-publish.yaml | 4 ++-- .github/workflows/ci-release.yaml | 2 +- .github/workflows/codeql-analysis.yaml | 2 +- .github/workflows/dependency-review.yaml | 2 +- .github/workflows/i18n.yaml | 2 +- .github/workflows/lint.yaml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index ead8160e5..9380dc38b 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 @@ -57,7 +57,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Download Artifacts uses: actions/download-artifact@v4.1.8 diff --git a/.github/workflows/ci-publish.yaml b/.github/workflows/ci-publish.yaml index ea2561d25..cf93aa112 100644 --- a/.github/workflows/ci-publish.yaml +++ b/.github/workflows/ci-publish.yaml @@ -20,7 +20,7 @@ jobs: fi - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Parse Version from package.json id: parse @@ -47,7 +47,7 @@ jobs: - call-build steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Download Artifacts uses: actions/download-artifact@v4.1.8 diff --git a/.github/workflows/ci-release.yaml b/.github/workflows/ci-release.yaml index 678d18c65..63b815c68 100644 --- a/.github/workflows/ci-release.yaml +++ b/.github/workflows/ci-release.yaml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/codeql-analysis.yaml b/.github/workflows/codeql-analysis.yaml index 366cd767b..70868a753 100644 --- a/.github/workflows/codeql-analysis.yaml +++ b/.github/workflows/codeql-analysis.yaml @@ -29,7 +29,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/dependency-review.yaml b/.github/workflows/dependency-review.yaml index 34615422b..e47bf3479 100644 --- a/.github/workflows/dependency-review.yaml +++ b/.github/workflows/dependency-review.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Dependency Review uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml index 635c13b11..974981485 100644 --- a/.github/workflows/i18n.yaml +++ b/.github/workflows/i18n.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index fe4a3cea7..253ed32f5 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.0 + uses: actions/checkout@v4.2.1 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 From 6a524644260632ecd0829526a25844ded3d56041 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:46:48 +0000 Subject: [PATCH 08/41] build(deps): bump actions/upload-artifact from 4.3.6 to 4.4.1 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.1. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.1) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index ead8160e5..65343a37d 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -43,7 +43,7 @@ jobs: npm run build --if-present - name: Upload Artifacts - uses: actions/upload-artifact@v4.3.6 + uses: actions/upload-artifact@v4.4.1 with: name: assembled-frontend path: |- From 7135bf875a73fa4b4c880a9c421d884749855db5 Mon Sep 17 00:00:00 2001 From: idrisGit Date: Tue, 8 Oct 2024 22:22:59 +0530 Subject: [PATCH 09/41] fix: disable create button until version is provided added a fix to keep the create button inactive until any value is provided in the version input this is to improve the UX of the form and prevent invalid submission Signed-off-by: idrisGit --- .../projects/ProjectAddVersionModal.vue | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/views/portfolio/projects/ProjectAddVersionModal.vue b/src/views/portfolio/projects/ProjectAddVersionModal.vue index b595d9c6d..d21e0b850 100644 --- a/src/views/portfolio/projects/ProjectAddVersionModal.vue +++ b/src/views/portfolio/projects/ProjectAddVersionModal.vue @@ -15,7 +15,13 @@ label-for="input-1" label-class="required" > - + @@ -108,9 +114,13 @@ {{ $t('message.cancel') }} - {{ - $t('message.create') - }} + {{ $t('message.create') }} @@ -137,6 +147,20 @@ export default { makeCloneLatest: false, }; }, + computed: { + isSubmitButtonDisabled() { + const versionInputValue = this.version; + if (versionInputValue) { + /** + * * ideally we would apply the check with the input value trimmed, however, since we are already using 'trim' prop on the input value. + * * trimming the value here is not required. + */ + return versionInputValue.length === 0; + } + + return true; + }, + }, methods: { createVersion: function () { let url = `${this.$api.BASE_URL}/${this.$api.URL_PROJECT}/clone`; From ccbb701d7e3d17c16b187e53dea333987a14b1c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:27:59 +0000 Subject: [PATCH 10/41] build(deps): bump aquasecurity/trivy-action from 0.25.0 to 0.26.0 Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/0.25.0...0.26.0) --- updated-dependencies: - dependency-name: aquasecurity/trivy-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 4202d3490..6ffdfd0e7 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -112,7 +112,7 @@ jobs: - name: Run Trivy Vulnerability Scanner if: ${{ inputs.publish-container }} - uses: aquasecurity/trivy-action@0.25.0 + uses: aquasecurity/trivy-action@0.26.0 env: # https://github.com/aquasecurity/trivy-action/issues/389 TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2' From 2f43c47040a0db2fb03196313126008aedae4f1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:28:05 +0000 Subject: [PATCH 11/41] build(deps): bump actions/upload-artifact from 4.4.1 to 4.4.2 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.1 to 4.4.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.4.1...v4.4.2) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 4202d3490..fac64a8ab 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -43,7 +43,7 @@ jobs: npm run build --if-present - name: Upload Artifacts - uses: actions/upload-artifact@v4.4.1 + uses: actions/upload-artifact@v4.4.2 with: name: assembled-frontend path: |- From ceada03a4a9a8793322c4dc0e21fe4e297d1d806 Mon Sep 17 00:00:00 2001 From: nscuro Date: Wed, 9 Oct 2024 14:42:36 +0200 Subject: [PATCH 12/41] Add `.gitattributes` to fix prettier behavior on Windows Since prettier enforces LF line endings, it would forcefully convert Windows' CLRF linebreaks on every run, causing undesired changes for contributors using Windows. This is taken from prettier's own `.gitattributes` file: https://github.com/prettier/prettier/blob/main/.gitattributes Signed-off-by: nscuro --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..6313b56c5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf From 856ff463ae4f355b5646878dfa6b4bce09848bb0 Mon Sep 17 00:00:00 2001 From: nscuro Date: Wed, 9 Oct 2024 15:40:59 +0200 Subject: [PATCH 13/41] Always display project nodes in dependency graph using name and version Fixes #1026 Signed-off-by: nscuro --- src/views/portfolio/projects/ProjectDependencyGraph.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/views/portfolio/projects/ProjectDependencyGraph.vue b/src/views/portfolio/projects/ProjectDependencyGraph.vue index 0fd78df8b..bc7d14033 100644 --- a/src/views/portfolio/projects/ProjectDependencyGraph.vue +++ b/src/views/portfolio/projects/ProjectDependencyGraph.vue @@ -529,10 +529,12 @@ export default { } }, createNodeLabel: function (identity) { - // could be a project or a component - if (identity.purlCoordinates) { + // Could be a project or a directDependency object. + // Projects don't have the objectType property. + const isProject = !identity.objectType; + if (!isProject && identity.purlCoordinates) { return identity.purlCoordinates; - } else if (identity.purl) { + } else if (!isProject && identity.purl) { return identity.purl; } else { let label = ''; From e0e9aade4d9fe73252e83ed54ee7ff51ea66011b Mon Sep 17 00:00:00 2001 From: nscuro Date: Wed, 9 Oct 2024 22:29:33 +0200 Subject: [PATCH 14/41] Fix caching issues upon upgrade Disables caching for `index.html` and `config.json`. Assets (i.e. CSS, JS files) already have a unique value in their name for cache busting across builds. Fixes #860 Signed-off-by: nscuro --- docker/etc/nginx/templates/default.conf.template | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docker/etc/nginx/templates/default.conf.template b/docker/etc/nginx/templates/default.conf.template index c6c5ceaa4..2baaf46b6 100644 --- a/docker/etc/nginx/templates/default.conf.template +++ b/docker/etc/nginx/templates/default.conf.template @@ -7,6 +7,12 @@ server { index index.html; try_files $uri $uri/ /index.html; + location ~ (config\.json|index\.html)$ { + add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + } + sub_filter ' Date: Thu, 10 Oct 2024 01:22:43 +0000 Subject: [PATCH 15/41] build(deps): bump actions/upload-artifact from 4.4.2 to 4.4.3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.2 to 4.4.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.4.2...v4.4.3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index ca90dd119..aa58d8687 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -43,7 +43,7 @@ jobs: npm run build --if-present - name: Upload Artifacts - uses: actions/upload-artifact@v4.4.2 + uses: actions/upload-artifact@v4.4.3 with: name: assembled-frontend path: |- From 339f1642451941db07bd51418bd8c5c2e2de8f48 Mon Sep 17 00:00:00 2001 From: nscuro Date: Thu, 10 Oct 2024 19:35:45 +0200 Subject: [PATCH 16/41] Fix missing URI encoding of tag names The *tagged projects*, *tagged policies*, and *tagged alerts* dialogs would show an empty list for tags that contain special characters such as `/`. This was caused by both https://github.com/DependencyTrack/dependency-track/issues/4238, and tag names not being URI-encoded prior to using them as path parameters. Signed-off-by: nscuro --- src/views/portfolio/tags/TagList.vue | 1 - src/views/portfolio/tags/TaggedNotificationRuleListModal.vue | 2 +- src/views/portfolio/tags/TaggedPoliciesListModal.vue | 2 +- src/views/portfolio/tags/TaggedProjectListModal.vue | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/views/portfolio/tags/TagList.vue b/src/views/portfolio/tags/TagList.vue index 23d2ac3cf..0593e0a23 100644 --- a/src/views/portfolio/tags/TagList.vue +++ b/src/views/portfolio/tags/TagList.vue @@ -81,7 +81,6 @@ export default { template: `
{{ value }} -
`, data() { diff --git a/src/views/portfolio/tags/TaggedNotificationRuleListModal.vue b/src/views/portfolio/tags/TaggedNotificationRuleListModal.vue index 307469421..dbc944555 100644 --- a/src/views/portfolio/tags/TaggedNotificationRuleListModal.vue +++ b/src/views/portfolio/tags/TaggedNotificationRuleListModal.vue @@ -35,7 +35,7 @@ export default { mixins: [permissionsMixin], methods: { apiUrl: function () { - return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${this.tag}/notificationRule`; + return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${encodeURIComponent(this.tag)}/notificationRule`; }, untag: function (notificationRuleUuids) { return this.axios.delete(this.apiUrl(), { diff --git a/src/views/portfolio/tags/TaggedPoliciesListModal.vue b/src/views/portfolio/tags/TaggedPoliciesListModal.vue index ec71a4210..bb11d45b5 100644 --- a/src/views/portfolio/tags/TaggedPoliciesListModal.vue +++ b/src/views/portfolio/tags/TaggedPoliciesListModal.vue @@ -35,7 +35,7 @@ export default { mixins: [permissionsMixin], methods: { apiUrl: function () { - return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${this.tag}/policy`; + return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${encodeURIComponent(this.tag)}/policy`; }, untag: function (policyUuids) { return this.axios.delete(this.apiUrl(), { diff --git a/src/views/portfolio/tags/TaggedProjectListModal.vue b/src/views/portfolio/tags/TaggedProjectListModal.vue index ab0537dc2..3be1ff7c0 100644 --- a/src/views/portfolio/tags/TaggedProjectListModal.vue +++ b/src/views/portfolio/tags/TaggedProjectListModal.vue @@ -37,7 +37,7 @@ export default { mixins: [bootstrapTableMixin, permissionsMixin], methods: { apiUrl: function () { - return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${this.tag}/project`; + return `${this.$api.BASE_URL}/${this.$api.URL_TAG}/${encodeURIComponent(this.tag)}/project`; }, untag: function (projectUuids) { return this.axios.delete(this.apiUrl(), { From 2a341199c4387cbc1bf1801393832ba9148b3236 Mon Sep 17 00:00:00 2001 From: Ross Murphy Date: Thu, 10 Oct 2024 21:54:14 +0100 Subject: [PATCH 17/41] add new optional column `Classifier` in project component view Signed-off-by: Ross Murphy --- src/views/portfolio/projects/ProjectComponents.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/views/portfolio/projects/ProjectComponents.vue b/src/views/portfolio/projects/ProjectComponents.vue index 1a8468067..8239c62c3 100644 --- a/src/views/portfolio/projects/ProjectComponents.vue +++ b/src/views/portfolio/projects/ProjectComponents.vue @@ -242,6 +242,15 @@ export default { return xssFilters.inHTMLData(common.valueWithDefault(value, '')); }, }, + { + title: this.$t('message.classifier'), + field: 'classifier', + sortable: true, + visible: false, + formatter(value, row, index) { + return xssFilters.inHTMLData(common.valueWithDefault(value, '')); + }, + }, { title: this.$t('message.internal'), field: 'isInternal', From 8aca4f885632dff5eedfd0c514d519123e63169b Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Mon, 14 Oct 2024 18:12:13 +0200 Subject: [PATCH 18/41] docker: fix ipv6 listening Signed-off-by: Marc 'risson' Schmitt --- docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh index b91e911f2..7b22b985d 100644 --- a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh +++ b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh @@ -13,7 +13,7 @@ entrypoint_log() { } ME=$(basename $0) -DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf" +DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf.template" # check if we have ipv6 available if [ ! -f "/proc/net/if_inet6" ]; then From 0389ddcd02545c7b86359cd42aa9a4ed3b85f1a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 01:45:38 +0000 Subject: [PATCH 19/41] build(deps): bump nginxinc/nginx-unprivileged in /docker Bumps nginxinc/nginx-unprivileged from `cf998f0` to `3377b22`. --- updated-dependencies: - dependency-name: nginxinc/nginx-unprivileged dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index a93b491a5..89163002b 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:cf998f0d01644f219ba93374491336bad1b6c964ac975d3e19d2ea81dd8dc526 +FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:3377b22632f51119f888919903f0e90bd4d921cef72d2fdd72600b087f783e3e # Arguments that can be passed at build time ARG COMMIT_SHA=unknown From a33036d9b3ebbc34c18cc544f2711c1a6b8bab2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:52:58 +0000 Subject: [PATCH 20/41] build(deps): bump aquasecurity/trivy-action from 0.26.0 to 0.28.0 Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.26.0 to 0.28.0. - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/0.26.0...0.28.0) --- updated-dependencies: - dependency-name: aquasecurity/trivy-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index aa58d8687..3387974cd 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -112,7 +112,7 @@ jobs: - name: Run Trivy Vulnerability Scanner if: ${{ inputs.publish-container }} - uses: aquasecurity/trivy-action@0.26.0 + uses: aquasecurity/trivy-action@0.28.0 env: # https://github.com/aquasecurity/trivy-action/issues/389 TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2' From 64afc221ee5d71af1716831f7f0907dd695c28fe Mon Sep 17 00:00:00 2001 From: idrisGit Date: Sat, 19 Oct 2024 15:07:43 +0530 Subject: [PATCH 21/41] fix: breadcrumbs navigation broken for non-english language coreui/vue breadcrumbs takes name as the name the component to redirect to from the router and label to display the name in UI, since only name was provided it would display that name and use that as the component, and as the components are constant values in the Router config, it was causing not found issue Signed-off-by: idrisGit --- src/containers/DefaultContainer.vue | 25 ++++++++--- src/router/index.js | 66 ++++++++++++++++++++++++++++- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 952ea9584..98b9b369b 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -172,12 +172,17 @@ export default { subSectionUuid, subSectionLabel, ) { + let sectionName = this.$route.meta.sectionName; let sectionLabel = this.$t(this.$route.meta.i18n); let sectionPath = this.$route.meta.sectionPath; if (crumbName && subSectionName && subSectionUuid && subSectionLabel) { return [ - { path: '', name: this.$t('message.home') }, - { path: sectionPath, name: sectionLabel }, + { path: '', name: 'Home', meta: { label: this.$t('message.home') } }, + { + path: sectionPath, + name: sectionName, + meta: { label: sectionLabel }, + }, { name: subSectionName, params: { uuid: subSectionUuid }, @@ -187,14 +192,22 @@ export default { ]; } else if (crumbName) { return [ - { path: '', name: this.$t('message.home') }, - { path: sectionPath, name: sectionLabel }, + { path: '', name: 'Home', meta: { label: this.$t('message.home') } }, + { + path: sectionPath, + name: sectionName, + meta: { label: sectionLabel }, + }, { name: crumbName, active: true }, ]; } else { return [ - { path: '', name: this.$t('message.home') }, - { path: sectionPath, name: sectionLabel }, + { path: '', name: 'Home', meta: { label: this.$t('message.home') } }, + { + path: sectionPath, + name: sectionName, + meta: { label: sectionLabel }, + }, ]; } }, diff --git a/src/router/index.js b/src/router/index.js index 68b299c55..96c9da708 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -126,6 +126,7 @@ function configRoutes() { title: i18n.t('message.dashboard'), i18n: 'message.dashboard', sectionPath: '/dashboard', + sectionName: 'Dashboard', permission: 'VIEW_PORTFOLIO', }, }, @@ -137,6 +138,7 @@ function configRoutes() { title: i18n.t('message.projects'), i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -157,6 +159,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -171,6 +174,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -185,6 +189,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -200,6 +205,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -211,6 +217,7 @@ function configRoutes() { title: i18n.t('message.component_search'), i18n: 'message.component_search', sectionPath: '/components', + sectionName: 'Component Lookup', permission: 'VIEW_PORTFOLIO', }, }, @@ -226,6 +233,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -237,6 +245,7 @@ function configRoutes() { meta: { i18n: 'message.projects', sectionPath: '/projects', + sectionName: 'Projects', permission: 'VIEW_PORTFOLIO', }, }, @@ -248,6 +257,7 @@ function configRoutes() { title: i18n.t('message.vulnerabilities'), i18n: 'message.vulnerabilities', sectionPath: '/vulnerabilities', + sectionName: 'Vulnerabilities', permission: 'VIEW_PORTFOLIO', }, }, @@ -266,6 +276,7 @@ function configRoutes() { meta: { i18n: 'message.vulnerabilities', sectionPath: '/vulnerabilities', + sectionName: 'Vulnerabilities', permission: 'VIEW_PORTFOLIO', }, }, @@ -277,6 +288,7 @@ function configRoutes() { title: i18n.t('message.tags'), i18n: 'message.tags', sectionPath: '/tags', + sectionName: 'Tags', permission: 'VIEW_PORTFOLIO', }, }, @@ -288,6 +300,7 @@ function configRoutes() { title: i18n.t('message.licenses'), i18n: 'message.licenses', sectionPath: '/licenses', + sectionName: 'Licenses', permission: 'VIEW_PORTFOLIO', }, }, @@ -305,6 +318,7 @@ function configRoutes() { meta: { i18n: 'message.licenses', sectionPath: '/licenses', + sectionName: 'Licenses', permission: 'VIEW_PORTFOLIO', }, }, @@ -317,26 +331,31 @@ function configRoutes() { title: i18n.t('message.policy_management'), i18n: 'message.policy_management', sectionPath: '/policy', + sectionName: 'Policy Management', permission: 'POLICY_MANAGEMENT', }, }, { path: 'policyViolationAudit', + name: 'Policy Violation Audit', component: PolicyViolationAudit, meta: { title: i18n.t('message.policy_violation_audit'), i18n: 'message.policy_violation_audit', - sectionPath: '/audit', + sectionPath: '/policyViolationAudit', + sectionName: 'Policy Violation Audit', permission: 'VIEW_POLICY_VIOLATION', }, }, { path: 'admin', + name: 'Admin', component: Administration, meta: { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, children: [ @@ -349,6 +368,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -359,6 +379,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -369,6 +390,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -379,6 +401,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -389,6 +412,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -399,6 +423,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -409,6 +434,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -419,6 +445,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -429,6 +456,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -440,6 +468,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -450,6 +479,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -460,6 +490,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -470,6 +501,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -480,6 +512,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -491,6 +524,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -501,6 +535,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -511,6 +546,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -522,6 +558,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -532,6 +569,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -542,6 +580,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -552,6 +591,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -562,6 +602,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -572,6 +613,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -582,6 +624,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -592,6 +635,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -602,6 +646,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -612,6 +657,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -622,6 +668,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -632,6 +679,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -642,6 +690,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -653,6 +702,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -663,6 +713,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -674,6 +725,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -684,6 +736,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -694,6 +747,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'SYSTEM_CONFIGURATION', }, }, @@ -705,6 +759,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -715,6 +770,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -725,6 +781,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -735,6 +792,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -745,6 +803,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -755,6 +814,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -765,6 +825,7 @@ function configRoutes() { title: i18n.t('message.administration'), i18n: 'message.administration', sectionPath: '/admin', + sectionName: 'Admin', permission: 'ACCESS_MANAGEMENT', }, }, @@ -781,7 +842,8 @@ function configRoutes() { meta: { title: i18n.t('message.vulnerability_audit'), i18n: 'message.vulnerability_audit', - sectionPath: '/globalAudit', + sectionPath: '/vulnerabilityAudit', + sectionName: 'Vulnerability Audit', permission: 'VIEW_VULNERABILITY', }, }, From 84aa09948352dc5660905708a3e6c1594477e94f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2024 01:24:17 +0000 Subject: [PATCH 22/41] build(deps): bump nginxinc/nginx-unprivileged in /docker Bumps nginxinc/nginx-unprivileged from `3377b22` to `8096c72`. --- updated-dependencies: - dependency-name: nginxinc/nginx-unprivileged dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 89163002b..8d587b0d0 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:3377b22632f51119f888919903f0e90bd4d921cef72d2fdd72600b087f783e3e +FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:8096c729bad289fd1413c0f69f76420efaf281692ea6a023aa71a2365d941ed0 # Arguments that can be passed at build time ARG COMMIT_SHA=unknown From 0a45ae66834f274b6026fa3d3e887efe544a99d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:41:43 +0000 Subject: [PATCH 23/41] build(deps): bump actions/checkout from 4.2.1 to 4.2.2 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 4 ++-- .github/workflows/ci-publish.yaml | 4 ++-- .github/workflows/ci-release.yaml | 2 +- .github/workflows/codeql-analysis.yaml | 2 +- .github/workflows/dependency-review.yaml | 2 +- .github/workflows/i18n.yaml | 2 +- .github/workflows/lint.yaml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 3387974cd..41535ad68 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -27,7 +27,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 @@ -57,7 +57,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Download Artifacts uses: actions/download-artifact@v4.1.8 diff --git a/.github/workflows/ci-publish.yaml b/.github/workflows/ci-publish.yaml index cf93aa112..cdf620af7 100644 --- a/.github/workflows/ci-publish.yaml +++ b/.github/workflows/ci-publish.yaml @@ -20,7 +20,7 @@ jobs: fi - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Parse Version from package.json id: parse @@ -47,7 +47,7 @@ jobs: - call-build steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Download Artifacts uses: actions/download-artifact@v4.1.8 diff --git a/.github/workflows/ci-release.yaml b/.github/workflows/ci-release.yaml index 63b815c68..2955ccbf3 100644 --- a/.github/workflows/ci-release.yaml +++ b/.github/workflows/ci-release.yaml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/codeql-analysis.yaml b/.github/workflows/codeql-analysis.yaml index 70868a753..4f8a2888e 100644 --- a/.github/workflows/codeql-analysis.yaml +++ b/.github/workflows/codeql-analysis.yaml @@ -29,7 +29,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/dependency-review.yaml b/.github/workflows/dependency-review.yaml index e47bf3479..078406d6e 100644 --- a/.github/workflows/dependency-review.yaml +++ b/.github/workflows/dependency-review.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Dependency Review uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml index 974981485..c4162de6f 100644 --- a/.github/workflows/i18n.yaml +++ b/.github/workflows/i18n.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 253ed32f5..26b0d4c72 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Set up NodeJs uses: actions/setup-node@v4.0.4 From 38fcd0afd916217783dcb272aec816e24b80fb72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 01:46:53 +0000 Subject: [PATCH 24/41] build(deps): bump actions/setup-node from 4.0.4 to 4.1.0 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4.0.4...v4.1.0) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- .github/workflows/ci-release.yaml | 2 +- .github/workflows/i18n.yaml | 2 +- .github/workflows/lint.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 41535ad68..5fc22ba54 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Set up NodeJs - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: '20' cache: 'npm' diff --git a/.github/workflows/ci-release.yaml b/.github/workflows/ci-release.yaml index 2955ccbf3..ca1a4bc67 100644 --- a/.github/workflows/ci-release.yaml +++ b/.github/workflows/ci-release.yaml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Set up NodeJs - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: '20' cache: 'npm' diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml index c4162de6f..96922609d 100644 --- a/.github/workflows/i18n.yaml +++ b/.github/workflows/i18n.yaml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Set up NodeJs - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: '20' cache: 'npm' diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 26b0d4c72..f2a174802 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4.2.2 - name: Set up NodeJs - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: '20' cache: 'npm' From e4611d8b3dd80c2b6b3d3c3e020df6e45dab2de7 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 25 Oct 2024 22:48:38 +0200 Subject: [PATCH 25/41] Update versions in issue template for defects Signed-off-by: Niklas --- .github/ISSUE_TEMPLATE/defect-report.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/defect-report.yml b/.github/ISSUE_TEMPLATE/defect-report.yml index 2f57a1a70..b7e27b962 100644 --- a/.github/ISSUE_TEMPLATE/defect-report.yml +++ b/.github/ISSUE_TEMPLATE/defect-report.yml @@ -65,6 +65,7 @@ body: - 4.10.x - 4.11.x - 4.12.0 + - 4.12.1 - 4.13.0-SNAPSHOT validations: required: true From 9aff83ce156ccf2a4fd3c7fc0e1952636505e1de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 01:27:14 +0000 Subject: [PATCH 26/41] build(deps): bump nginxinc/nginx-unprivileged in /docker Bumps nginxinc/nginx-unprivileged from `8096c72` to `dbe45a3`. --- updated-dependencies: - dependency-name: nginxinc/nginx-unprivileged dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- docker/Dockerfile.alpine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index 8d587b0d0..92ea4170c 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:8096c729bad289fd1413c0f69f76420efaf281692ea6a023aa71a2365d941ed0 +FROM nginxinc/nginx-unprivileged:1.27.2-alpine@sha256:dbe45a35774e1663be48f0e383e294fffcdf1d97dadfd2be689ab4569ab6abb5 # Arguments that can be passed at build time ARG COMMIT_SHA=unknown From d2594c1fda3625bc9954d35b59528be68316f9e5 Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Thu, 7 Nov 2024 14:53:49 +0100 Subject: [PATCH 27/41] docker: fix ipv6 listening Signed-off-by: Marc 'risson' Schmitt --- docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh diff --git a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh old mode 100644 new mode 100755 index 7b22b985d..1e79b2f5f --- a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh +++ b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh @@ -13,7 +13,7 @@ entrypoint_log() { } ME=$(basename $0) -DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf.template" +DEFAULT_CONF_FILE="etc/nginx/templates/default.conf.template" # check if we have ipv6 available if [ ! -f "/proc/net/if_inet6" ]; then From f359ed3750a0057549f45cd4feb74b441a170522 Mon Sep 17 00:00:00 2001 From: nscuro Date: Sun, 10 Nov 2024 23:34:44 +0100 Subject: [PATCH 28/41] Fix tags with special characters breaking the tags table Fixes #1081 Signed-off-by: nscuro --- src/views/portfolio/tags/TagList.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/views/portfolio/tags/TagList.vue b/src/views/portfolio/tags/TagList.vue index 0593e0a23..0636cf64b 100644 --- a/src/views/portfolio/tags/TagList.vue +++ b/src/views/portfolio/tags/TagList.vue @@ -23,6 +23,8 @@ import TaggedNotificationRuleListModal from '@/views/portfolio/tags/TaggedNotifi import TaggedPoliciesListModal from '@/views/portfolio/tags/TaggedPoliciesListModal.vue'; import TaggedProjectListModal from '@/views/portfolio/tags/TaggedProjectListModal.vue'; import i18n from '@/i18n'; +import MurmurHash2 from 'imurmurhash'; + export default { mixins: [bootstrapTableMixin, permissionsMixin, routerMixin], components: { @@ -195,7 +197,7 @@ export default { }, buttonsOrder: ['btnDeleteSelected', 'refresh', 'columns'], clickToSelect: true, - uniqueId: 'name', + uniqueId: 'nameHash', search: true, showColumns: true, showRefresh: true, @@ -212,6 +214,11 @@ export default { refresh: 'fa-refresh', }, responseHandler: function (res, xhr) { + for (let tag of res) { + // Tag names with special characters can break table rendering. + // https://github.com/DependencyTrack/dependency-track/issues/4357 + tag.nameHash = MurmurHash2(tag.name).result(); + } res.total = xhr.getResponseHeader('X-Total-Count'); return res; }, From 3461e52999fca0a9b2254e7430423c8aa5ef7e73 Mon Sep 17 00:00:00 2001 From: Thomas Schauer-Koeckeis Date: Mon, 18 Nov 2024 14:18:56 +0100 Subject: [PATCH 29/41] Fixed Issue 1088 Signed-off-by: Thomas Schauer-Koeckeis --- src/views/portfolio/projects/ProjectCreateProjectModal.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/views/portfolio/projects/ProjectCreateProjectModal.vue b/src/views/portfolio/projects/ProjectCreateProjectModal.vue index 17322022d..f02ae499e 100644 --- a/src/views/portfolio/projects/ProjectCreateProjectModal.vue +++ b/src/views/portfolio/projects/ProjectCreateProjectModal.vue @@ -317,15 +317,13 @@ export default { async getAvailableTeams() { let url = `${this.$api.BASE_URL}/${this.$api.URL_TEAM}/visible`; let response = await this.axios.get(url); - console.log(response.data); let convertedTeams = response.data.map((team) => { - console.log(team.uuid); return { text: team.name, value: team.uuid }; }); this.availableTeams = convertedTeams; this.teams = response.data; if (this.requiresTeam && this.availableTeams.length == 1) { - this.project.team = teams[0][0].value; + this.project.team = this.availableTeams[0].value; this.isDisabled = true; } this.availableTeams.sort(function (a, b) { From 6b138312923505dfcd9e84355117e26859738d55 Mon Sep 17 00:00:00 2001 From: Thomas Schauer-Koeckeis Date: Mon, 18 Nov 2024 14:41:31 +0100 Subject: [PATCH 30/41] There is a difference between false and 'false' Signed-off-by: Thomas Schauer-Koeckeis --- src/views/portfolio/projects/ProjectCreateProjectModal.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/views/portfolio/projects/ProjectCreateProjectModal.vue b/src/views/portfolio/projects/ProjectCreateProjectModal.vue index f02ae499e..b7646ee7f 100644 --- a/src/views/portfolio/projects/ProjectCreateProjectModal.vue +++ b/src/views/portfolio/projects/ProjectCreateProjectModal.vue @@ -223,6 +223,7 @@ import { Switch as cSwitch } from '@coreui/vue'; import permissionsMixin from '../../../mixins/permissionsMixin'; import Multiselect from 'vue-multiselect'; import BInputGroupFormSwitch from '@/forms/BInputGroupFormSwitch.vue'; +import common from '../../../shared/common'; export default { name: 'ProjectCreateProjectModal', @@ -312,7 +313,9 @@ export default { async getACLEnabled() { let url = `${this.$api.BASE_URL}/${this.$api.URL_CONFIG_PROPERTY}/public/access-management/acl.enabled`; let response = await this.axios.get(url); - this.requiresTeam = response.data.propertyValue.toString(); + this.requiresTeam = common.toBoolean( + response.data.propertyValue.toString(), + ); }, async getAvailableTeams() { let url = `${this.$api.BASE_URL}/${this.$api.URL_TEAM}/visible`; From bc4f076795e124f64479d4b0a8ff1e20e3ed4b14 Mon Sep 17 00:00:00 2001 From: Thomas Schauer-Koeckeis Date: Mon, 18 Nov 2024 14:49:05 +0100 Subject: [PATCH 31/41] Uses same thing as the other configs to update Signed-off-by: Thomas Schauer-Koeckeis --- .../configuration/WelcomeMessage.vue | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/views/administration/configuration/WelcomeMessage.vue b/src/views/administration/configuration/WelcomeMessage.vue index 42d223d31..ba732c2c7 100644 --- a/src/views/administration/configuration/WelcomeMessage.vue +++ b/src/views/administration/configuration/WelcomeMessage.vue @@ -91,26 +91,20 @@ export default { editor.style.height = editor.scrollHeight + 'px'; }, saveChanges() { - let url = `${this.$api.BASE_URL}/${this.$api.URL_CONFIG_PROPERTY}`; - axios.post(url, { - groupName: 'general', - propertyName: 'welcome.message.html', - propertyValue: encodeURIComponent( - this.welcomeMessage !== '' ? this.welcomeMessage : ' ', - ), - }); - axios - .post(url, { + this.updateConfigProperties([ + { + groupName: 'general', + propertyName: 'welcome.message.html', + propertyValue: encodeURIComponent( + this.welcomeMessage !== '' ? this.welcomeMessage : ' ', + ), + }, + { groupName: 'general', propertyName: 'welcome.message.enabled', propertyValue: this.isWelcomeMessage, - }) - .then((response) => { - this.$toastr.s(this.$t('admin.configuration_saved')); - }) - .catch((error) => { - this.$toastr.w(this.$t('condition.unsuccessful_action')); - }); + }, + ]); }, }, }; From 2fad4f5770957e1d8a7d22e4613a4b8fa064c268 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 01:12:55 +0000 Subject: [PATCH 32/41] build(deps): bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.28.0 to 0.29.0. - [Release notes](https://github.com/aquasecurity/trivy-action/releases) - [Commits](https://github.com/aquasecurity/trivy-action/compare/0.28.0...0.29.0) --- updated-dependencies: - dependency-name: aquasecurity/trivy-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 5fc22ba54..bb0fd162d 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -112,7 +112,7 @@ jobs: - name: Run Trivy Vulnerability Scanner if: ${{ inputs.publish-container }} - uses: aquasecurity/trivy-action@0.28.0 + uses: aquasecurity/trivy-action@0.29.0 env: # https://github.com/aquasecurity/trivy-action/issues/389 TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2' From 74a6b17c42c29f0dd5ba89f6802a19fbbdbaa369 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 01:06:39 +0000 Subject: [PATCH 33/41] build(deps): bump docker/build-push-action from 6.9.0 to 6.10.0 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.10.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v6.9.0...v6.10.0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_meta-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml index 5fc22ba54..5499f0799 100644 --- a/.github/workflows/_meta-build.yaml +++ b/.github/workflows/_meta-build.yaml @@ -99,7 +99,7 @@ jobs: echo "tags=${TAGS}" >> $GITHUB_OUTPUT - name: Build multi-arch Container Image - uses: docker/build-push-action@v6.9.0 + uses: docker/build-push-action@v6.10.0 with: tags: ${{ steps.tags.outputs.tags }} build-args: |- From 1f73d1ec0b31a82e76f1d03aba1e28d4126f7f02 Mon Sep 17 00:00:00 2001 From: Maximilian Wirtz Date: Wed, 27 Nov 2024 11:00:03 +0100 Subject: [PATCH 34/41] Show component properties to users with VIEW_PORTFOLIO permission Previously the button to `Properties` in the component details modal was not shown to users not having the `PORTFOLIO_EDIT` permission. With this change Users with the `VIEW_PORTFOLIO` permission can see the properties. Signed-off-by: Maximilian Wirtz --- src/views/portfolio/projects/ComponentDetailsModal.vue | 2 +- src/views/portfolio/projects/ComponentPropertiesModal.vue | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/views/portfolio/projects/ComponentDetailsModal.vue b/src/views/portfolio/projects/ComponentDetailsModal.vue index f302ada12..5506d9383 100644 --- a/src/views/portfolio/projects/ComponentDetailsModal.vue +++ b/src/views/portfolio/projects/ComponentDetailsModal.vue @@ -367,7 +367,7 @@ size="md" variant="outline-primary" v-b-modal.componentPropertiesModal - v-permission="PERMISSIONS.PORTFOLIO_MANAGEMENT" + v-permission="PERMISSIONS.VIEW_PORTFOLIO" >{{ $t('message.properties') }} {{ diff --git a/src/views/portfolio/projects/ComponentPropertiesModal.vue b/src/views/portfolio/projects/ComponentPropertiesModal.vue index de6aba266..8effce1d0 100644 --- a/src/views/portfolio/projects/ComponentPropertiesModal.vue +++ b/src/views/portfolio/projects/ComponentPropertiesModal.vue @@ -20,6 +20,7 @@ size="md" variant="outline-danger" @click="deleteProperty" + v-permission="PERMISSIONS.PORTFOLIO_MANAGEMENT" :disabled="!hasRowsSelected" >{{ $t('message.delete') }} @@ -29,6 +30,7 @@ {{ $t('message.create_property') }} @@ -39,9 +41,11 @@