This is related to ticket #1374, and simplifies the steps for local
development environments to have a working login flow for github and
google.
The improvements were configuration for the client id and secret for
google and github via .env vars instead of having to go through setting
up "Social Applications" via the admin interface, and automating the
process for creating google cloud projects in which oauth clients can be
created. Documentation was adjusted to fit.
That was as far as this could be automated given limitations on both
Google Cloud Platform and Github's APIs for creating oauth clients/apps.
The terraform process can be improved if these tickets see some progress
or an API comes about to support this.
Google
https://github.com/hashicorp/terraform-provider-google/issues/16452https://issuetracker.google.com/issues/116182848
Github
https://github.com/integrations/terraform-provider-github/issues/786
- This work is a prerequisite for #1290 and #1289
- Create an `EmailData` model which holds email counts per
(CommitAuthor, Version).
- Add management command `sync_mailinglist_stats` to query data from the
hyperkitty database and build `EmailData` objects from it
- EmailData.count is calculated between x.x.0 release_dates
- Add button in EmailData admin to trigger task
- Update the `merge_author` method to update EmailData with the Summed
counts per version and delete EmailData which pointed to the
`CommitAuthor` being merged from.
- Remove old templates, views, urls, tests and models
- Per #204, this project was abandoned.
- We will query and save aggregated stats from hyperkitty in a future
commit, in #1289
* Fixed issues with releases page and versioning
* Added latest support and version alert
* Updated version alert to link to /release and clarify most recent vs
vs "release" selection
* Refactored Libraries and Releases pages to align similar code for
reuse.
1. added support for 'release' in library urls
2. fixed versioning not working from the non-grid library list pages
3. fixed library detail user selection of versioning not working
4. unified cookie handling to share across both LibraryList and
LibraryDetail
There's a good amount of refactoring in this, so this is going to look
like a much bigger change than it is. In reality it makes the dispatch
code simpler.
Fixes:
1. Resolved the issue with the libraries pages not redirecting correctly
2. Resolved an issue around categories not being preserved moving from
page to page.
The issue with the redirects was there was a tug of war on arriving on
/library between the various ways of determining where the user should
end up.
I added a `/libraries/grid/` url and now `/libraries/` determines which
list page the user should end up on based on 1) url 2) cookie, 3) the
default, same for version preference. We can probably get rid of
dispatch() later. This has the added bonus of allowing reliable linking
to a specific list view (e.g. for users to bookmark one type)
Refactors:
1. Separated the navigation on the three library pages into a standalone
template.
2. Moved some constants to constants.py
3. Moved a lot of the views methods which were only used by the
dispatch() call to utils.py .
4. At that stage there were circular imports so I moved the docs
generation functions which were only used in constants.py to
constants_utils.py. utils.py is more general.
Hopefully going to make your day with this PR. The first commit is
somewhat, but not entirely related changes.
The actual fix is in the second commit changing the single Django
setting.