Add an admin page for viewing and managing licenses.
Review Request #14404 — Created April 28, 2025 and updated — Latest diff uploaded
This adds a new dedicated Licenses page in the Admin UI for seeing all
current registered licenses across License Providers. These indicate the
state of the licenses, expiration information, provide license
management, actions, and custom line items.Each license is represented by a
License
model andLicenseView
view,
backed by state provided by the License Provider. Custom models, views,
and data can be provided as needed.Some basic infrastructure is set up for custom actions and license
checks. To ease review, those capabilities will be introduced in a
follow-up change.
Python and JavaScript unit tests passed.
Tested this with some custom License Providers registered in extensions
as tests, and with Power Pack ported over to License Providers. Verified
that all the state and status updates introduced in this change function
as expected.
Diff Revision 2 (Latest)
Commits
Files
reviewboard/admin/urls.py |
---|
reviewboard/licensing/provider.py |
---|
reviewboard/licensing/urls.py |
---|
reviewboard/licensing/views.py |
---|
reviewboard/licensing/tests/test_licenses_view.py |
---|
reviewboard/static/rb/css/bundles/admin.less |
---|
reviewboard/static/rb/css/ui/admin/license.less |
---|
reviewboard/static/rb/js/admin/index.ts |
---|
reviewboard/static/rb/js/admin/models/callLicenseActionError.ts |
---|
reviewboard/static/rb/js/admin/models/licenseModel.ts |
---|
reviewboard/static/rb/js/admin/views/licenseView.ts |
---|
reviewboard/static/rb/js/admin/views/tests/index.ts |
---|
reviewboard/static/rb/js/admin/views/tests/licenseViewTests.ts |
---|
reviewboard/static/rb/js/tests/index.ts |
---|
reviewboard/templates/admin/licensing.html |
---|
reviewboard/templates/admin/sidebar.html |
---|