Aleksi Häkli
bdd0c9546a
Fix prospector errors
2026-02-11 22:14:31 +02:00
Aleksi Häkli
4b77eb69ee
Run black autoformatting
2026-02-11 22:14:31 +02:00
Aleksi Häkli
d59a289407
Suppress mypy type errors
...
Update Mypy Python version to 3.14
2026-02-11 22:14:31 +02:00
Aleksi Häkli
4ea615811b
Implement custom lazy object to avoid JSON errors with Celery
...
Fixes jazzband/django-axes#1391
2026-02-11 22:14:31 +02:00
rodrigo.nogueira
6703b66f17
Fix circular import with custom user models
...
Fixes #1280
- Use SimpleLazyObject to defer get_user_model() evaluation
- Prevents circular import when custom user models import from axes
- Add test coverage for lazy evaluation in test_conf.py
2026-02-06 20:19:42 +02:00
rodrigo.nogueira
95a8043341
Fix AttributeError when optional settings are undefined
...
Fixes #1328
- Add None as default value in axes_conf_check
- Add test coverage for missing settings scenario
2026-02-06 20:19:42 +02:00
Mounir Messelmeni
955f39da73
Update docs
2025-12-19 21:19:03 +02:00
Mounir Messelmeni
04fd39fa57
Enhance get_lockout_response to support original_response parameter
2025-12-19 21:19:03 +02:00
shayan taki
3f6e773f7d
Add security check (W006) for missing ip_address in lockout params
2025-12-19 21:13:43 +02:00
kuldeepkhatke
2a8c42c3eb
Added cleanup_expired_attempts action
2025-07-08 21:09:10 +03:00
kuldeepkhatke
29fd4bd4fe
Added IsLockedOutFilter to AccessAttemptAdmin
2025-07-06 23:06:41 +03:00
kuldeepkhatke
af65488dc6
Added status column to list display
2025-07-06 23:06:41 +03:00
kuldeepkhatke
e4e0299252
AccessAttemptAdmin.list_display datatype change tuple->list for customization
2025-07-06 23:06:41 +03:00
kuldeepkhatke
392dfa0e44
Reverted , remove change from AxesDatabaseHandler.user_login_failed
2025-07-05 16:19:19 +03:00
kuldeepkhatke
ba7b72f9d9
Updated expires_at for null, blank False, lte query update, admin expiration logic simplify
2025-07-05 16:19:19 +03:00
kuldeepkhatke
01ccf5b213
Updated get_individual_attempt_expiry() func placement & renamed to get_attempt_expiration()
2025-07-05 16:19:19 +03:00
kuldeepkhatke
d8e6c939fe
Modified expiration create queryset logic
2025-07-05 16:19:19 +03:00
kuldeepkhatke
f5951e966c
Modified access_attempt as pk
2025-07-05 16:19:19 +03:00
kuldeepkhatke
f583e93718
Modified verbiage changes & removed comment
2025-07-05 16:19:19 +03:00
kuldeepkhatke
df8fb35e18
Shifted epired_at filed to new model
2025-07-05 16:19:19 +03:00
kuldeepkhatke
a1e9eff875
Renamed AXES_INDIVIDUAL_ATTEMPT_EXPIRY flag to AXES_USE_ATTEMPT_EXPIRATION
2025-07-05 16:19:19 +03:00
kuldeepkhatke
0fd9ccd1d4
Added individual attempt expiry feature
2025-07-05 16:19:19 +03:00
AmirAli-BahramJerdi
eea9939a45
Add Persian translation for django-axes
2025-05-16 23:49:58 +03:30
nefrob
bd3b56237d
refactor: move db accessing attempt fns to handler methods
2025-05-10 13:46:09 +03:00
nefrob
8356498a44
chore: clean attempt logic as db handler method
2025-04-29 10:10:25 +03:00
Aleksi Häkli
5e7fbca52c
fix: resolve credentials for clean_expired_user_attempts
2025-04-23 17:02:37 +03:00
parul-aro
0115648a1d
feat(cleanup): allow credentials in cleanup method
2025-04-23 11:54:17 +03:00
Andrew Neher
129e93cc0e
savepoint
2025-02-19 18:09:40 +02:00
Bruno Alla
b54019fa0f
Change AXES_COOLOFF_TIME callable to take exactly 1 argument
2024-10-02 20:15:31 +03:00
Bruno Alla
8ed0d82384
refactor: remove attempt_time parameter
...
As we pass down the whole request, we no longer need to extract the axes_attempt_time anymore.
This is a potential breaking change, but the impacted functions are not part of the documented API.
2024-10-02 20:15:31 +03:00
Bruno Alla
a304380853
feat: pass down the request in a few more places
2024-10-02 20:15:31 +03:00
Bruno Alla
510c8d18f5
feat: pass the request to get dynamic cool off period
2024-10-02 20:15:31 +03:00
Bruno Alla
3f4526e8f5
chore: revert unrelated stylistic change
2024-10-02 20:15:31 +03:00
Bruno Alla
2fb4c81243
feat: pass username to AXES_COOLOFF_TIME callback
...
If the AXES_COOLOFF_TIME is a callable or path to a callable taking
an argument, pass the username to it.
This should enable users to customize the cool off to be user dependant,
and possibly implement a growing cool-off time:
- First lockout cools off after 5 mins
- Second one after 10 mins
- etc...
2024-10-02 20:15:31 +03:00
Maksim Zayakin
6202062f91
fix: make 007 migration backwards compatible
2024-06-29 21:21:15 +05:00
Davide
014483c65d
Add session hash to access log
2024-04-30 16:22:50 +02:00
Aleksi Häkli
dbd16dd5b0
Update syntax to be compliant with new black version
2024-03-04 20:07:47 +02:00
Aleksi Häkli
92f038e4af
Merge pull request #1169 from Viicos/remove-pkg-resources
...
Remove compatibility with `pkg_resources`
2024-03-04 19:52:32 +02:00
Viicos
ab54d68ee1
Remove compatibility with pkg_resources
2024-02-15 21:39:35 +01:00
Christian Clauss
493789640b
chore(deps): bump black from 23.12.1 to 24.1.0 AGAIN
2024-01-26 21:37:26 +01:00
Aleksi Häkli
38e316ca87
Fix code formatting
2023-12-27 12:40:23 +02:00
Taikono-Himazin
6f2584b440
Add async support to middleware
2023-12-13 13:35:22 +09:00
Aleksi Häkli
2a0fd0cfad
Merge pull request #1138 from p-l-/command-reset-ip-username
...
Add new management command `axes_reset_ip_username`
2023-12-08 19:39:40 +02:00
Pierre Lalet
6e64c62fbf
Add new management command axes_reset_ip_username
2023-11-28 20:37:39 +01:00
Laurent Lasudry
f64c1526d7
Add French translations
2023-11-06 12:35:54 +01:00
Christian Bundy
eb7b703a70
Avoid running data migration on incorrect databases
2023-10-08 22:33:21 +03:00
Maksim Zayakin
4861f3c988
fix: fix TransactionManagementError
2023-09-01 10:50:57 +03:00
Ronny Vedrilla
e9db2d9631
#1093 : "AXES_SENSITIVE_PARAMETERS" now have sensible defaults to follow "privacy-by-design"
2023-07-30 18:59:48 +03:00
Maksim Zayakin
9a54187a65
chore: update docstrings about settings.AXES_COOLOFF_TIME
2023-07-25 19:57:20 +03:00
Kira
370fadad36
add indonesian translation
2023-07-01 00:05:22 +03:00