diff --git a/sage_validation/accounts/admin.py b/sage_validation/accounts/admin.py index 8d326a8b63f8a38f65086865388a4cf297515c75..ae0e150fb8b9da27994b7720a6e93785ac716426 100644 --- a/sage_validation/accounts/admin.py +++ b/sage_validation/accounts/admin.py @@ -1,8 +1,13 @@ +"""Admin configuration for the UserActivityLog model.""" from django.contrib import admin -from .models import UserActivityLog + +from sage_validation.accounts.models import UserActivityLog + @admin.register(UserActivityLog) class UserActivityLogAdmin(admin.ModelAdmin): + """Admin configuration for the UserActivityLog model.""" + list_display = ("user", "action", "name", "input_file_hash", "output_file_hash", "timestamp") search_fields = ("user__username", "name", "action") - list_filter = ("action", "timestamp") \ No newline at end of file + list_filter = ("action", "timestamp") diff --git a/sage_validation/accounts/apps.py b/sage_validation/accounts/apps.py index 3b8364944a21a590dfae5f68e0930f6754f42afd..97f433049e1d7e1c46c6d8bb42fa7f41213cb535 100644 --- a/sage_validation/accounts/apps.py +++ b/sage_validation/accounts/apps.py @@ -1,6 +1,9 @@ +"""Django app configuration for the accounts' app.""" from django.apps import AppConfig class AccountsConfig(AppConfig): + """App configuration for the accounts' app.""" + default_auto_field = "django.db.models.BigAutoField" name = "sage_validation.accounts" diff --git a/sage_validation/accounts/models.py b/sage_validation/accounts/models.py index bb02ea1bc40b0b978575da3501870f602039c4ac..40c3631433f95a58212f49014681ff6c53a75753 100644 --- a/sage_validation/accounts/models.py +++ b/sage_validation/accounts/models.py @@ -1,4 +1,6 @@ +"""Models for the accounts app.""" import hashlib +from typing import ClassVar from django.contrib.auth.models import User from django.db import models @@ -7,7 +9,7 @@ from django.db import models class UserActivityLog(models.Model): """Model to log user activities.""" - ACTION_CHOICES = [ + ACTION_CHOICES: ClassVar[list[tuple[str, str]]] = [ ("upload", "Upload"), ("download", "Download"), ] @@ -19,7 +21,8 @@ class UserActivityLog(models.Model): output_file_hash = models.CharField(max_length=64, blank=True, null=True) timestamp = models.DateTimeField(auto_now_add=True) - def __str__(self): + def __str__(self) -> str: + """Return a string representation of the UserActivityLog object.""" return f"{self.user.username} - {self.action} - {self.name} ({self.timestamp})" @staticmethod @@ -37,6 +40,7 @@ class UserActivityLog(models.Model): hasher.update(str(file_obj).encode("utf-8")) else: - raise TypeError("generate_file_hash() expected a file, BytesIO, string, or list.") + err = "generate_file_hash() expected a file, string, or list." + raise TypeError(err) return hasher.hexdigest() diff --git a/sage_validation/accounts/views.py b/sage_validation/accounts/views.py index 91ea44a218fbd2f408430959283f0419c921093e..73cfcebfbe2f5309c824cbc422921dd3d897e64d 100644 --- a/sage_validation/accounts/views.py +++ b/sage_validation/accounts/views.py @@ -1,3 +1 @@ -from django.shortcuts import render - -# Create your views here. +"""Views for accounts app."""