mirror of
https://github.com/jazzband/django-axes.git
synced 2026-03-16 22:30:23 +00:00
Updated expires_at for null, blank False, lte query update, admin expiration logic simplify
This commit is contained in:
parent
01ccf5b213
commit
ba7b72f9d9
4 changed files with 4 additions and 10 deletions
|
|
@ -56,9 +56,7 @@ class AccessAttemptAdmin(admin.ModelAdmin):
|
|||
return False
|
||||
|
||||
def expiration(self, obj: AccessAttempt):
|
||||
if hasattr(obj, "expiration") and obj.expiration.expires_at:
|
||||
return obj.expiration.expires_at
|
||||
return _("Not set")
|
||||
return obj.expiration.expires_at if hasattr(obj, "expiration") else _("Not set")
|
||||
|
||||
class AccessLogAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
|
|
|
|||
|
|
@ -400,7 +400,7 @@ class AxesDatabaseHandler(AbstractAxesHandler, AxesBaseHandler):
|
|||
|
||||
if settings.AXES_USE_ATTEMPT_EXPIRATION:
|
||||
threshold = timezone.now()
|
||||
count, _ = AccessAttempt.objects.filter(expiration__expires_at__lt=threshold).delete()
|
||||
count, _ = AccessAttempt.objects.filter(expiration__expires_at__lte=threshold).delete()
|
||||
log.info(
|
||||
"AXES: Cleaned up %s expired access attempts from database that expiry were older than %s",
|
||||
count,
|
||||
|
|
@ -408,7 +408,7 @@ class AxesDatabaseHandler(AbstractAxesHandler, AxesBaseHandler):
|
|||
)
|
||||
else:
|
||||
threshold = get_cool_off_threshold(request)
|
||||
count, _ = AccessAttempt.objects.filter(attempt_time__lt=threshold).delete()
|
||||
count, _ = AccessAttempt.objects.filter(attempt_time__lte=threshold).delete()
|
||||
log.info(
|
||||
"AXES: Cleaned up %s expired access attempts from database that were older than %s",
|
||||
count,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 5.2.1 on 2025-06-08 12:44
|
||||
# Generated by Django 5.2.1 on 2025-06-10 20:21
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
|
@ -28,9 +28,7 @@ class Migration(migrations.Migration):
|
|||
(
|
||||
"expires_at",
|
||||
models.DateTimeField(
|
||||
blank=True,
|
||||
help_text="The time when access attempt expires and is no longer valid.",
|
||||
null=True,
|
||||
verbose_name="Expires At",
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -61,8 +61,6 @@ class AccessAttemptExpiration(models.Model):
|
|||
)
|
||||
expires_at = models.DateTimeField(
|
||||
_("Expires At"),
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text=_("The time when access attempt expires and is no longer valid."),
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue