mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-12-16 01:31:09 -06:00
Compare commits
4 Commits
5f89e0a225
...
7a1083dbde
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a1083dbde | ||
|
|
21032ac008 | ||
|
|
b63e095a60 | ||
|
|
ce642409e8 |
@@ -32,7 +32,7 @@ RUN set -eux \
|
|||||||
# Purpose: Installs s6-overlay and rootfs
|
# Purpose: Installs s6-overlay and rootfs
|
||||||
# Comments:
|
# Comments:
|
||||||
# - Don't leave anything extra in here either
|
# - Don't leave anything extra in here either
|
||||||
FROM ghcr.io/astral-sh/uv:0.9.14-python3.12-trixie-slim AS s6-overlay-base
|
FROM ghcr.io/astral-sh/uv:0.9.15-python3.12-trixie-slim AS s6-overlay-base
|
||||||
|
|
||||||
WORKDIR /usr/src/s6
|
WORKDIR /usr/src/s6
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
@for (user of users; track user) {
|
@for (user of users; track user) {
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col d-flex align-items-center"><button class="btn btn-link p-0 text-start" type="button" (click)="editUser(user)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.User)">{{user.username}}</button></div>
|
<div class="col d-flex align-items-center" [class.opacity-50]="!user.is_active"><button class="btn btn-link p-0 text-start" type="button" (click)="editUser(user)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.User)">{{user.username}}</button></div>
|
||||||
<div class="col d-flex align-items-center">{{user.first_name}} {{user.last_name}}</div>
|
<div class="col d-flex align-items-center">{{user.first_name}} {{user.last_name}}</div>
|
||||||
<div class="col d-flex align-items-center">{{user.groups?.map(getGroupName, this).join(', ')}}</div>
|
<div class="col d-flex align-items-center">{{user.groups?.map(getGroupName, this).join(', ')}}</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
|
|||||||
@@ -137,3 +137,25 @@ class CustomSocialAccountAdapter(DefaultSocialAccountAdapter):
|
|||||||
user.save()
|
user.save()
|
||||||
handle_social_account_updated(None, request, sociallogin)
|
handle_social_account_updated(None, request, sociallogin)
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
def on_authentication_error(
|
||||||
|
self,
|
||||||
|
request,
|
||||||
|
provider,
|
||||||
|
error=None,
|
||||||
|
exception=None,
|
||||||
|
extra_context=None,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Just log errors and pass them along.
|
||||||
|
"""
|
||||||
|
logger.warning(
|
||||||
|
f"Social authentication error for provider `{provider!s}`: {error!s} ({exception!s})",
|
||||||
|
)
|
||||||
|
return super().on_authentication_error(
|
||||||
|
request,
|
||||||
|
provider,
|
||||||
|
error,
|
||||||
|
exception,
|
||||||
|
extra_context,
|
||||||
|
)
|
||||||
|
|||||||
@@ -167,3 +167,17 @@ class TestCustomSocialAccountAdapter(TestCase):
|
|||||||
self.assertEqual(user.groups.count(), 1)
|
self.assertEqual(user.groups.count(), 1)
|
||||||
self.assertTrue(user.groups.filter(name="group1").exists())
|
self.assertTrue(user.groups.filter(name="group1").exists())
|
||||||
self.assertFalse(user.groups.filter(name="group2").exists())
|
self.assertFalse(user.groups.filter(name="group2").exists())
|
||||||
|
|
||||||
|
def test_error_logged_on_authentication_error(self):
|
||||||
|
adapter = get_social_adapter()
|
||||||
|
request = HttpRequest()
|
||||||
|
with self.assertLogs("paperless.auth", level="INFO") as log_cm:
|
||||||
|
adapter.on_authentication_error(
|
||||||
|
request,
|
||||||
|
provider="test-provider",
|
||||||
|
error="Error",
|
||||||
|
exception="Test authentication error",
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
any("Test authentication error" in message for message in log_cm.output),
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user