diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index 78d8c35293..23328bca2a 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -763,7 +763,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload SARIF file - uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # pin@v3 + uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # pin@v3 with: sarif_file: results.sarif category: zizmor diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 91db73aadd..10c5d9443b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -55,7 +55,7 @@ jobs: - name: Build frontend run: cd src/frontend && npm run compile && npm run build - name: Create SBOM for frontend - uses: anchore/sbom-action@a930d0ac434e3182448fe678398ba5713717112a # pin@v0 + uses: anchore/sbom-action@0b82b0b1a22399a1c542d4d656f70cd903571b5c # pin@v0 with: artifact-name: frontend-build.spdx path: src/frontend diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index 1387301622..e59e6b187b 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 + uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 with: sarif_file: results.sarif diff --git a/contrib/container/requirements.txt b/contrib/container/requirements.txt index 380c03ffe5..3d7a100aeb 100644 --- a/contrib/container/requirements.txt +++ b/contrib/container/requirements.txt @@ -118,9 +118,9 @@ psycopg-pool==3.3.0 \ --hash=sha256:2e44329155c410b5e8666372db44276a8b1ebd8c90f1c3026ebba40d4bc81063 \ --hash=sha256:fa115eb2860bd88fce1717d75611f41490dec6135efb619611142b24da3f6db5 # via psycopg -pyasn1==0.6.1 \ - --hash=sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 \ - --hash=sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034 +pyasn1==0.6.2 \ + --hash=sha256:1eb26d860996a18e9b6ed05e7aae0e9fc21619fcee6af91cca9bad4fbea224bf \ + --hash=sha256:9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b # via # pyasn1-modules # python-ldap diff --git a/src/backend/InvenTree/InvenTree/sso.py b/src/backend/InvenTree/InvenTree/sso.py index cbb2d79938..891708f73f 100644 --- a/src/backend/InvenTree/InvenTree/sso.py +++ b/src/backend/InvenTree/InvenTree/sso.py @@ -96,7 +96,9 @@ def ensure_sso_groups(sender, sociallogin: SocialLogin, **kwargs): group_map = json.loads(get_global_setting('SSO_GROUP_MAP')) # map SSO groups to InvenTree groups group_names = [] - for sso_group in sociallogin.account.extra_data.get(group_key, []): + for sso_group in sociallogin.account.extra_data.get('userinfo', {}).get( + group_key, [] + ): if mapped_name := group_map.get(sso_group): group_names.append(mapped_name) diff --git a/src/backend/InvenTree/InvenTree/test_auth.py b/src/backend/InvenTree/InvenTree/test_auth.py index c8651c4285..465be13b64 100644 --- a/src/backend/InvenTree/InvenTree/test_auth.py +++ b/src/backend/InvenTree/InvenTree/test_auth.py @@ -38,7 +38,7 @@ class TestSsoGroupSync(TransactionTestCase): 'SSO_GROUP_MAP', '{"idp_group": "inventree_group"}' ) # configure sociallogin - extra_data = {'groups': ['idp_group']} + extra_data = {'userinfo': {'groups': ['idp_group']}} self.group = Group(name='inventree_group') self.group.save() # ensure default group exists diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx index 284899efe5..52183924f3 100644 --- a/src/frontend/src/forms/PurchaseOrderForms.tsx +++ b/src/frontend/src/forms/PurchaseOrderForms.tsx @@ -361,12 +361,7 @@ function LineItemFormRow({ // Serial number generator const serialNumberGenerator = useSerialNumberGenerator({ - isEnabled: () => batchOpen && trackable, - onGenerate: (value: any) => { - if (value) { - props.changeFn(props.idx, 'serial_numbers', value); - } - } + isEnabled: () => batchOpen && trackable }); const [packagingOpen, packagingHandlers] = useDisclosure(false, { @@ -726,7 +721,10 @@ function LineItemFormRow({ field_type: 'string', label: t`Serial Numbers`, description: t`Enter serial numbers for received items`, - value: props.item.serial_numbers + value: props.item.serial_numbers, + placeholderAutofill: true, + placeholder: + serialNumberGenerator.result && `${serialNumberGenerator.result}` }} error={props.rowErrors?.serial_numbers?.message} />