1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 03:36:48 +00:00
webvirtcloud/accounts
catborise 0610c23a34 fix(api): an error's status says what it is, and its body is always {"detail"}
- libvirt errors all answered 400. A VM, pool or volume the host does not
  have now answers 404, a volume in use 409 (vrtManager.util.InUse) and a
  host that cannot be reached 503, which a client may retry.
- A template's power on or cycle and a stopped pool answered
  {"status": ...} with 409; they answer {"detail": ...}, as every other
  refusal. The schema documents these 409s (ErrorSerializer).
- The volume list and a volume of a stopped pool answered 200 with an
  empty list or a made-up volume; they answer 409.
- An API URL that names nothing answered the HTML error page; it answers
  a JSON 404 after the API's authentication.
- A session that must change its password was redirected to the HTML
  form; an API request of it gets the JSON 403 a token gets.
2026-11-07 13:29:46 +03:00
..
migrations fix(accounts): an admin still on the password "admin" must change it 2026-11-06 15:20:35 +03:00
templates fix(accounts): an OTP mail links to the QR code instead of holding its secret 2026-11-05 18:17:00 +03:00
templatetags lint with black python. convert f style strings to old one. some small fixes 2020-11-05 12:34:31 +03:00
tests fix(api): an error's status says what it is, and its body is always {"detail"} 2026-11-07 13:29:46 +03:00
__init__.py chore: remove code nothing uses 2026-11-06 10:53:37 +03:00
apps.py test: no seeded admin password, settings changed only for a test, no local libvirt by default 2026-11-06 13:48:03 +03:00
auth.py fix(admin): a forced password change cannot trap a user or be skipped with a token 2026-10-26 10:12:53 +03:00
checks.py chore: comments say what the code does 2026-11-06 13:48:04 +03:00
forms.py feat(templates): the shared form and delete pages in a centred column 2026-10-31 18:10:05 +03:00
lockout.py feat(accounts): failed logins lock a user for the address they come from 2026-10-06 11:05:03 +03:00
middleware.py fix(api): an error's status says what it is, and its body is always {"detail"} 2026-11-07 13:29:46 +03:00
models.py refactor(accounts): UserInstance's uniqueness is a UniqueConstraint 2026-11-06 13:46:27 +03:00
otp.py fix(accounts): a username longer than the field is refused by the login form 2026-10-23 16:06:10 +03:00
urls.py fix(accounts): an OTP mail links to the QR code instead of holding its secret 2026-11-05 18:17:00 +03:00
utils.py fix(accounts): the admin's Email OTP sent twice at once makes one device 2026-11-05 18:58:13 +03:00
views.py fix(accounts): an API token form sent twice makes one token 2026-11-05 18:58:13 +03:00