Make the expiration controls on the API tokens config page nicer.

Review Request #12670 — Created Oct. 5, 2022 and submitted — Latest diff uploaded

Information

Review Board
release-5.0.x

Reviewers

This change offers several improvements to the expiration controls on the
API tokens config page:
- Users can edit the expiration of expired tokens.
- Users can set the specific time of the expiration.
- Users can set the expiration to a past date/time.

With this, the API tokens config page offers the same flexibility for editing
expiration dates as the API.

This change also resets the expired_notification_sent flag in a token's
extra_data field whenever a token's expiration is updated, so that users can
get notified again if they set a new expiration date on already expired tokens.

  • Ran JS unit tests.
  • Ran ./reviewboard/webapi/tests/test_api_token.py
  • Manually tested the expiration controls with various combinations of
    starting states, ending states, and with the other controls on the page.

Commits

Files