Rework some core licensing stubs and prepare for new license actions.

Review Request #14401 — Created April 21, 2025 and updated — Latest diff uploaded

Information

Review Board
release-7.1.x

Reviewers

License has been updated to provide consistent expiration-related
information, factoring in hard expiration dates, grace periods, and
"expires soon" logic.

LicenseStatus constants have been renamed to go with
licensed/unlicensed terms and expired-based terms.

There are new classes, errors, and stubs for license update checks and
for license actions (which will include things like manually uploading a
license).

License check updates will be driven in an upcoming change. The process
involves asking the License Provider for a license check payload,
sending that payload to an outside server, then passing the result back
to the License Provider for processing.

Type hints have been updated to utilize | instead of Union.

Upcoming changes will begin to flesh out more of this, and add UI around
license displays.

Unit tests pass.

Tested this along with in-progress changes, verifying all these new
capabilities being stubbed out in this change.

Diff Revision 4

This is not the most recent revision of the diff. The latest diff is revision 5. See what's changed.

orig
1
2
3
4
5

Commits

First Last Summary ID Author
Rework some core licensing stubs and prepare for new license actions.
`License` has been updated to provide consistent expiration-related information, factoring in hard expiration dates, grace periods, and "expires soon" logic. `LicenseStatus` constants have been renamed to go with licensed/unlicensed terms and expired-based terms. There are new classes, errors, and stubs for license update checks and for license actions (which will include things like manually uploading a license). License check updates will be driven in an upcoming change. The process involves asking the License Provider for a license check payload, sending that payload to an outside server, then passing the result back to the License Provider for processing. Type hints have been updated to utilize `|` instead of `Union`. Upcoming changes will begin to flesh out more of this, and add UI around license displays.
8bc4dbbf8a71fc98e7ba0aa66266e9c6ecb5fd2f Christian Hammond
docs/manual/extending/coderef/index.rst
reviewboard/licensing/errors.py
reviewboard/licensing/license.py
reviewboard/licensing/license_checks.py
reviewboard/licensing/provider.py
reviewboard/licensing/tests/__init__.py
reviewboard/licensing/tests/test_license_info.py
Loading...