Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions trojstenid/profiles/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from django.views.generic import DetailView, TemplateView
from PIL import ImageColor

from trojstenid import audit
from trojstenid.badges.models import Badge
from trojstenid.users.groups import VEDUCI_GROUP
from trojstenid.users.models import User
Expand Down Expand Up @@ -55,6 +56,8 @@ def get_context_data(self, **kwargs):
ctx["show_details"] = self.request.user.groups.filter(
name=VEDUCI_GROUP
).exists()
if ctx["show_details"]:
audit.log(self.request, f"viewed profile of {user.username}")
ctx["groups"] = user.groups.values_list("name", flat=True)
ctx["VEDUCI_GROUP"] = VEDUCI_GROUP
ctx["badges"] = Badge.objects.filter(badgeassignment__user=user).select_related(
Expand Down
6 changes: 6 additions & 0 deletions trojstenid/users/signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from allauth.account.models import EmailAddress
from allauth.account.signals import email_confirmed, user_logged_out
from allauth.socialaccount.models import SocialAccount
from django.contrib.auth.signals import user_logged_in
from django.contrib.auth.signals import (
user_logged_out as dj_user_logged_out,
)
Expand Down Expand Up @@ -30,6 +31,11 @@ def sync_groups_after_confirm(request, email_address: EmailAddress, **kwargs):
sync_groups.delay()


@receiver([user_logged_in])
def log_user_login(request, user: User, **kwargs):
audit.log(request, "logged in")


@receiver([user_logged_out, dj_user_logged_out])
def log_user_logout(request, user: User, **kwargs):
audit.log(request, "logged out")
Expand Down
Loading