Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Django 2.0 - (incomplete) #25

Open
wants to merge 79 commits into
base: master
Choose a base branch
from
Open

Django 2.0 - (incomplete) #25

wants to merge 79 commits into from

Conversation

jalMogo
Copy link
Owner

@jalMogo jalMogo commented Dec 6, 2019

This PR is just to document our WIP in porting to Django 2.0.

In short, I don't think it's worthwhile to do this upgrade now.

The deciding factor is that django-celery doesn't have support for Django 2.0, as discussed here: celery/django-celery#568

So I saw two options:

  • Remove all celery-related code, since we aren't making much use of it. But this is still a big task, since the code is intertwined throughout our app.
  • Wait until Celery gets Django 2.0 support. And at some time in the future, we can consider replacing it with a lighter-weight queuing library.

I'm choosing the second option, since it's less work. And we might actually want to use the existing celery code someday.

As listed here, Django 1.11 will be supported until April 2020:
https://www.djangoproject.com/download/#supported-versions

So I think we can wait until then to decide whether to upgrade Django or not. And even if we need to go longer, it should be fine. Shareabouts has been on Django 1.8 for years 😆

jalmogo and others added 27 commits May 23, 2019 17:26
…er-id

Jalmogo/fix user serializer provider
This reverts commit 98efa3f.
* Revert "Revert "Merge pull request #14 from jalMogo/jalmogo/upgrade-auth-deps""

This reverts commit c5646c9.

* fix(UserSerializer)
* feat(DiscourseAuthBackend)

* fix(DiscourseSSOAuth): nonce checking

* refactor(DiscourseAuth): use nonce storage

* chore(python-social-auth): use fork for now

* refactor(DiscourseBackend): use backend from PSA lib

* chore(use https for PSA fork)

* chore(1.9.5)

* chore(update-PSA-deps)

* chore(circleCI)
* chore(gitignore)

* feat(UserSerializer): prioritize returning model user names

* cleanup
* refactor(paginationSerializers): separate module

* feat(Flavor): add model and serializer

* feat(FlavorSerializer): Category field

* refactor(FlavorModel): pluralize module name

* feat(Forms): add model and serializer

* feat(Flavor): remove categories

* feat(Form): serialize dataset as hyperlink

* feat(FormsModel): initial FormModule implementation

* feat(FlavorInstanceView): add flavor instance

* refactor(FlavorInstanceView): use django shortcuts

* refactor(FlavorSerializer): explictely define form fields

* feat(FlavorModel): add slug column

* chore(migrations): makemigrations for foms

* feat(FlavorAdmin): initial implemntation

* feat(admin): add flavor admin, refactor forms

* refactor(Forms): new model and serializers

* refactor(Flavor): fix view tests

* feat(FormAdmin): enable sorting and inline module admin

* chore(Dockerfile): update deps

* feat(FormModel): implement data validation and 'get_related_module'

* refactor(FormModel): using '_get_related_modules' private method

* refactor(FormModule): make datasets nullable

* feat(testFormModel): test deletion cascade

* feat(FormModel): allow blank datasets

* chore(requirements.txt): fix bug with django-admin-sortable

* feat(FormAdmin): Form admin updates

* feat(FormSerializer): remove 'null' fields from FormModule

* chore(circleCI): update docker image

* refactor(Forms): update __unicode__ and add RelatedFormModule abstract class

* feat(FormsAdmin): don't show extra FormModule forms

* feat(FormModule): FormFieldOption abstract model, and help text

* fix(FormField): update serializers with abstract option model

* feat(FormAdmin): add link to Form from FormModule admin

* feat(FormModule): visibility trigger support

* temp

* feat(Forms): add visibility trigger serializers

* feat(FormStage): new model, update serializers, tests, and admin

* fix(FormStage): tests and views

* fix(FormStageAdmin): tweaks, and add migration

* fix(FormSerializers): tests

