Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot]
a371ad81b9 Chore(deps): Bump django-soft-delete from 1.0.21 to 1.0.22
Bumps [django-soft-delete](https://github.com/san4ezy/django_softdelete) from 1.0.21 to 1.0.22.
- [Changelog](https://github.com/san4ezy/django_softdelete/blob/master/CHANGELOG.md)
- [Commits](https://github.com/san4ezy/django_softdelete/commits)

---
updated-dependencies:
- dependency-name: django-soft-delete
  dependency-version: 1.0.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 20:49:06 +00:00
10 changed files with 248 additions and 323 deletions

View File

@@ -8,17 +8,14 @@ ARG DEBIAN_FRONTEND=noninteractive
ARG TARGETARCH
# Can be workflow provided, defaults set for manual building
ARG JBIG2ENC_VERSION=0.30
ARG JBIG2ENC_VERSION=0.29
# Set Python environment variables
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
# Ignore warning from Whitenoise
PYTHONWARNINGS="ignore:::django.http.response:517" \
PNGX_CONTAINERIZED=1 \
# https://docs.astral.sh/uv/reference/settings/#link-mode
UV_LINK_MODE=copy \
UV_CACHE_DIR=/cache/uv/
PNGX_CONTAINERIZED=1
#
# Begin installation and configuration
@@ -84,7 +81,7 @@ RUN set -eux \
&& apt-get update \
&& apt-get install --yes --quiet ${PYTHON_PACKAGES}
COPY --from=ghcr.io/astral-sh/uv:0.9.10 /uv /bin/uv
COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /bin/uv
RUN set -eux \
@@ -106,7 +103,6 @@ COPY [ \
RUN set -eux \
&& echo "Configuring ImageMagick" \
&& mkdir -p /etc/ImageMagick-6 \
&& mv paperless-policy.xml /etc/ImageMagick-6/policy.xml
@@ -122,7 +118,7 @@ ARG BUILD_PACKAGES="\
pkg-config"
# hadolint ignore=DL3042
RUN --mount=type=cache,target=/cache/uv/,id=uv-cache \
RUN --mount=type=cache,target=/root/.cache/uv,id=pip-cache \
set -eux \
&& echo "Installing build system packages" \
&& apt-get update \

View File

@@ -892,7 +892,7 @@
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
<context context-type="linenumber">60</context>
</context-group>
<target state="translated">Vés al final</target>
<target state="needs-translation">Jump to bottom</target>
</trans-unit>
<trans-unit id="1255048712725285892" datatype="html">
<source>Options to customize appearance, notifications and more. Settings apply to the &lt;strong&gt;current user only&lt;/strong&gt;.</source>

View File

@@ -6222,7 +6222,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="translated">모든 페이지 선택</target>
<target state="needs-translation">Select all pages</target>
</trans-unit>
<trans-unit id="234610397929376642" datatype="html">
<source>Deselect all pages</source>
@@ -6230,7 +6230,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">12</context>
</context-group>
<target state="translated">모든 페이지 선택 해제</target>
<target state="needs-translation">Deselect all pages</target>
</trans-unit>
<trans-unit id="2530246103796817298" datatype="html">
<source>Rotate selected pages counter-clockwise</source>
@@ -6238,7 +6238,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="translated">선택한 페이지 반시계방향으로 회전</target>
<target state="needs-translation">Rotate selected pages counter-clockwise</target>
</trans-unit>
<trans-unit id="4787219034890830544" datatype="html">
<source>Rotate selected pages clockwise</source>
@@ -6246,7 +6246,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="translated">선택한 페이지 시계방향으로 회전</target>
<target state="needs-translation">Rotate selected pages clockwise</target>
</trans-unit>
<trans-unit id="3441043765105475130" datatype="html">
<source>Delete selected pages</source>
@@ -6254,7 +6254,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">23</context>
</context-group>
<target state="translated">선택한 페이지 삭제</target>
<target state="needs-translation">Delete selected pages</target>
</trans-unit>
<trans-unit id="3873740163706409154" datatype="html">
<source>Rotate page counter-clockwise</source>
@@ -6994,7 +6994,7 @@
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
<context context-type="linenumber">105</context>
</context-group>
<target state="translated">작업 대기열</target>
<target state="needs-translation">Tasks Queue</target>
</trans-unit>
<trans-unit id="6911698235105017958" datatype="html">
<source>Redis Status</source>
@@ -7042,7 +7042,7 @@
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
<context context-type="linenumber">245</context>
</context-group>
<target state="translated">작업 실행</target>
<target state="needs-translation">Run Task</target>
</trans-unit>
<trans-unit id="4089509911694721896" datatype="html">
<source>Last Updated</source>
@@ -7090,7 +7090,7 @@
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
<context context-type="linenumber">257</context>
</context-group>
<target state="translated">WebSocket 연결</target>
<target state="needs-translation">WebSocket Connection</target>
</trans-unit>
<trans-unit id="8998179362936748717" datatype="html">
<source>OK</source>
@@ -7480,7 +7480,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">58</context>
</context-group>
<target state="translated">인쇄</target>
<target state="needs-translation">Print</target>
</trans-unit>
<trans-unit id="1418444397960583910" datatype="html">
<source>More like this</source>
@@ -8036,7 +8036,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1096</context>
</context-group>
<target state="translated">문서 다운로드 중 오류 발생</target>
<target state="needs-translation">Error downloading document</target>
</trans-unit>
<trans-unit id="4458954481601077369" datatype="html">
<source>Page Fit</source>
@@ -8068,7 +8068,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1460</context>
</context-group>
<target state="translated">인쇄 실패.</target>
<target state="needs-translation">Print failed.</target>
</trans-unit>
<trans-unit id="6457245677384603573" datatype="html">
<source>Error loading document for printing.</source>
@@ -9848,7 +9848,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="translated">받음</target>
<target state="needs-translation">Received</target>
</trans-unit>
<trans-unit id="4749295647449765550" datatype="html">
<source>Processed</source>

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-14 16:09+0000\n"
"PO-Revision-Date: 2025-11-24 12:15\n"
"PO-Revision-Date: 2025-11-20 00:35\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-14 16:09+0000\n"
"PO-Revision-Date: 2025-11-25 00:35\n"
"PO-Revision-Date: 2025-11-14 16:11\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-14 16:09+0000\n"
"PO-Revision-Date: 2025-11-25 12:16\n"
"PO-Revision-Date: 2025-11-21 23:54\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"

View File

@@ -38,19 +38,10 @@ def handle_social_account_updated(sender, request, sociallogin, **kwargs):
"""
from django.contrib.auth.models import Group
extra_data = sociallogin.account.extra_data or {}
social_account_groups = extra_data.get(
social_account_groups = sociallogin.account.extra_data.get(
"groups",
[],
) # pre-allauth 65.11.0 structure
if not social_account_groups:
# allauth 65.11.0+ nests claims under `userinfo`/`id_token`
social_account_groups = (
extra_data.get("userinfo", {}).get("groups")
or extra_data.get("id_token", {}).get("groups")
or []
)
) # None if not found
if settings.SOCIAL_ACCOUNT_SYNC_GROUPS and social_account_groups is not None:
groups = Group.objects.filter(name__in=social_account_groups)
logger.debug(

View File

@@ -192,68 +192,6 @@ class TestSyncSocialLoginGroups(TestCase):
)
self.assertEqual(list(user.groups.all()), [])
@override_settings(SOCIAL_ACCOUNT_SYNC_GROUPS=True)
def test_userinfo_groups(self):
"""
GIVEN:
- Enabled group syncing, and `groups` nested under `userinfo`
WHEN:
- The social login is updated via signal after login
THEN:
- The user's groups are updated using `userinfo.groups`
"""
group = Group.objects.create(name="group1")
user = User.objects.create_user(username="testuser")
sociallogin = Mock(
user=user,
account=Mock(
extra_data={
"userinfo": {
"groups": ["group1"],
},
},
),
)
handle_social_account_updated(
sender=None,
request=HttpRequest(),
sociallogin=sociallogin,
)
self.assertEqual(list(user.groups.all()), [group])
@override_settings(SOCIAL_ACCOUNT_SYNC_GROUPS=True)
def test_id_token_groups_fallback(self):
"""
GIVEN:
- Enabled group syncing, and `groups` only under `id_token`
WHEN:
- The social login is updated via signal after login
THEN:
- The user's groups are updated using `id_token.groups`
"""
group = Group.objects.create(name="group1")
user = User.objects.create_user(username="testuser")
sociallogin = Mock(
user=user,
account=Mock(
extra_data={
"id_token": {
"groups": ["group1"],
},
},
),
)
handle_social_account_updated(
sender=None,
request=HttpRequest(),
sociallogin=sociallogin,
)
self.assertEqual(list(user.groups.all()), [group])
class TestUserGroupDeletionCleanup(TestCase):
"""

6
uv.lock generated
View File

@@ -839,14 +839,14 @@ wheels = [
[[package]]
name = "django-soft-delete"
version = "1.0.21"
version = "1.0.22"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "django", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/da/bf/13996c18bffee3bbcf294830c1737bfb5564164b8319c51e6714b6bdf783/django_soft_delete-1.0.21.tar.gz", hash = "sha256:542bd4650d2769105a4363ea7bb7fbdb3c28429dbaa66417160f8f4b5dc689d5", size = 21153, upload-time = "2025-09-17T08:46:30.476Z" }
sdist = { url = "https://files.pythonhosted.org/packages/98/d1/c990b731676f93bd4594dee4b5133df52f5d0eee1eb8a969b4030014ac54/django_soft_delete-1.0.22.tar.gz", hash = "sha256:32d0bb95f180c28a40163e78a558acc18901fd56011f91f8ee735c171a6d4244", size = 21982, upload-time = "2025-10-25T13:11:46.199Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/fa/e6/8f4fed14499c63e35ca33cf9f424ad2e14e963ec5545594d7c7dc2f710f4/django_soft_delete-1.0.21-py3-none-any.whl", hash = "sha256:dd91e671d9d431ff96f4db727ce03e7fbb4008ae4541b1d162d5d06cc9becd2a", size = 18681, upload-time = "2025-09-17T08:46:29.272Z" },
{ url = "https://files.pythonhosted.org/packages/f5/c2/fca2bf69b7ca7e18aed9ac059e89f1043663e207a514e8fb652450e49631/django_soft_delete-1.0.22-py3-none-any.whl", hash = "sha256:81973c541d21452d249151085d617ebbfb5ec463899f47cd6b1306677481e94c", size = 19221, upload-time = "2025-10-25T13:11:44.755Z" },
]
[[package]]