Remove the dependency on django-avatar and use simple urls pointing
to Gravatar avatar images.
This replacement will require manual changes:
1. Remove from database the django-avatar table
2. Remove images directory that hosts old avatar images
Signed-off-by: Alfredos-Panagiotis Damkalis <fredy@fredy.gr>
Upgrade to Django 3.2 LTS
add DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' for Django 3.2
un-pin urllib3 and requests as the newer releases work with auth0 now
Signed-off-by: Corey Shields <cshields@gmail.com>
With the new drf-spectacular generated schema, need to add nulltype to the list of requirements to install
update copyright dates
Improve examples and client generated docs via drf-spectacular
Signed-off-by: Corey Shields <cshields@gmail.com>
I've decided to change things up in API schema and doc generation.
Work is not quite complete but its enough for testing in dev and feedback.
Major changes:
* Renaming of api.view classes to match ViewSet inheritance (minor annoyance)
* Introduce drf-spectacular for schema generation and doc UI via swagger-ui
* lots of doc changes for the API to provide a good experience with the above.
New schema generation should work seamlessly in gitlab ci, as well as via /api/schema dynamically.
The new swagger ui view is available via /api/schema/docs/
Signed-off-by: Corey Shields <cshields@gmail.com>
There are a slew of issues related to eventlet monkeypatching ssl.py which leads to the issues we've seen in the updates I pushed to dev this week. The gunicorn update to 20 seems to be the culprit here, and wasn't caught locally because "develop" in djangoctl.sh uses the django runserver, not gunicorn.
Hopefully this fixes our issues, and I'll slowly update eventlet, requests, and urllib3 back up
Signed-off-by: Corey Shields <cshields@gmail.com>
The RecursionError we keep hitting is happening in requests+urllib3, and I can't see why quite yet but there are enough changes there to try rolling them back, if the problem goes away then we've found an upstream bug.
Signed-off-by: Corey Shields <cshields@gmail.com>
Start using JWT from auth0, along with updated social-auth-app plugin and newer jose. Tested locally but only with a http redirect, will test ssl in dev
Signed-off-by: Corey Shields <cshields@gmail.com>
We seemed to hit a regression in celery with db-dev that should have been fixed in https://github.com/celery/celery/issues/6445 but is causing us issues.
Also pulling the social-auth package back with a weird ssl recursion issue.
Signed-off-by: Corey Shields <cshields@gmail.com>
Update to Django Rest Framework 3.12.2 with improved schema generation.
However, it is still not quite complete for what we need (and what we currently postprocess for). Instead of postprocessing, this commit introduces our own extended generator to add the missing fields.
Once this is vetted good, we can remove contrib/postprocess-openapi-schema.py
Also added better comments to api/views.py which will end up in schema docs
Signed-off-by: Corey Shields <cshields@gmail.com>
This should fix failing 'Read the Docs' documentation generation since
presence of 'mysql' executable is not a checked when installing a wheel
package.
Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>
Re-implementing the case-on-type of the prior db UI.
To keep CSP happy along with the fact that we dynamically load the modal with django-bootstrap-modal, the javascript for these modals is in a new file, and that file's hash is kept in the CSP.
Also re-introduces child_src to test fixing a safari mapbox bug
Relates to #233Fixes#387
Initial commit of new UI. There is still some work to be done before this goes into dev, but here is the work so far:
* Updated dependencies to latest 2.x django
* Updated to Bootstrap 4
* New home screen to display most recent satellite entries, most recent data, and contributors
* Adopted django-bootstrap-modal-forms for handling satellite and transmitter creation and update, with more of an emphasis on django's model/view/form model - and a dynamic flow where the modals and details are only loaded when the proper icon is clicked, reducing the overall page size
* Adopted AdminLTE 3.x framework atop Bootstrap 4
* Created reusable cards for satellite and transmitters
* Cards and Modals are organized into subdirectories for template includes and base templates, respectively
* New stats display widgets using BS4 and AdminLTE 3
* Satellite search is redesigned and now accessible from any page of the site
* Introduced datatables for an "All Satellites" view and a modification of the new "All Transmitters" view
* Focus on all UI scaling down to mobile devices
* New model created for Operator (/ Owner): name, names, description, website
* Added django-countries for support of CountryField
* Satellite model expanded to include: Operator, (satellite) website, countries, launched datetime, deployed datetime
* Transmitter suggestions can now be approved in the UI by superusers
* Satellite entries can now be edited in the UI by users with the change satellite permission
* Satellite page is now broken into 'tabbed' panels (Profile, Map, Transmitters, etc) - with the tab menu options appearing in the sidebar or at the top depending on screen size
* Other cleanup and changes that I'm missing for sure.
Signed-off-by: Corey Shields <cshields@gmail.com>
Move 'satellitetle' from 0.7.0 to 0.8.0,
fixes update_satellite management command and update_all_tle task for
satellites which are not part of any list in celestrak but available
via the Celestrak satcat/tle.php endpoint (currently only NARSSCube-1).
Both commands use `fetch_tle_from_celestrak` (directly and indirectly),
which was broken due to an API change by Celestrak.
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
This change bumps DB up to django 2.2.6 and resolves dependencies. No migrations are necessary. I've tested in my own environment, time to test in db-dev!
Signed-off-by: Corey Shields <cshields@gmail.com>
This change bumps DB up to django 2.2.6 and resolves dependencies. No migrations are necessary. I've tested in my own environment, time to test in db-dev!
Signed-off-by: Corey Shields <cshields@gmail.com>