* feat(StageForm): add mapViewport and layerGroup models

* fix(StageForm): module imports

* refactor(FormModel): RelatedFormModel is now FK instead of OneToOne

* fix(serializersTest): FormSerializer

* fix(FlavorViewTest): update for new Form Model

* feat(FormAdmin): hide unneeded models from admin page

* feat(FormAdmin): add related modules

* feat(migrations)

* feat(FormModuleAdmin): fk support with limited querysets

* feat(FormModel): update admin querysets, help text, toString

* feat(FormModel): add TextField

* temp

* refactor(FormModel): update to_string

* fix(FormModel): update __unicode__ with unattached info

* update comments

* feat(FormModel): TextArea and Checkbox Fields

* chore(migrations): add migrations

* feat(FormModel): initial GroupModule implementation

* chore(TestModels): test dangling/attached FormModules

* refactor(FormModule): rename stage_modules and group_modules

* feat(FormSerializer): add GroupModule serializer support

* fix(TestFormSerializer): updates, test GroupModule

* fix(FlavorViewTest): FormStageModel refactor fixes

* fix(FormModel): misc admin and serializer updates

* chore(migrations): update

* feat(FormModelAdmin): fix AbstractFormModule abstraction

* fix(FormModelAdmin): visibility_trigger querysets

* refactor(FormModel)

 - rename FormModule to OrderedModule
 - Flavor.name -> Flavor.display_name

* fix(FormModel): cleanup / fixes

* fix(FlavorSerializer): tests

* fix(TestFlavorView): tests

* fix(FormModel): fix placeholder field, add GeocodingField model

* fix(FormModel): fix check for has_any_ordered_modules

* refactor(TestSocialUserSerializer): use class method

* chore(migrations)

* feat(FormAdmin): GeocodingField support

* feat(FormModel): enforce unique LayerGroup label

* chore(migrations)

* fix(FormModelAdmin): NestedOrderModel admin quersets

* fix(OriginModel): Update help text

* refactor(TestDataSetSerializer): use class setup method

* feat(FormModel): add new Modules, refactor old ones

* remove old migrations

* feat(FlavorFixtureSerializer)

* migrations

* fix(fixtures)

* chore(dockers)

* fix(tests)

* feat(FlavorFixtureSerializer): updates

* feat(deserializers): handle orderedModules

* LayerGroup deserializer

* feat(deserializers): radio options

* add checkboxfield deserializer support

* enable serialization for all module types, add validation

* fix(FormFieldOption): add ordering

* fix(loggers)

* fix(tests)

* fix(tests)

* fix(Forms): queryset ordering

* refactor(formSerializers): formStages nested under Forms

* refactor(FormFieldOptionsCreator): new mixin

* fix(re-add FormModulesValidator)

* refactor(AbstractFormModuleSerializer)

* refactor(squash migrations)

* feat(groupmodule deserializer)

* fix(MapViewport): optional fields

* fix(models): tweaks

* feat(SubmitButtonModule): and refactoring related_modules abstraction

* fix(SubmitButtonModule): and tests

* feat(commands): initialize flavors

* update logging for import script

* update flavor -> flavors, add bikeshare unit test

* refactor(FormModel)

* add latlng field, initial firewise form

* refactor(visibility_triggers -> group_visibility_triggers)

* import group trigger relationships

* fix(FormFixtureSerializer)

* fix(migrations)

* fix/feat(tests and FirewiseForm)

* fix(importFlavors): dataset references

* use prints instead of logger

* fix(commands)

* tests(FlavorDeserializer): group triggers

* refactor(serializers): using slugrelatedfield

* feat(Forms): add FormStage skip and visibility

* feat(formSerializers): omit select fields

* feat(flavorMigration): add spokane, and reverse_geocode column

* feat(tests): stage visibility triggers

* feat(Modal): add info_modal model, serializers, tests

* finish Spokane form

* hide info_modal if null

* cleanup

* refactor(AddressField): renamed

* refactor(LngLatField): renamed

* refactor(squash migrations)

* fix(cors)

* fix(cors import)

* fix(stagingflavors.json): remove dup field

* fix(serializers): serialize id's

* fix(FlavorSerializer): serialize id's

* refactor(validate_geometry): remove LngLatField

* refactor(Forms): make dataset relationship 1:1

* feat(icon): add 'icon' to Form and FormFieldOption

* feat(permitted_group)

* fix(FlavorSerializerTest): one-to-one dataset/form relationship

* fix(TestFlavorViews): one-to-one form/dataset

* fix(transition_duration)

* refactor(OrderedModuleSerializer): permitted_group

* feat(pbdurham-input): ingest

* feat(ingest): pbdurham-projects form

* chore(migrations squash)

* refactor(serializerMixins): error message

* refactor(formsModules): change m2m -> one-to-one

* refactor(formsModel): add validation for adding multiple references to related form module

* feat(FormSkipStage): skip to arbitrary FormStages

* feat(testSerializers): skipstagemodule

* feat(TestSerializers): skipstagemodule fixture

* feat(BellevueForm): add skipstagemodule

* fix(SkipStageModuleSerializer): include stage

* refactor(rebaseMigrations)

* feat(kittitas-vsp-input-form)

* remove duplicate group triggers from staging flavor

* sort layer groups by label

* minor form fields update + migration

* update flavor fixture using new script

* squash migrations

* add snohomish flavor fixture

* re-order flavor fixtures

* add columbia flavor

* add garfield form/flavor

* update fixed from config fixes

* add palouse form/flavor

* feat(forms): extend prompt limit to 511 chars

* add migration

* squash migrations

* refactor(serializers): OmitNullFieldsFromRepr

* add missing labels

* add creatingcascadia form/flavor

* add mississippi flavor/form

* updates

* add include_on_list

* rename pbdurham form fixture

* feat(include_on_list)
 - other form flavor fixture updates/fixes from script update

* squash migrations

* Admin updates, model fixes
 - fix delete hook on info_modal / FormField
 - fix admin querysets, etc

* fix(migrations): squash and updates CASCADE -> SET_NULL

* refactor(forms): rename variants, add AD variant

* refactor(squash migrations)

* fix(tests)

* make include_ongoing is False by default

* update engagement_text and image for Form, remove unneeded default='' on charfields

* add header_text to FormStage, and migrations

* fix(Serializers): update serializers from models

* feat(RadioField): add autocomplete_dropdown variant

* chore(migrations)

* fix(tests)

* update flavor fixtures from parser updates

* update ingestion from new configs

* auto-ingest kittitas-firewise config

* fix(tests): for kittitas-firewise updates

* increase form placeholder size

* add mw flavor/forms and tests

* add one more mw-form trigger test

* manual spokane updates - header_text

* chore(squash migrations)

* remove validate_geometry column
* feat(python3): requirements.txt upgrades

* fix(migrations): python 3 bytestring -> unicode

* fix(python3): fixes

* fix(remoteClientUser): byte strings

* refactor(remoteClientUser): decode bytestring

* fix(PlaceInstanceView): unicode / bytestring fixes

* fix(PlaceListView): fix tests

* chore(Docker): python 3.8.0

* chore(Dockerfile): python 3.7.5 postgres issue

* chore(circleci)

* fix(OwnedResourceMixin): cast to str

* fix(tests): place filter indexes

* fix(middleware): bytecode fixes

* chore(black): code formatter

* refactor(black): using code formatter

* docs(readme): black docs

* chore(circleci): update dockers

* chore(pyproject.toml)

* fix(__str__): from __unicode__, and run isort
@jalMogo jalMogo force-pushed the master branch 3 times, most recently from 11191ea to cdbd0a1 Compare December 6, 2021 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants