diff --git a/Pipfile b/Pipfile index dbff3fc..ae41fb4 100644 --- a/Pipfile +++ b/Pipfile @@ -4,26 +4,27 @@ verify_ssl = true name = "pypi" [dev-packages] +pytest = "*" +pytest-splinter = "*" +tox = "*" +django-debug-toolbar = "*" [packages] -Django = "<2.0.0,>=1.11.7" -wagtail = "<2.0.0,>=1.13.1" -elasticsearch = "<3.0.0,>=2.0.0" -"psycopg2" = ">=2.7.4" -"psycopg2-binary" = ">=2.7.4" -dj-database-url = ">=0.5.0" -puput = "==0.9.2" -django-redis = ">=4.9.0" -django-libsass = ">=0.7" -libsass = ">=0.14.5" -stellar = ">=0.4.5" -gunicorn = ">=19.8.1" -whitenoise = ">=3.3.1" -django-anymail = ">=2.2" -guess_language-spirit = ">=0.5.3" -Pillow = ">=5.1.0" -ConcurrentLogHandler = ">=0.9.1" +ConcurrentLogHandler = "*" +django-anymail = "*" +django-libsass = "*" +django-redis = "*" +dj-database-url = "*" +elasticsearch = "*" +guess_language-spirit = "*" +gunicorn = "*" +libsass = "*" +Pillow = ">=4.0.0" +"psycopg2-binary" = "*" +puput = ">=1.0.0" +stellar = "*" +wagtail = ">=2.0" +whitenoise = "*" django-crispy-forms = "*" - -[requires] -python_version = "3.6" +python-dotenv = "*" +django = "==2.1.9" diff --git a/Pipfile.lock b/Pipfile.lock index 1865cce..a10338d 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,12 +1,10 @@ { "_meta": { "hash": { - "sha256": "e3ec65adaa794f2fcd004ccbf2b97c4ca0f7ac254fad5f3cc7416a3755d8afb8" + "sha256": "d398b7eb5fc9c5e555744d820c9b60a4da2812cb784c13fad44aa394d3fe9592" }, "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, + "requires": {}, "sources": [ { "name": "pypi", @@ -26,10 +24,10 @@ }, "certifi": { "hashes": [ - "sha256:339dc09518b07e2fa7eda5450740925974815557727d6bd35d319c1524a04a4c", - "sha256:6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a" + "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939", + "sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695" ], - "version": "==2018.10.15" + "version": "==2019.6.16" }, "chardet": { "hashes": [ @@ -47,14 +45,18 @@ }, "concurrentloghandler": { "hashes": [ - "sha256:4ccae08b7f9b3257de35f847e2de8629c00c2075f8ce66db8ed06d7657e2eeae", - "sha256:5d199eecc23751ab1f705826660f733c1090f62789f3e3c44296e706fc75b547", - "sha256:8225a590fd4194c413fa26675bde5f6b80ad79e4182d5876ba3e264f77755918", - "sha256:aa608aa0ce32d86d2061dec91cd58a2a367f97110851529d2aa6ebf96d9dcd4d" + "sha256:8225a590fd4194c413fa26675bde5f6b80ad79e4182d5876ba3e264f77755918" ], "index": "pypi", "version": "==0.9.1" }, + "contextlib2": { + "hashes": [ + "sha256:509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48", + "sha256:f5260a6e679d2ff42ec91ec5252f4eeffdcf21053db9113bd0a8e4d953769c00" + ], + "version": "==0.5.5" + }, "dj-database-url": { "hashes": [ "sha256:4aeaeb1f573c74835b0686a2b46b85990571159ffc21aa57ecd4d1e1cb334163", @@ -65,33 +67,40 @@ }, "django": { "hashes": [ - "sha256:29268cc47816a44f27308e60f71da635f549c47d8a1d003b28de55141df75791", - "sha256:37f5876c1fbfd66085001f4c06fa0bf96ef05442c53daf8d4294b6f29e7fa6b8" + "sha256:5052def4ff0a84bdf669827fdbd7b7cc1ac058f10232be6b21f37c6824f578da", + "sha256:bb72b5f8b53f8156280eaea520b548ac128a53f80cebc856c5e0fb555d44d529" ], "index": "pypi", - "version": "==1.11.16" + "version": "==2.1.9" }, "django-anymail": { "hashes": [ - "sha256:845edd136d9945972c507fa4d975286904bf5cb9da137925a0e44fd93caed875", - "sha256:8a845b6daf398e266b323c551a087d61f08215119e67acb4b496843afe301988" + "sha256:cb70bc28c188a4424b212bc91593cbc4247f2f21440fef2d209400c6dce7a18e", + "sha256:fdd87c6818b78f6d503e7dafeef679b6849613e0fe19129a30425914822630a3" ], "index": "pypi", - "version": "==5.0" + "version": "==6.0.1" }, "django-appconf": { "hashes": [ - "sha256:6a4d9aea683b4c224d97ab8ee11ad2d29a37072c0c6c509896dd9857466fb261", - "sha256:ddab987d14b26731352c01ee69c090a4ebfc9141ed223bef039d79587f22acd9" + "sha256:35f13ca4d567f132b960e2cd4c832c2d03cb6543452d34e29b7ba10371ba80e3", + "sha256:c98a7af40062e996b921f5962a1c4f3f0c979fa7885f7be4710cceb90ebe13a6" ], - "version": "==1.0.2" + "version": "==1.0.3" + }, + "django-colorful": { + "hashes": [ + "sha256:49d3feefdabdf6a22931c12ce1ed0cbb4596e7754e66bd55c0f362c0a369e5cb", + "sha256:fd246f2fb297ed074dc4349966d33a1c82d0308b7fb0d6ef6e2e76b90cefffb7" + ], + "version": "==1.3" }, "django-compressor": { "hashes": [ - "sha256:7732676cfb9d58498dfb522b036f75f3f253f72ea1345ac036434fdc418c2e57", - "sha256:9616570e5b08e92fa9eadc7a1b1b49639cce07ef392fc27c74230ab08075b30f" + "sha256:47c86347f75c64954a06afbbfc820a750619e10c23a49272b865020a407b7edd", + "sha256:da9ee5ce4fc8b9211dcecd2229520514a4ba9ac3bcdc59b48092ec4d7f6b96b0" ], - "version": "==2.2" + "version": "==2.3" }, "django-crispy-forms": { "hashes": [ @@ -116,24 +125,32 @@ }, "django-modelcluster": { "hashes": [ - "sha256:9edde7fb87b413c1114df47f928e95fbd6878de17f9f2caeea90e77766e272b5" + "sha256:59672386191d38c69d6f994c3f9aaab3ff93910ec71e78a0bb6aa9abd4d1b90a", + "sha256:eea507f2dd8bd283600c1cfa4de6776501a28f199089bb00613c1621505e80cc" ], - "version": "==3.1" + "version": "==4.4" }, "django-redis": { "hashes": [ - "sha256:15b47faef6aefaa3f47135a2aeb67372da300e4a4cf06809c66ab392686a2155", - "sha256:a90343c33a816073b735f0bed878eaeec4f83b75fcc0dce2432189b8ea130424" + "sha256:af0b393864e91228dd30d8c85b5c44d670b5524cb161b7f9e41acc98b6e5ace7", + "sha256:f46115577063d00a890867c6964ba096057f07cb756e78e0503b89cd18e4e083" ], "index": "pypi", - "version": "==4.9.0" + "version": "==4.10.0" + }, + "django-social-share": { + "hashes": [ + "sha256:27ce07b885e087ee7fa0fffc82d295b06a7b0bcf18d693ff8a619337bf7069e5", + "sha256:3627eb7fc8425dd45dabb7dfa17da5edec976e0d2c609c342aa763c7a24a69f0" + ], + "version": "==1.3.2" }, "django-taggit": { "hashes": [ - "sha256:58aa3e59e0643446e102523f22d137300298e2a537b1c5b0c310d99143f2c2b8", - "sha256:fd13e304ba37ff09e601c4797d893fb7d3e699a789b5afb0b09d686f94470441" + "sha256:710b4d15ec1996550cc68a0abbc41903ca7d832540e52b1336e6858737e410d8", + "sha256:bb8f27684814cd1414b2af75b857b5e26a40912631904038a7ecacd2bfafc3ac" ], - "version": "==0.22.2" + "version": "==0.24.0" }, "django-treebeard": { "hashes": [ @@ -143,18 +160,24 @@ }, "djangorestframework": { "hashes": [ - "sha256:0f9bfbac702f3376dfb2db4971ad8af4e066bfa35393b1b85e085f7e8b91189a", - "sha256:de8ac68b3cf6dd41b98e01dcc92dc0022a5958f096eafc181a17fa975d18ca42" + "sha256:376f4b50340a46c15ae15ddd0c853085f4e66058f97e4dbe7d43ed62f5e60651", + "sha256:c12869cfd83c33d579b17b3cb28a2ae7322a53c3ce85580c2a2ebe4e3f56c4fb" ], - "version": "==3.6.4" + "version": "==3.9.4" + }, + "draftjs-exporter": { + "hashes": [ + "sha256:503f222c81de9a0619158d8f88b638f9069af8de233dc020faa782c7a3b22100" + ], + "version": "==2.1.6" }, "elasticsearch": { "hashes": [ - "sha256:bb8f9a365ba6650d599428538c8aed42033264661d8f7d353da59d5892305f72", - "sha256:fead47ebfcaabd1c53dbfc21403eb99ac207eef76de8002fe11a1c8ec9589ce2" + "sha256:cbc73831c63fa2824538df76fcb2c4be007b43dbd9e7788ae70ea6d24109925b", + "sha256:d1b176b87a7fb75dca82978c82a4023e8b21cbc98f4018cb51190fb0b8b43764" ], "index": "pypi", - "version": "==2.4.1" + "version": "==7.0.2" }, "guess-language-spirit": { "hashes": [ @@ -173,10 +196,10 @@ }, "html5lib": { "hashes": [ - "sha256:b8934484cf22f1db684c0fae27569a0db404d0208d20163fbf51cc537245d008", - "sha256:ee747c0ffd3028d2722061936b5c65ee4fe13c8e4613519b4447123fc4546298" + "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3", + "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736" ], - "version": "==0.999999999" + "version": "==1.0.1" }, "humanize": { "hashes": [ @@ -186,201 +209,154 @@ }, "idna": { "hashes": [ - "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", - "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" + "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", + "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" ], - "version": "==2.7" + "version": "==2.8" }, "libsass": { "hashes": [ - "sha256:2313f0e82de034eea59443c8f69420c60c55f7c07fd3b59ea7e7a108b36e9d86", - "sha256:81d63f915d12bbff9931beac3eb6e20c17c40a0da06c3f0173bbacd6568c302c", - "sha256:8731fb9b4d3151b82d46a4495c8e2b322705cacbcb963c4bfe51d8a5a0c016e7", - "sha256:938518d827905c83d774a190cc6257b8183edea577485c20de7d49af5ccbeea6", - "sha256:95109c996ea5cf598344971e7c50847930f1d5dc110b4fc989c047d3b63c0c92", - "sha256:99d952ac9315af4494eedb1c38e13a16c7c49a6ca056262353e9433f086a1fe3", - "sha256:9c87df48b541276cc8b03316ab558b4019f16e158786923950926a6ce756124a", - "sha256:9f740659ec137cafbfd2298e77f21ceb1e40d30c578bd047e55e09da9220048e", - "sha256:a1315327c134d5ec8f90b4185e1ff2369be0108733f1be0c2ae8ba629c514ef1", - "sha256:bcbbb4fdd3117e00dc43594fe7e3b10fe17ada8932734287b2680fca18e118c9", - "sha256:daa7ea2b3b24585cff907320d071992ffea3ba36c4523f90798f27d1c4a9ef66", - "sha256:e0046d841469df8f578d7bbeb6859502cd4b09b9d559451a35392256423559ea", - "sha256:e39800d946b9b11d956f02e158eeb85b86ae5b801e63c335f83609d2811b643a" + "sha256:2457723fe04f4e690105f758aa125e809afc840812965095fa3f4edccd6275ef", + "sha256:2974772e7984b27a51a6d91ebc140183ddd574a9663bd02154ddfb75f13a3eed", + "sha256:2d067ce4f393fee2ce52bb810a364deac5454dfdb7945d31d1f4265f21f03ab8", + "sha256:57d0b99c4e3512233a44141f1bf852570d359724a606dfc4550eccd0f570460d", + "sha256:5b604e4f5befdecc76240c2ba243fd7e23c642ffc2dd86cbfd094a44ead6b08d", + "sha256:5dd647ffa1319a2a18572f41fee3bb561d7f77d8d4784074a00b2eb22c61a859", + "sha256:78f3f14e47612be4fa4b161278f2a3e880a19b6a3367f749e9ae240434b7e7f5", + "sha256:8d423e4b4c0e219488104b4ec4267688dbd816f3ae806beb4201918eff059b2d", + "sha256:a20473b0427d82e37fa68f0b3a8d219f0bb5ca6d3f7d93b0f5342219285e7064", + "sha256:c1f76c2a0993914f3c3088e9b6c7031f22e879c5d27a060cdc8c5aa1318eb9b6", + "sha256:c99fbc950f1955e8b6370aafdb9d84d324e4984a2e00a2b47f04dbcc3706a9d1", + "sha256:cb50f385117535f7671ac7ff3144c1ef0b8e088778c58d269ce6f31b87bfad72", + "sha256:f0f033a8154be60e1a2e1f79ee849ea69a1d62e5d476a78f69e4c7d8fd7c20e1", + "sha256:f2572b73b2e13e74b28388ae86c4fabb853ddbfc12279b4444243bd614710ce8", + "sha256:f8790db67e00c5bc7be1bdd81ed477563a4b191e839193ecc0c2c5ec679ec481" ], "index": "pypi", - "version": "==0.15.1" + "version": "==0.19.2" }, "pillow": { "hashes": [ - "sha256:00203f406818c3f45d47bb8fe7e67d3feddb8dcbbd45a289a1de7dd789226360", - "sha256:0616f800f348664e694dddb0b0c88d26761dd5e9f34e1ed7b7a7d2da14b40cb7", - "sha256:091136f2a37e9ed6bd8ce96fbf5269199ba6edee490d64de7ac934316f31ecca", - "sha256:0d67ae9a5937b1348fa1d97c7dcb6b56aaef828ca6655298e96f2f3114ad829d", - "sha256:0e1aaddd00ee9014fe7a61b9da61427233fcd7c7f193b5efd6689e0ec36bc42f", - "sha256:1f7908aab90c92ad85af9d2fec5fc79456a89b3adcc26314d2cde0e238bd789e", - "sha256:2ea3517cd5779843de8a759c2349a3cd8d3893e03ab47053b66d5ec6f8bc4f93", - "sha256:39b662f65a067709a62943003c1e807d140e7fcf631fcfc66ebe905f8149b9f4", - "sha256:3ddc19447cf42ef3ec564ab7ebbd4f67838ba9816d739befe29dd70149c775bd", - "sha256:48a9f0538c91fc136b3a576bee0e7cd174773dc9920b310c21dcb5519722e82c", - "sha256:5280ebc42641a1283b7b1f2c20e5b936692198b9dd9995527c18b794850be1a8", - "sha256:576a8a7a57065dab968d9d18befa2594a7673dcdab78c9b1f34248410cc6118f", - "sha256:5e334a23c8f7cb6079987a2ed9978821a42b4323a3a3bdbc132945348737f9a9", - "sha256:5e34e4b5764af65551647f5cc67cf5198c1d05621781d5173b342e5e55bf023b", - "sha256:63b120421ab85cad909792583f83b6ca3584610c2fe70751e23f606a3c2e87f0", - "sha256:696b5e0109fe368d0057f484e2e91717b49a03f1e310f857f133a4acec9f91dd", - "sha256:6cb528de694f503ea164541c151da6c18267727a7558e0c9716cc0383d89658a", - "sha256:7306d851d5a0cfac9ea07f1177783836f4b37292e5f224a534a52111cb6a6451", - "sha256:7e3e32346d991f1788026917d0a9c182d6d32dc757163eee7ca990f1f831499e", - "sha256:870ed021a42b1b02b5fe4a739ea735f671a84128c0a666c705db2cb9abd528eb", - "sha256:916da1c19e4012d06a372127d7140dae894806fad67ef44330e5600d77833581", - "sha256:9303a289fa0811e1c6abd9ddebfc770556d7c3311cb2b32eff72164ddc49bc64", - "sha256:9577888ecc0ad7d06c3746afaba339c94d62b59da16f7a5d1cff9e491f23dace", - "sha256:987e1c94a33c93d9b209315bfda9faa54b8edfce6438a1e93ae866ba20de5956", - "sha256:99a3bbdbb844f4fb5d6dd59fac836a40749781c1fa63c563bc216c27aef63f60", - "sha256:99db8dc3097ceafbcff9cb2bff384b974795edeb11d167d391a02c7bfeeb6e16", - "sha256:a379526415f54f9462bc65a4da76fb0acc05e3b2a21717dde79621cf4377e0e6", - "sha256:a5a96cf49eb580756a44ecf12949e52f211e20bffbf5a95760ac14b1e499cd37", - "sha256:a844b5d8120f99fb7cd276ff544ac5bd562b0c053760d59694e6bf747c6ca7f5", - "sha256:a9284368e81a67a7f47d5ef1ef7e4f11a4f688485879f44cf5f9090bba1f9d94", - "sha256:aa6ca3eb56704cdc0d876fc6047ffd5ee960caad52452fbee0f99908a141a0ae", - "sha256:aade5e66795c94e4a2b2624affeea8979648d1b0ae3fcee17e74e2c647fc4a8a", - "sha256:b78905860336c1d292409e3df6ad39cc1f1c7f0964e66844bbc2ebfca434d073", - "sha256:b92f521cdc4e4a3041cc343625b699f20b0b5f976793fb45681aac1efda565f8", - "sha256:bb2baf44e97811687893873eab8cf9f18b40321cc15d15ff9f91dc031e30631f", - "sha256:bfde84bbd6ae5f782206d454b67b7ee8f7f818c29b99fd02bf022fd33bab14cb", - "sha256:c2b62d3df80e694c0e4a0ed47754c9480521e25642251b3ab1dff050a4e60409", - "sha256:c55d348c1c65896c1bd804527de4880d251ae832acf90d74ad525bb79e77d55c", - "sha256:c5e2be6c263b64f6f7656e23e18a4a9980cffc671442795682e8c4e4f815dd9f", - "sha256:c99aa3c63104e0818ec566f8ff3942fb7c7a8f35f9912cb63fd8e12318b214b2", - "sha256:dae06620d3978da346375ebf88b9e2dd7d151335ba668c995aea9ed07af7add4", - "sha256:db5499d0710823fa4fb88206050d46544e8f0e0136a9a5f5570b026584c8fd74", - "sha256:dcd3cd17d291e01e47636101c4a6638ffb44c842d009973e3b5c1b67ff718c58", - "sha256:f12df6b45abc18f27f6e21ce26f7cbf7aa19820911462e46536e22085658ca1e", - "sha256:f36baafd82119c4a114b9518202f2a983819101dcc14b26e43fc12cbefdce00e", - "sha256:f52b79c8796d81391ab295b04e520bda6feed54d54931708872e8f9ae9db0ea1", - "sha256:fa2a50f762d06d84125db0b95d0121e9c640afa7edc23fc0848896760a390f8e", - "sha256:fa49bb60792b542b95ca93a39041e7113843093ce3cfd216870118eb3798fcc9", - "sha256:ff8cff01582fa1a7e533cb97f628531c4014af4b5f38e33cdcfe5eec29b6d888", - "sha256:ffbccfe1c077b5f41738bd719518213c217be7a7a12a7e74113d05a0d6617390" + "sha256:051de330a06c99d6f84bcf582960487835bcae3fc99365185dc2d4f65a390c0e", + "sha256:0ae5289948c5e0a16574750021bd8be921c27d4e3527800dc9c2c1d2abc81bf7", + "sha256:0b1efce03619cdbf8bcc61cfae81fcda59249a469f31c6735ea59badd4a6f58a", + "sha256:163136e09bd1d6c6c6026b0a662976e86c58b932b964f255ff384ecc8c3cefa3", + "sha256:18e912a6ccddf28defa196bd2021fe33600cbe5da1aa2f2e2c6df15f720b73d1", + "sha256:24ec3dea52339a610d34401d2d53d0fb3c7fd08e34b20c95d2ad3973193591f1", + "sha256:267f8e4c0a1d7e36e97c6a604f5b03ef58e2b81c1becb4fccecddcb37e063cc7", + "sha256:3273a28734175feebbe4d0a4cde04d4ed20f620b9b506d26f44379d3c72304e1", + "sha256:4c678e23006798fc8b6f4cef2eaad267d53ff4c1779bd1af8725cc11b72a63f3", + "sha256:4d4bc2e6bb6861103ea4655d6b6f67af8e5336e7216e20fff3e18ffa95d7a055", + "sha256:505738076350a337c1740a31646e1de09a164c62c07db3b996abdc0f9d2e50cf", + "sha256:5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f", + "sha256:5d95cb9f6cced2628f3e4de7e795e98b2659dfcc7176ab4a01a8b48c2c2f488f", + "sha256:7eda4c737637af74bac4b23aa82ea6fbb19002552be85f0b89bc27e3a762d239", + "sha256:801ddaa69659b36abf4694fed5aa9f61d1ecf2daaa6c92541bbbbb775d97b9fe", + "sha256:825aa6d222ce2c2b90d34a0ea31914e141a85edefc07e17342f1d2fdf121c07c", + "sha256:9c215442ff8249d41ff58700e91ef61d74f47dfd431a50253e1a1ca9436b0697", + "sha256:a3d90022f2202bbb14da991f26ca7a30b7e4c62bf0f8bf9825603b22d7e87494", + "sha256:a631fd36a9823638fe700d9225f9698fb59d049c942d322d4c09544dc2115356", + "sha256:a6523a23a205be0fe664b6b8747a5c86d55da960d9586db039eec9f5c269c0e6", + "sha256:a756ecf9f4b9b3ed49a680a649af45a8767ad038de39e6c030919c2f443eb000", + "sha256:b117287a5bdc81f1bac891187275ec7e829e961b8032c9e5ff38b70fd036c78f", + "sha256:ba04f57d1715ca5ff74bb7f8a818bf929a204b3b3c2c2826d1e1cc3b1c13398c", + "sha256:cd878195166723f30865e05d87cbaf9421614501a4bd48792c5ed28f90fd36ca", + "sha256:cee815cc62d136e96cf76771b9d3eb58e0777ec18ea50de5cfcede8a7c429aa8", + "sha256:d1722b7aa4b40cf93ac3c80d3edd48bf93b9208241d166a14ad8e7a20ee1d4f3", + "sha256:d7c1c06246b05529f9984435fc4fa5a545ea26606e7f450bdbe00c153f5aeaad", + "sha256:e9c8066249c040efdda84793a2a669076f92a301ceabe69202446abb4c5c5ef9", + "sha256:f227d7e574d050ff3996049e086e1f18c7bd2d067ef24131e50a1d3fe5831fbc", + "sha256:fc9a12aad714af36cf3ad0275a96a733526571e52710319855628f476dcb144e" ], "index": "pypi", - "version": "==5.3.0" + "version": "==5.4.1" }, "psutil": { "hashes": [ - "sha256:1c19957883e0b93d081d41687089ad630e370e26dc49fd9df6951d6c891c4736", - "sha256:1c71b9716790e202a00ab0931a6d1e25db1aa1198bcacaea2f5329f75d257fff", - "sha256:3b7a4daf4223dae171a67a89314ac5ca0738e94064a78d99cfd751c55d05f315", - "sha256:3e19be3441134445347af3767fa7770137d472a484070840eee6653b94ac5576", - "sha256:6e265c8f3da00b015d24b842bfeb111f856b13d24f2c57036582568dc650d6c3", - "sha256:809c9cef0402e3e48b5a1dddc390a8a6ff58b15362ea5714494073fa46c3d293", - "sha256:b4d1b735bf5b120813f4c89db8ac22d89162c558cbd7fdd298866125fe906219", - "sha256:bbffac64cfd01c6bcf90eb1bedc6c80501c4dae8aef4ad6d6dd49f8f05f6fc5a", - "sha256:bfcea4f189177b2d2ce4a34b03c4ac32c5b4c22e21f5b093d9d315e6e253cd81" + "sha256:028a1ec3c6197eadd11e7b46e8cc2f0720dc18ac6d7aabdb8e8c0d6c9704f000", + "sha256:503e4b20fa9d3342bcf58191bbc20a4a5ef79ca7df8972e6197cc14c5513e73d", + "sha256:863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3", + "sha256:954f782608bfef9ae9f78e660e065bd8ffcfaea780f9f2c8a133bb7cb9e826d7", + "sha256:b6e08f965a305cd84c2d07409bc16fbef4417d67b70c53b299116c5b895e3f45", + "sha256:bc96d437dfbb8865fc8828cf363450001cb04056bbdcdd6fc152c436c8a74c61", + "sha256:cf49178021075d47c61c03c0229ac0c60d5e2830f8cab19e2d88e579b18cdb76", + "sha256:d5350cb66690915d60f8b233180f1e49938756fb2d501c93c44f8fb5b970cc63", + "sha256:eba238cf1989dfff7d483c029acb0ac4fcbfc15de295d682901f0e2497e6781a" ], - "version": "==5.4.8" - }, - "psycopg2": { - "hashes": [ - "sha256:10e391687b171878181e71736d0effe3772314a339d9ae30995ec8171a0c834e", - "sha256:1283f9d45e458c2dcb15ba89367923563f90ef636fe78ee22df75183484a0237", - "sha256:1a9c32e4d140bea225f9821d993b2e53c913e717ea97b851246aa9b300095d8f", - "sha256:1be6f2438d2b71fec7b07c3c0949dd321b04349c382907ea76b36120edec8300", - "sha256:20ca6f29e118b8dd7133e8708b3fba2881e70a4e0841f874ed23985b7201a076", - "sha256:227c115b3c1f65d61385e51ac690b91b584640aefb45bffacd4bd33d02ed7221", - "sha256:27959abe64ca1fc6d8cd11a71a1f421d8287831a3262bd4cacd43bbf43cc3c82", - "sha256:2b2daf1fe30a58300542aea679fd87d1e1c2afd36e7644837b7954fa2dbacb92", - "sha256:36e51a51f295fdf67bcf05e7b1877011a6b39e6622b0013fe31c5025241873a3", - "sha256:3992b9b914f2eb77dc07e8045d2ca979e491612808bc5c7cd68f307469acf9f6", - "sha256:39a11de2335ad45ececed43ab851d36a4c52843d756471b940804f301792781e", - "sha256:3c2afe9ef0d1649005e3ccf93c1aaccd6f8ee379530e763d3b3b77f406b7c0ae", - "sha256:3fb18e0e52807fe3a300dc1b5421aa492d5e759550918f597d61863419482535", - "sha256:55eab94de96ee9702f23283e9c8b03cfdb0001e2b14d5d2e1bd5ff8114b96b9f", - "sha256:7e95c0ab7e7e6e452586f35d4d8966b1e924c8dd2c23977e3ea4968770ff1d26", - "sha256:7f47514dbddf604f196fcfe5da955537f04691bef8124aff5632316a78d992b7", - "sha256:8345370356bb4bddf93acbcfd0357163dd6b09471937adcfb38a2fbb49bdce53", - "sha256:8bc6ecb220c0b88d3742042013129c817c44459795c97e9ce1bca70a3f37a53b", - "sha256:8df623f248be15d1725faf5f333791678775047f12f17a90d29b5d22573f5cdc", - "sha256:9645f1305e4268cc0fc88c823cd6c91de27c003e183c233a6a230e5e963039ee", - "sha256:a68719ed5be8373dd72c9e45d55f7a202285e05a2e392eaa8872a67ea47d7d20", - "sha256:aca0edf062ec09e954fdf0cc93d3a872362701210983a1442549e703aedec25d", - "sha256:b0dd2114d93d8f424bb8ae76e0dc540f104b70ca9163172c05e7700b1459d4c9", - "sha256:b2c09359d6802279efb9efb3f91a9c94567151baee95175f9b637ea628f35244", - "sha256:ca7bc37b1efb7cc25271bf10f398462ed975d95259af1406d38fcb268466e34f", - "sha256:e64235d9013ebf6319cb9654e08f5066112c34d8c4cc41186254ab9c3d6d5b9b", - "sha256:ec9be679c0065667503851141c31fa699e1cc69ded3ba8e5d3673dd5a6eb1370", - "sha256:eca00d0f91fcb44d88b12f1fd16ad138e38fa07debb79587e2b7ff1fe80d72b9", - "sha256:f256e807b8b2b45b6af60d7f2bb5194aab2f4acc861241c4d8ef942a55f5030d", - "sha256:fce7612a3bd6a7ba95799f88285653bf130bd7ca066b52674d5f850108b2aec0" - ], - "index": "pypi", - "version": "==2.7.6.1" + "version": "==5.6.3" }, "psycopg2-binary": { "hashes": [ - "sha256:036bcb198a7cc4ce0fe43344f8c2c9a8155aefa411633f426c8c6ed58a6c0426", - "sha256:1d770fcc02cdf628aebac7404d56b28a7e9ebec8cfc0e63260bd54d6edfa16d4", - "sha256:1fdc6f369dcf229de6c873522d54336af598b9470ccd5300e2f58ee506f5ca13", - "sha256:21f9ddc0ff6e07f7d7b6b484eb9da2c03bc9931dd13e36796b111d631f7135a3", - "sha256:247873cda726f7956f745a3e03158b00de79c4abea8776dc2f611d5ba368d72d", - "sha256:3aa31c42f29f1da6f4fd41433ad15052d5ff045f2214002e027a321f79d64e2c", - "sha256:475f694f87dbc619010b26de7d0fc575a4accf503f2200885cc21f526bffe2ad", - "sha256:4b5e332a24bf6e2fda1f51ca2a57ae1083352293a08eeea1fa1112dc7dd542d1", - "sha256:570d521660574aca40be7b4d532dfb6f156aad7b16b5ed62d1534f64f1ef72d8", - "sha256:59072de7def0690dd13112d2bdb453e20570a97297070f876fbbb7cbc1c26b05", - "sha256:5f0b658989e918ef187f8a08db0420528126f2c7da182a7b9f8bf7f85144d4e4", - "sha256:649199c84a966917d86cdc2046e03d536763576c0b2a756059ae0b3a9656bc20", - "sha256:6645fc9b4705ae8fbf1ef7674f416f89ae1559deec810f6dd15197dfa52893da", - "sha256:6872dd54d4e398d781efe8fe2e2d7eafe4450d61b5c4898aced7610109a6df75", - "sha256:6ce34fbc251fc0d691c8d131250ba6f42fd2b28ef28558d528ba8c558cb28804", - "sha256:73920d167a0a4d1006f5f3b9a3efce6f0e5e883a99599d38206d43f27697df00", - "sha256:8a671732b87ae423e34b51139628123bc0306c2cb85c226e71b28d3d57d7e42a", - "sha256:8d517e8fda2efebca27c2018e14c90ed7dc3f04d7098b3da2912e62a1a5585fe", - "sha256:9475a008eb7279e20d400c76471843c321b46acacc7ee3de0b47233a1e3fa2cf", - "sha256:96947b8cd7b3148fb0e6549fcb31258a736595d6f2a599f8cd450e9a80a14781", - "sha256:abf229f24daa93f67ac53e2e17c8798a71a01711eb9fcdd029abba8637164338", - "sha256:b1ab012f276df584beb74f81acb63905762c25803ece647016613c3d6ad4e432", - "sha256:b22b33f6f0071fe57cb4e9158f353c88d41e739a3ec0d76f7b704539e7076427", - "sha256:b3b2d53274858e50ad2ffdd6d97ce1d014e1e530f82ec8b307edd5d4c921badf", - "sha256:bab26a729befc7b9fab9ded1bba9c51b785188b79f8a2796ba03e7e734269e2e", - "sha256:daa1a593629aa49f506eddc9d23dc7f89b35693b90e1fbcd4480182d1203ea90", - "sha256:dd111280ce40e89fd17b19c1269fd1b74a30fce9d44a550840e86edb33924eb8", - "sha256:e0b86084f1e2e78c451994410de756deba206884d6bed68d5a3d7f39ff5fea1d", - "sha256:eb86520753560a7e89639500e2a254bb6f683342af598088cb72c73edcad21e6", - "sha256:ff18c5c40a38d41811c23e2480615425c97ea81fd7e9118b8b899c512d97c737" + "sha256:080c72714784989474f97be9ab0ddf7b2ad2984527e77f2909fcd04d4df53809", + "sha256:110457be80b63ff4915febb06faa7be002b93a76e5ba19bf3f27636a2ef58598", + "sha256:171352a03b22fc099f15103959b52ee77d9a27e028895d7e5fde127aa8e3bac5", + "sha256:19d013e7b0817087517a4b3cab39c084d78898369e5c46258aab7be4f233d6a1", + "sha256:249b6b21ae4eb0f7b8423b330aa80fab5f821b9ffc3f7561a5e2fd6bb142cf5d", + "sha256:2ac0731d2d84b05c7bb39e85b7e123c3a0acd4cda631d8d542802c88deb9e87e", + "sha256:2b6d561193f0dc3f50acfb22dd52ea8c8dfbc64bcafe3938b5f209cc17cb6f00", + "sha256:2bd23e242e954214944481124755cbefe7c2cf563b1a54cd8d196d502f2578bf", + "sha256:3e1239242ca60b3725e65ab2f13765fc199b03af9eaf1b5572f0e97bdcee5b43", + "sha256:3eb70bb697abbe86b1d2b1316370c02ba320bfd1e9e35cf3b9566a855ea8e4e5", + "sha256:51a2fc7e94b98bd1bb5d4570936f24fc2b0541b63eccadf8fdea266db8ad2f70", + "sha256:52f1bdafdc764b7447e393ed39bb263eccb12bfda25a4ac06d82e3a9056251f6", + "sha256:5b3581319a3951f1e866f4f6c5e42023db0fae0284273b82e97dfd32c51985cd", + "sha256:63c1b66e3b2a3a336288e4bcec499e0dc310cd1dceaed1c46fa7419764c68877", + "sha256:8123a99f24ecee469e5c1339427bcdb2a33920a18bb5c0d58b7c13f3b0298ba3", + "sha256:85e699fcabe7f817c0f0a412d4e7c6627e00c412b418da7666ff353f38e30f67", + "sha256:8dbff4557bbef963697583366400822387cccf794ccb001f1f2307ed21854c68", + "sha256:908d21d08d6b81f1b7e056bbf40b2f77f8c499ab29e64ec5113052819ef1c89b", + "sha256:af39d0237b17d0a5a5f638e9dffb34013ce2b1d41441fd30283e42b22d16858a", + "sha256:af51bb9f055a3f4af0187149a8f60c9d516cf7d5565b3dac53358796a8fb2a5b", + "sha256:b2ecac57eb49e461e86c092761e6b8e1fd9654dbaaddf71a076dcc869f7014e2", + "sha256:cd37cc170678a4609becb26b53a2bc1edea65177be70c48dd7b39a1149cabd6e", + "sha256:d17e3054b17e1a6cb8c1140f76310f6ede811e75b7a9d461922d2c72973f583e", + "sha256:d305313c5a9695f40c46294d4315ed3a07c7d2b55e48a9010dad7db7a66c8b7f", + "sha256:dd0ef0eb1f7dd18a3f4187226e226a7284bda6af5671937a221766e6ef1ee88f", + "sha256:e1adff53b56db9905db48a972fb89370ad5736e0450b96f91bcf99cadd96cfd7", + "sha256:f0d43828003c82dbc9269de87aa449e9896077a71954fbbb10a614c017e65737", + "sha256:f78e8b487de4d92640105c1389e5b90be3496b1d75c90a666edd8737cc2dbab7" ], "index": "pypi", - "version": "==2.7.6.1" + "version": "==2.8.3" }, "puput": { "hashes": [ - "sha256:281eb6987a7abe89fa87f1cc70c3f6dc92bb2867f573f8dc80767c0214b29ef6" + "sha256:1128a61886183a86c0978050cf97a006a7d09f97d19ff9ee20fc163cba22d8ae", + "sha256:2dbe4999769ea812b14fb7db8cd5783a4b3d0e2d7e1a0a6a1711f86a7ecda3fc" ], "index": "pypi", - "version": "==0.9.2" + "version": "==1.0.4" + }, + "python-dotenv": { + "hashes": [ + "sha256:debd928b49dbc2bf68040566f55cdb3252458036464806f4094487244e2a4093", + "sha256:f157d71d5fec9d4bd5f51c82746b6344dffa680ee85217c123f4a0c8117c4544" + ], + "index": "pypi", + "version": "==0.10.3" }, "pytz": { "hashes": [ - "sha256:31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca", - "sha256:8e0f8568c118d3077b46be7d654cc8167fa916092e28320cde048e54bfc9f1e6" + "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", + "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141" ], - "version": "==2018.7" + "version": "==2019.1" }, "pyyaml": { "hashes": [ - "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b", - "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf", - "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a", - "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3", - "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1", - "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1", - "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613", - "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04", - "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f", - "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537", - "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531" + "sha256:57acc1d8533cbe51f6662a55434f0dbecfa2b9eaf115bede8f6fd00115a0c0d3", + "sha256:588c94b3d16b76cfed8e0be54932e5729cc185caffaa5a451e7ad2f7ed8b4043", + "sha256:68c8dd247f29f9a0d09375c9c6b8fdc64b60810ebf07ba4cdd64ceee3a58c7b7", + "sha256:70d9818f1c9cd5c48bb87804f2efc8692f1023dac7f1a1a5c61d454043c1d265", + "sha256:86a93cccd50f8c125286e637328ff4eef108400dd7089b46a7be3445eecfa391", + "sha256:a0f329125a926876f647c9fa0ef32801587a12328b4a3c741270464e3e4fa778", + "sha256:a3c252ab0fa1bb0d5a3f6449a4826732f3eb6c0270925548cac342bc9b22c225", + "sha256:b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955", + "sha256:cd0618c5ba5bda5f4039b9398bb7fb6a317bb8298218c3de25c47c4740e4b95e", + "sha256:ceacb9e5f8474dcf45b940578591c7f3d960e82f926c707788a570b51ba59190", + "sha256:fe6a88094b64132c4bb3b631412e90032e8cfe9745a58370462240b8cb7553cd" ], - "version": "==3.13" + "version": "==5.1.1" }, "rcssmin": { "hashes": [ @@ -390,49 +366,61 @@ }, "redis": { "hashes": [ - "sha256:8a1900a9f2a0a44ecf6e8b5eb3e967a9909dfed219ad66df094f27f7d6f330fb", - "sha256:a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f" + "sha256:6946b5dca72e86103edc8033019cc3814c031232d339d5f4533b02ea85685175", + "sha256:8ca418d2ddca1b1a850afa1680a7d2fd1f3322739271de4b704e0d4668449273" ], - "version": "==2.10.6" + "version": "==3.2.1" }, "requests": { "hashes": [ - "sha256:65b3a120e4329e33c9889db89c80976c5272f56ea92d3e74da8a463992e3ff54", - "sha256:ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263" + "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", + "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" ], - "version": "==2.20.1" + "version": "==2.22.0" }, "rjsmin": { "hashes": [ - "sha256:dd9591aa73500b08b7db24367f8d32c6470021f39d5ab4e50c7c02e4401386f1" + "sha256:0ab825839125eaca57cc59581d72e596e58a7a56fbc0839996b7528f0343a0a8", + "sha256:211c2fe8298951663bbc02acdffbf714f6793df54bfc50e1c6c9e71b3f2559a3", + "sha256:466fe70cc5647c7c51b3260c7e2e323a98b2b173564247f9c89e977720a0645f", + "sha256:585e75a84d9199b68056fd4a083d9a61e2a92dfd10ff6d4ce5bdb04bc3bdbfaf", + "sha256:6044ca86e917cd5bb2f95e6679a4192cef812122f28ee08c677513de019629b3", + "sha256:714329db774a90947e0e2086cdddb80d5e8c4ac1c70c9f92436378dedb8ae345", + "sha256:799890bd07a048892d8d3deb9042dbc20b7f5d0eb7da91e9483c561033b23ce2", + "sha256:975b69754d6a76be47c0bead12367a1ca9220d08e5393f80bab0230d4625d1f4", + "sha256:b15dc75c71f65d9493a8c7fa233fdcec823e3f1b88ad84a843ffef49b338ac32", + "sha256:dd0f4819df4243ffe4c964995794c79ca43943b5b756de84be92b445a652fb86", + "sha256:e3908b21ebb584ce74a6ac233bdb5f29485752c9d3be5e50c5484ed74169232c", + "sha256:e487a7783ac4339e79ec610b98228eb9ac72178973e3dee16eba0e3feef25924", + "sha256:ecd29f1b3e66a4c0753105baec262b331bcbceefc22fbe6f7e8bcd2067bcb4d7" ], - "version": "==1.0.12" + "version": "==1.1.0" }, "schema": { "hashes": [ - "sha256:d994b0dc4966000037b26898df638e3e2a694cc73636cb2050e652614a350687", - "sha256:fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74" + "sha256:44add3ef9016c85ac4b0291b45286a657d0df309b31528ca8d0a9c6d0aa68186", + "sha256:5b0e0f47923164190513db2e91b9ab1941162b2dc400cc9b1803c2abab579e62" ], - "version": "==0.6.8" + "version": "==0.7.0" }, "six": { "hashes": [ - "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9", - "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", + "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" ], - "version": "==1.11.0" + "version": "==1.12.0" }, "sqlalchemy": { "hashes": [ - "sha256:9de7c7dabcf06319becdb7e15099c44e5e34ba7062f9ba10bc00e562f5db3d04" + "sha256:c30925d60af95443458ebd7525daf791f55762b106049ae71e18f8dd58084c2f" ], - "version": "==1.2.14" + "version": "==1.3.5" }, "sqlalchemy-utils": { "hashes": [ - "sha256:45ab41c90bfb8dd676e83179be3088b3f2d64b613e3b590187163dd941c22d4c" + "sha256:0ebd4d176a5786233db9f2e92040476fcff8b1b426fdbbb7ee4f478280ee9166" ], - "version": "==0.33.6" + "version": "==0.34.0" }, "stellar": { "hashes": [ @@ -443,25 +431,25 @@ }, "unidecode": { "hashes": [ - "sha256:72f49d3729f3d8f5799f710b97c1451c5163102e76d64d20e170aedbbd923582", - "sha256:8c33dd588e0c9bc22a76eaa0c715a5434851f726131bd44a6c26471746efabf5" + "sha256:1d7a042116536098d05d599ef2b8616759f02985c85b4fef50c78a5aaf10822a", + "sha256:2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8" ], - "version": "==1.0.22" + "version": "==1.1.1" }, "urllib3": { "hashes": [ - "sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39", - "sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22" + "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", + "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" ], - "version": "==1.24.1" + "version": "==1.25.3" }, "wagtail": { "hashes": [ - "sha256:01f7b5b0206e534cee1cea62c1ce36caa7ca9e2cd909aa67a7237f83ceb1eb19", - "sha256:a4010ab2a5bd8b48b8093e74bed9671812e92cb68832266452e6ad2e2012383d" + "sha256:6213d91d0624d62723fdd2c8c88c5b2b96a6e5a301b742b305c40a674286172c", + "sha256:aa4371d3e6feba01bbb1c48a6ed2569c4aa6b3f715971827c6ca1a68afda0f60" ], "index": "pypi", - "version": "==1.13.4" + "version": "==2.5.1" }, "webencodings": { "hashes": [ @@ -472,19 +460,193 @@ }, "whitenoise": { "hashes": [ - "sha256:133a92ff0ab8fb9509f77d4f7d0de493eca19c6fea973f4195d4184f888f2e02", - "sha256:32b57d193478908a48acb66bf73e7a3c18679263e3e64bfebcfac1144a430039" + "sha256:118ab3e5f815d380171b100b05b76de2a07612f422368a201a9ffdeefb2251c1", + "sha256:42133ddd5229eeb6a0c9899496bdbe56c292394bf8666da77deeb27454c0456a" ], "index": "pypi", - "version": "==4.1" + "version": "==4.1.2" }, "willow": { "hashes": [ - "sha256:0a2e1665a24cded9d74b3d2254fb17e63bdde922d231610cdf0ced880a241845", - "sha256:dba768a03591973254b5a0242d11ebae00f1cb971e6f3a2ee592ff8e230b6090" + "sha256:76a8874304356b7d86923405f5ca1df125c3540fb55b32747e7a33ba59bc1744", + "sha256:818ee11803c90a0a6d49c94b0453d6266be1ef83ae00de72731c45fae4d3e78c" ], - "version": "==1.0" + "version": "==1.1" } }, - "develop": {} + "develop": { + "atomicwrites": { + "hashes": [ + "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", + "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6" + ], + "version": "==1.3.0" + }, + "attrs": { + "hashes": [ + "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79", + "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399" + ], + "version": "==19.1.0" + }, + "django": { + "hashes": [ + "sha256:5052def4ff0a84bdf669827fdbd7b7cc1ac058f10232be6b21f37c6824f578da", + "sha256:bb72b5f8b53f8156280eaea520b548ac128a53f80cebc856c5e0fb555d44d529" + ], + "index": "pypi", + "version": "==2.1.9" + }, + "django-debug-toolbar": { + "hashes": [ + "sha256:17c53cd6bf4e7d69902aedf9a1d26c5d3b7369b54c5718744704f27b5a72f35d", + "sha256:9a23ada2e43cd989195db3c18710b5d7451134a0d48127ab64c1d2ad81700342" + ], + "index": "pypi", + "version": "==2.0" + }, + "filelock": { + "hashes": [ + "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59", + "sha256:929b7d63ec5b7d6b71b0fa5ac14e030b3f70b75747cef1b10da9b879fef15836" + ], + "version": "==3.0.12" + }, + "importlib-metadata": { + "hashes": [ + "sha256:6dfd58dfe281e8d240937776065dd3624ad5469c835248219bd16cf2e12dbeb7", + "sha256:cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db" + ], + "version": "==0.18" + }, + "more-itertools": { + "hashes": [ + "sha256:2112d2ca570bb7c3e53ea1a35cd5df42bb0fd10c45f0fb97178679c3c03d64c7", + "sha256:c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a" + ], + "markers": "python_version > '2.7'", + "version": "==7.0.0" + }, + "packaging": { + "hashes": [ + "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af", + "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3" + ], + "version": "==19.0" + }, + "pluggy": { + "hashes": [ + "sha256:0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc", + "sha256:b9817417e95936bf75d85d3f8767f7df6cdde751fc40aed3bb3074cbcb77757c" + ], + "version": "==0.12.0" + }, + "py": { + "hashes": [ + "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", + "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53" + ], + "version": "==1.8.0" + }, + "pyparsing": { + "hashes": [ + "sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a", + "sha256:9b6323ef4ab914af344ba97510e966d64ba91055d6b9afa6b30799340e89cc03" + ], + "version": "==2.4.0" + }, + "pytest": { + "hashes": [ + "sha256:4a784f1d4f2ef198fe9b7aef793e9fa1a3b2f84e822d9b3a64a181293a572d45", + "sha256:926855726d8ae8371803f7b2e6ec0a69953d9c6311fa7c3b6c1b929ff92d27da" + ], + "index": "pypi", + "version": "==4.6.3" + }, + "pytest-splinter": { + "hashes": [ + "sha256:8725c2305334aa2eaefcbf158b57abe7d49e7e1f21e45df96900f30c02afd55a" + ], + "index": "pypi", + "version": "==2.0.1" + }, + "pytz": { + "hashes": [ + "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", + "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141" + ], + "version": "==2019.1" + }, + "selenium": { + "hashes": [ + "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c", + "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d" + ], + "version": "==3.141.0" + }, + "six": { + "hashes": [ + "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", + "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" + ], + "version": "==1.12.0" + }, + "splinter": { + "hashes": [ + "sha256:2d9f370536e6c1607824f5538e0bff9808bc02f086b07622b3790424dd3daff4", + "sha256:5d9913bddb6030979c18d6801578813b02bbf8a03b43fb057f093228ed876d62" + ], + "version": "==0.10.0" + }, + "sqlparse": { + "hashes": [ + "sha256:40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177", + "sha256:7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873" + ], + "version": "==0.3.0" + }, + "toml": { + "hashes": [ + "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", + "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" + ], + "version": "==0.10.0" + }, + "tox": { + "hashes": [ + "sha256:2316d3f56339173c6d45e600dabcfac6fbed7fff82a7d35f4107152e9191a766", + "sha256:66d9ccf81b383ab1edc1619410223eec0e046178304728797a850302092ed975" + ], + "index": "pypi", + "version": "==3.13.0" + }, + "urllib3": { + "hashes": [ + "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", + "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" + ], + "version": "==1.25.3" + }, + "virtualenv": { + "hashes": [ + "sha256:b7335cddd9260a3dd214b73a2521ffc09647bde3e9457fcca31dc3be3999d04a", + "sha256:d28ca64c0f3f125f59cabf13e0a150e1c68e5eea60983cc4395d88c584495783" + ], + "version": "==16.6.1" + }, + "wcwidth": { + "hashes": [ + "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e", + "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c" + ], + "version": "==0.1.7" + }, + "zipp": { + "hashes": [ + "sha256:8c1019c6aad13642199fbe458275ad6a84907634cc9f0989877ccc4a2840139d", + "sha256:ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3" + ], + "version": "==0.5.1" + } + } } diff --git a/README.md b/README.md index df87361..05ebb81 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This project is open source under the [MIT License](LICENSE.md). ## Development environment -The easiest way to set up your machine would be to use [Vagrant](https://vagrantup.com), then in the project folder in the terminal type: `vagrant up`. Then when it is ready, follow instructions for *publichealth/static/org/archive-message.htmlDatabase setup*. +The easiest way to set up your machine would be to use [Vagrant](https://vagrantup.com), then in the project folder in the terminal type: `vagrant up`. Then when it is ready, follow instructions for *publichealth/static/org/archive-message.html#Database setup*. To set up a full development environment, follow all these instructions. diff --git a/feedler/__init__.py b/feedler/__init__.py index a522364..f332ff4 100644 --- a/feedler/__init__.py +++ b/feedler/__init__.py @@ -6,10 +6,10 @@ __version__ = '0.1' FEEDLER_APPS = ( # Wagtail apps - 'wagtail.wagtailcore', - 'wagtail.wagtailadmin', + 'wagtail.core', + 'wagtail.admin', 'wagtail.contrib.modeladmin', - 'wagtail.contrib.wagtailroutablepage', + 'wagtail.contrib.routable_page', 'wagtail.api.v2', # Third-party apps diff --git a/feedler/admin.py b/feedler/admin.py index 21cb5a2..8c705ef 100644 --- a/feedler/admin.py +++ b/feedler/admin.py @@ -4,7 +4,7 @@ from django.db import models from django.contrib.auth.decorators import login_required from django.utils.decorators import method_decorator from django.conf.urls import url -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.functional import cached_property from django.utils.translation import ugettext as _ from django.shortcuts import redirect @@ -12,7 +12,7 @@ from django.shortcuts import redirect from wagtail.contrib.modeladmin.helpers import AdminURLHelper, ButtonHelper from wagtail.contrib.modeladmin.options import ModelAdmin from wagtail.contrib.modeladmin.views import IndexView -from wagtail.wagtailadmin import messages +from wagtail.admin import messages from feedler.models import Entry from feedler.refresh import refresh_streams diff --git a/feedler/endpoints.py b/feedler/endpoints.py index 3bafe75..7c48447 100644 --- a/feedler/endpoints.py +++ b/feedler/endpoints.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -from wagtail.contrib.wagtailapi.endpoints import BaseAPIEndpoint -from wagtail.contrib.wagtailapi.serializers import BaseSerializer -from wagtail.contrib.wagtailapi.filters import FieldsFilter, OrderingFilter, SearchFilter -from wagtail.contrib.wagtailapi.pagination import WagtailPagination +from wagtail.api.v2.endpoints import BaseAPIEndpoint +from wagtail.api.v2.serializers import BaseSerializer +from wagtail.api.v2.filters import FieldsFilter, OrderingFilter, SearchFilter +from wagtail.api.v2.pagination import WagtailPagination from .models import Entry diff --git a/feedler/migrations/0002_feedpage.py b/feedler/migrations/0002_feedpage.py index 63263d4..9dabb91 100644 --- a/feedler/migrations/0002_feedpage.py +++ b/feedler/migrations/0002_feedpage.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals from django.db import migrations, models import django.db.models.deletion -import wagtail.wagtailcore.fields +import wagtail.core.fields class Migration(migrations.Migration): @@ -18,7 +18,7 @@ class Migration(migrations.Migration): name='FeedPage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), - ('intro', wagtail.wagtailcore.fields.RichTextField(blank=True, default='')), + ('intro', wagtail.core.fields.RichTextField(blank=True, default='')), ('stream', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='feedler.Stream', verbose_name='Filter to stream (optional)')), ], options={ diff --git a/feedler/models/models.py b/feedler/models/models.py index 84e3417..7eb7569 100644 --- a/feedler/models/models.py +++ b/feedler/models/models.py @@ -4,9 +4,9 @@ from django.db import models from django.utils import translation from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from wagtail.wagtailcore.models import Page, Orderable -from wagtail.wagtailadmin.edit_handlers import FieldPanel -from wagtail.wagtailcore.fields import RichTextField +from wagtail.core.models import Page, Orderable +from wagtail.admin.edit_handlers import FieldPanel +from wagtail.core.fields import RichTextField class Stream(models.Model): title = models.CharField(max_length=255) diff --git a/manage.py b/manage.py index e05b9b1..6029de8 100755 --- a/manage.py +++ b/manage.py @@ -1,8 +1,11 @@ #!/usr/bin/env python import os import sys +from dotenv import load_dotenv if __name__ == "__main__": + load_dotenv() + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "publichealth.settings") from django.core.management import execute_from_command_line diff --git a/publichealth/home/migrations/0001_initial.py b/publichealth/home/migrations/0001_initial.py index 77e0625..54ef509 100644 --- a/publichealth/home/migrations/0001_initial.py +++ b/publichealth/home/migrations/0001_initial.py @@ -14,7 +14,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='HomePage', fields=[ - ('page_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='wagtailcore.Page')), + ('page_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, on_delete=models.deletion.CASCADE, serialize=False, to='wagtailcore.Page')), ], options={ 'abstract': False, diff --git a/publichealth/home/migrations/0003_auto_20170223_0959.py b/publichealth/home/migrations/0003_auto_20170223_0959.py index 0dc65ed..486ad8c 100644 --- a/publichealth/home/migrations/0003_auto_20170223_0959.py +++ b/publichealth/home/migrations/0003_auto_20170223_0959.py @@ -5,9 +5,9 @@ from __future__ import unicode_literals from django.db import migrations, models import django.db.models.deletion import modelcluster.fields -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -36,10 +36,10 @@ class Migration(migrations.Migration): ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('title_fr', models.CharField(default='', max_length=255)), ('date', models.DateField(verbose_name='Date')), - ('intro_de', wagtail.wagtailcore.fields.RichTextField(default='')), - ('intro_fr', wagtail.wagtailcore.fields.RichTextField(default='')), - ('body_de', wagtail.wagtailcore.fields.StreamField([('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('image', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title'))], blank=True, null=True)), - ('body_fr', wagtail.wagtailcore.fields.StreamField([('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('image', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title'))], blank=True, null=True)), + ('intro_de', wagtail.core.fields.RichTextField(default='')), + ('intro_fr', wagtail.core.fields.RichTextField(default='')), + ('body_de', wagtail.core.fields.StreamField([('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title'))], blank=True, null=True)), + ('body_fr', wagtail.core.fields.StreamField([('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title'))], blank=True, null=True)), ('feed_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ], options={ @@ -64,31 +64,31 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='body_de', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), migrations.AddField( model_name='homepage', name='body_fr', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), migrations.AddField( model_name='homepage', name='infos_de', - field=wagtail.wagtailcore.fields.StreamField([('info', wagtail.wagtailcore.blocks.StructBlock([(b'title', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'photo', wagtail.wagtailimages.blocks.ImageChooserBlock()), (b'summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), (b'action', wagtail.wagtailcore.blocks.CharBlock()), (b'url', wagtail.wagtailcore.blocks.URLBlock())]))], blank=True, null=True), + field=wagtail.core.fields.StreamField([('info', wagtail.core.blocks.StructBlock([(b'title', wagtail.core.blocks.CharBlock(required=True)), (b'photo', wagtail.images.blocks.ImageChooserBlock()), (b'summary', wagtail.core.blocks.RichTextBlock(required=True)), (b'action', wagtail.core.blocks.CharBlock()), (b'url', wagtail.core.blocks.URLBlock())]))], blank=True, null=True), ), migrations.AddField( model_name='homepage', name='infos_fr', - field=wagtail.wagtailcore.fields.StreamField([('info', wagtail.wagtailcore.blocks.StructBlock([(b'title', wagtail.wagtailcore.blocks.CharBlock(required=True)), (b'photo', wagtail.wagtailimages.blocks.ImageChooserBlock()), (b'summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), (b'action', wagtail.wagtailcore.blocks.CharBlock()), (b'url', wagtail.wagtailcore.blocks.URLBlock())]))], blank=True, null=True), + field=wagtail.core.fields.StreamField([('info', wagtail.core.blocks.StructBlock([(b'title', wagtail.core.blocks.CharBlock(required=True)), (b'photo', wagtail.images.blocks.ImageChooserBlock()), (b'summary', wagtail.core.blocks.RichTextBlock(required=True)), (b'action', wagtail.core.blocks.CharBlock()), (b'url', wagtail.core.blocks.URLBlock())]))], blank=True, null=True), ), migrations.AddField( model_name='homepage', name='intro_de', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), migrations.AddField( model_name='homepage', name='intro_fr', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), ] diff --git a/publichealth/home/migrations/0004_auto_20170308_2020.py b/publichealth/home/migrations/0004_auto_20170308_2020.py index e20463b..957b629 100644 --- a/publichealth/home/migrations/0004_auto_20170308_2020.py +++ b/publichealth/home/migrations/0004_auto_20170308_2020.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.wagtailcore.fields +import wagtail.core.fields class Migration(migrations.Migration): @@ -20,11 +20,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='articleindexpage', name='intro_de', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), migrations.AddField( model_name='articleindexpage', name='intro_fr', - field=wagtail.wagtailcore.fields.RichTextField(default=''), + field=wagtail.core.fields.RichTextField(default=''), ), ] diff --git a/publichealth/home/migrations/0005_auto_20170308_2023.py b/publichealth/home/migrations/0005_auto_20170308_2023.py index 13b326c..a41acbb 100644 --- a/publichealth/home/migrations/0005_auto_20170308_2023.py +++ b/publichealth/home/migrations/0005_auto_20170308_2023.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.wagtailcore.fields +import wagtail.core.fields class Migration(migrations.Migration): @@ -16,21 +16,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='articleindexpage', name='intro_de', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='articleindexpage', name='intro_fr', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='articlepage', name='intro_de', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='articlepage', name='intro_fr', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), ] diff --git a/publichealth/home/migrations/0006_auto_20170308_2025.py b/publichealth/home/migrations/0006_auto_20170308_2025.py index 40c356f..1c35ad0 100644 --- a/publichealth/home/migrations/0006_auto_20170308_2025.py +++ b/publichealth/home/migrations/0006_auto_20170308_2025.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.wagtailcore.fields +import wagtail.core.fields class Migration(migrations.Migration): @@ -16,11 +16,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='homepage', name='body_fr', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), ] diff --git a/publichealth/home/migrations/0009_contact_contactform_contactformfield.py b/publichealth/home/migrations/0009_contact_contactform_contactformfield.py index a473133..774347c 100644 --- a/publichealth/home/migrations/0009_contact_contactform_contactformfield.py +++ b/publichealth/home/migrations/0009_contact_contactform_contactformfield.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals from django.db import migrations, models import django.db.models.deletion import modelcluster.fields -import wagtail.wagtailcore.fields +import wagtail.core.fields class Migration(migrations.Migration): @@ -35,10 +35,10 @@ class Migration(migrations.Migration): ('from_address', models.CharField(blank=True, max_length=255, verbose_name='from address')), ('subject', models.CharField(blank=True, max_length=255, verbose_name='subject')), ('title_fr', models.CharField(default=b'', max_length=255)), - ('intro_de', wagtail.wagtailcore.fields.RichTextField(blank=True, default=b'')), - ('intro_fr', wagtail.wagtailcore.fields.RichTextField(blank=True, default=b'')), - ('thanks_de', wagtail.wagtailcore.fields.RichTextField(blank=True, default=b'')), - ('thanks_fr', wagtail.wagtailcore.fields.RichTextField(blank=True, default=b'')), + ('intro_de', wagtail.core.fields.RichTextField(blank=True, default=b'')), + ('intro_fr', wagtail.core.fields.RichTextField(blank=True, default=b'')), + ('thanks_de', wagtail.core.fields.RichTextField(blank=True, default=b'')), + ('thanks_fr', wagtail.core.fields.RichTextField(blank=True, default=b'')), ], options={ 'verbose_name': 'Formular', diff --git a/publichealth/home/migrations/0010_auto_20170410_2307.py b/publichealth/home/migrations/0010_auto_20170410_2307.py index f980985..1a8b8ce 100644 --- a/publichealth/home/migrations/0010_auto_20170410_2307.py +++ b/publichealth/home/migrations/0010_auto_20170410_2307.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals from django.db import migrations, models -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -23,22 +23,22 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='contactform', name='intro_de', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='contactform', name='intro_fr', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='contactform', name='thanks_de', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='contactform', name='thanks_fr', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AlterField( model_name='contactform', @@ -48,11 +48,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='infos_de', - field=wagtail.wagtailcore.fields.StreamField((('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock()), ('url', wagtail.wagtailcore.blocks.URLBlock())))),), blank=True, null=True), + field=wagtail.core.fields.StreamField((('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock()), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.URLBlock())))),), blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='infos_fr', - field=wagtail.wagtailcore.fields.StreamField((('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock()), ('url', wagtail.wagtailcore.blocks.URLBlock())))),), blank=True, null=True), + field=wagtail.core.fields.StreamField((('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock()), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.URLBlock())))),), blank=True, null=True), ), ] diff --git a/publichealth/home/migrations/0012_auto_20170419_1749.py b/publichealth/home/migrations/0012_auto_20170419_1749.py index 5bf4d95..bc807f0 100644 --- a/publichealth/home/migrations/0012_auto_20170419_1749.py +++ b/publichealth/home/migrations/0012_auto_20170419_1749.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -18,21 +18,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='articlepage', name='body_de', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('image', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False)))))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False)))))), blank=True, null=True), ), migrations.AlterField( model_name='articlepage', name='body_fr', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('image', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False)))))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False)))))), blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='infos_de', - field=wagtail.wagtailcore.fields.StreamField((('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))))),), blank=True, null=True), + field=wagtail.core.fields.StreamField((('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))))),), blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='infos_fr', - field=wagtail.wagtailcore.fields.StreamField((('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))))),), blank=True, null=True), + field=wagtail.core.fields.StreamField((('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))))),), blank=True, null=True), ), ] diff --git a/publichealth/home/migrations/0019_auto_20170908_1505.py b/publichealth/home/migrations/0019_auto_20170908_1505.py index 58ef971..d42430c 100644 --- a/publichealth/home/migrations/0019_auto_20170908_1505.py +++ b/publichealth/home/migrations/0019_auto_20170908_1505.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals from django.db import migrations, models -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -22,17 +22,17 @@ class Migration(migrations.Migration): migrations.AddField( model_name='articlepage', name='gallery', - field=wagtail.wagtailcore.fields.StreamField((('image', wagtail.wagtailcore.blocks.ListBlock(wagtail.wagtailcore.blocks.StructBlock((('image', wagtail.wagtailimages.blocks.ImageChooserBlock()), ('caption', wagtail.wagtailcore.blocks.TextBlock(required=False)))), icon='image')),), blank=True), + field=wagtail.core.fields.StreamField((('image', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock((('image', wagtail.images.blocks.ImageChooserBlock()), ('caption', wagtail.core.blocks.TextBlock(required=False)))), icon='image')),), blank=True), ), migrations.AlterField( model_name='articlepage', name='body_de', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))))), ('placer', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='user'))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))))), ('placer', wagtail.core.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='user'))), blank=True, null=True), ), migrations.AlterField( model_name='articlepage', name='body_fr', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))))), ('placer', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='user'))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))))), ('placer', wagtail.core.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='user'))), blank=True, null=True), ), migrations.AlterField( model_name='contactformfield', diff --git a/publichealth/home/migrations/0020_auto_20170920_1204.py b/publichealth/home/migrations/0020_auto_20170920_1204.py index 86bf257..4c3c48a 100644 --- a/publichealth/home/migrations/0020_auto_20170920_1204.py +++ b/publichealth/home/migrations/0020_auto_20170920_1204.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -18,11 +18,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='articlepage', name='body_de', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.core.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), ), migrations.AlterField( model_name='articlepage', name='body_fr', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.core.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), ), ] diff --git a/publichealth/home/migrations/0022_auto_20180525_1520.py b/publichealth/home/migrations/0022_auto_20180525_1520.py index 9e8cf65..e913ecb 100644 --- a/publichealth/home/migrations/0022_auto_20180525_1520.py +++ b/publichealth/home/migrations/0022_auto_20180525_1520.py @@ -3,9 +3,9 @@ from __future__ import unicode_literals from django.db import migrations, models -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks class Migration(migrations.Migration): @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='articleindexpage', name='intro_en', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AddField( model_name='articleindexpage', @@ -28,12 +28,12 @@ class Migration(migrations.Migration): migrations.AddField( model_name='articlepage', name='body_en', - field=wagtail.wagtailcore.fields.StreamField((('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('section', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.wagtailcore.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), + field=wagtail.core.fields.StreamField((('paragraph', wagtail.core.blocks.RichTextBlock()), ('section', wagtail.core.blocks.CharBlock(classname='full title')), ('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))), icon='help')), ('media', wagtail.core.blocks.ChoiceBlock(choices=[('gallery', 'Image gallery')], icon='media'))), blank=True, null=True), ), migrations.AddField( model_name='articlepage', name='intro_en', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AddField( model_name='articlepage', @@ -48,16 +48,16 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='body_en', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), migrations.AddField( model_name='homepage', name='infos_en', - field=wagtail.wagtailcore.fields.StreamField((('info', wagtail.wagtailcore.blocks.StructBlock((('title', wagtail.wagtailcore.blocks.CharBlock(required=True)), ('photo', wagtail.wagtailimages.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.wagtailcore.blocks.RichTextBlock(required=True)), ('action', wagtail.wagtailcore.blocks.CharBlock(required=False)), ('url', wagtail.wagtailcore.blocks.URLBlock(required=False))))),), blank=True, null=True), + field=wagtail.core.fields.StreamField((('info', wagtail.core.blocks.StructBlock((('title', wagtail.core.blocks.CharBlock(required=True)), ('photo', wagtail.images.blocks.ImageChooserBlock(required=True)), ('summary', wagtail.core.blocks.RichTextBlock(required=True)), ('action', wagtail.core.blocks.CharBlock(required=False)), ('url', wagtail.core.blocks.URLBlock(required=False))))),), blank=True, null=True), ), migrations.AddField( model_name='homepage', name='intro_en', - field=wagtail.wagtailcore.fields.RichTextField(blank=True, default=''), + field=wagtail.core.fields.RichTextField(blank=True, default=''), ), ] diff --git a/publichealth/home/migrations/0026_auto_20190625_1521.py b/publichealth/home/migrations/0026_auto_20190625_1521.py new file mode 100644 index 0000000..4e69421 --- /dev/null +++ b/publichealth/home/migrations/0026_auto_20190625_1521.py @@ -0,0 +1,29 @@ +# Generated by Django 2.1.9 on 2019-06-25 13:21 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0025_auto_20180628_1611'), + ] + + operations = [ + migrations.AlterField( + model_name='contact', + name='home_site', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Site'), + ), + migrations.AlterField( + model_name='contactformfield', + name='field_type', + field=models.CharField(choices=[('singleline', 'Single line text'), ('multiline', 'Multi-line text'), ('email', 'Email'), ('number', 'Number'), ('url', 'URL'), ('checkbox', 'Checkbox'), ('checkboxes', 'Checkboxes'), ('dropdown', 'Drop down'), ('multiselect', 'Multiple select'), ('radio', 'Radio buttons'), ('date', 'Date'), ('datetime', 'Date/time'), ('hidden', 'Hidden field')], max_length=16, verbose_name='field type'), + ), + migrations.AlterField( + model_name='socialcontact', + name='home_site', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Site'), + ), + ] diff --git a/publichealth/home/models/forms.py b/publichealth/home/models/forms.py index 41e2f2c..adc00aa 100644 --- a/publichealth/home/models/forms.py +++ b/publichealth/home/models/forms.py @@ -4,11 +4,11 @@ from modelcluster.fields import ParentalKey from django.db.models import CharField -from wagtail.wagtailcore.fields import RichTextField -from wagtail.wagtailforms.models import ( +from wagtail.core.fields import RichTextField +from wagtail.contrib.forms.models import ( AbstractEmailForm, AbstractFormField ) -from wagtail.wagtailadmin.edit_handlers import ( +from wagtail.admin.edit_handlers import ( FieldPanel, FieldRowPanel, InlinePanel, MultiFieldPanel ) diff --git a/publichealth/home/models/models.py b/publichealth/home/models/models.py index d97c9d8..0a8c168 100644 --- a/publichealth/home/models/models.py +++ b/publichealth/home/models/models.py @@ -8,13 +8,13 @@ from django.conf import settings from modelcluster.fields import ParentalKey -from wagtail.wagtailcore.blocks import StructBlock, CharBlock, URLBlock, RichTextBlock, ListBlock, TextBlock, ChoiceBlock -from wagtail.wagtailcore.models import Page, Orderable -from wagtail.wagtailcore.fields import StreamField, RichTextField -from wagtail.wagtailadmin.edit_handlers import FieldPanel, StreamFieldPanel, InlinePanel, MultiFieldPanel -from wagtail.wagtailimages.blocks import ImageChooserBlock -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel -from wagtail.wagtailsearch import index +from wagtail.core.blocks import StructBlock, CharBlock, URLBlock, RichTextBlock, ListBlock, TextBlock, ChoiceBlock +from wagtail.core.models import Page, Orderable +from wagtail.core.fields import StreamField, RichTextField +from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel, InlinePanel, MultiFieldPanel +from wagtail.images.blocks import ImageChooserBlock +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.search import index from puput.models import EntryPage, BlogPage from feedler.models import Entry, Stream @@ -309,11 +309,11 @@ class HomePage(Page): # TODO: English news? news = events = jobs = [] Stream1 = Stream.objects.filter(title='News') - if Stream1: news = entries.filter(stream=Stream1) + if Stream1: news = entries.filter(stream=Stream1.first()) Stream2 = Stream.objects.filter(title='Events') - if Stream2: events = entries.filter(stream=Stream2) + if Stream2: events = entries.filter(stream=Stream2.first()) Stream3 = Stream.objects.filter(title='Jobs') - if Stream3: jobs = entries.filter(stream=Stream3) + if Stream3: jobs = entries.filter(stream=Stream3.first()) i = settings.NEWS_ENTRIES_HOME_PAGE return list(chain(news[:i], events[:i], jobs[:i])) diff --git a/publichealth/home/models/snippets.py b/publichealth/home/models/snippets.py index 62013b1..1cb0037 100644 --- a/publichealth/home/models/snippets.py +++ b/publichealth/home/models/snippets.py @@ -4,10 +4,10 @@ from __future__ import unicode_literals from django.db import models -from wagtail.wagtailsnippets.models import register_snippet +from wagtail.snippets.models import register_snippet -from wagtail.wagtailcore.models import Page -from wagtail.wagtailadmin.edit_handlers import FieldPanel, PageChooserPanel +from wagtail.core.models import Page +from wagtail.admin.edit_handlers import FieldPanel, PageChooserPanel from .forms import ContactForm from ..util import TranslatedField @@ -27,7 +27,10 @@ class SocialContact(models.Model): choices=SOCIAL_NETWORK_SUPPORTED) profile = models.CharField(max_length=255, default="", help_text="Name of the account, e.g. @myaccount, or full URL") - home_site = models.ForeignKey('wagtailcore.Site', null=True, blank=True, related_name='+') + home_site = models.ForeignKey( + 'wagtailcore.Site', null=True, blank=True, + on_delete=models.SET_NULL, + related_name='+') panels = [ FieldPanel('network'), FieldPanel('profile'), @@ -77,7 +80,12 @@ class Contact(models.Model): related_name='+', ) - home_site = models.ForeignKey('wagtailcore.Site', null=True, blank=True, related_name='+') + home_site = models.ForeignKey( + 'wagtailcore.Site', + null=True, blank=True, + on_delete=models.SET_NULL, + related_name='+', + ) panels = Page.content_panels + [ FieldPanel('title_fr'), diff --git a/publichealth/home/routes.py b/publichealth/home/routes.py index 3e7ce4a..046884f 100644 --- a/publichealth/home/routes.py +++ b/publichealth/home/routes.py @@ -6,9 +6,9 @@ from django.utils.dateformat import DateFormat from django.utils.formats import date_format from django.utils.translation import ugettext_lazy as _ -from wagtail.wagtailcore.models import Page -from wagtail.wagtailsearch.models import Query -from wagtail.contrib.wagtailroutablepage.models import RoutablePageMixin, route +from wagtail.core.models import Page +from wagtail.search.models import Query +from wagtail.contrib.routable_page.models import RoutablePageMixin, route class HomePage(RoutablePageMixin, Page): diff --git a/publichealth/home/templatetags/navigation.py b/publichealth/home/templatetags/navigation.py index 2201486..f129647 100644 --- a/publichealth/home/templatetags/navigation.py +++ b/publichealth/home/templatetags/navigation.py @@ -35,7 +35,7 @@ def language_switcher(context): 'request': context['request'], } -@register.assignment_tag(takes_context=True) +@register.simple_tag(takes_context=True) def get_site_root(context): # NB this returns a core.Page, not the implementation-specific model used # so object-comparison to self will return false as objects would differ diff --git a/publichealth/search/views.py b/publichealth/search/views.py index c69b228..2ec12e5 100644 --- a/publichealth/search/views.py +++ b/publichealth/search/views.py @@ -1,8 +1,8 @@ from django.shortcuts import render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from wagtail.wagtailcore.models import Page -from wagtail.wagtailsearch.models import Query +from wagtail.core.models import Page +from wagtail.search.models import Query def search(request): diff --git a/publichealth/settings/base.py b/publichealth/settings/base.py index 0a89ad5..bf0b559 100644 --- a/publichealth/settings/base.py +++ b/publichealth/settings/base.py @@ -36,22 +36,21 @@ INSTALLED_APPS = [ 'publichealth.home.templatetags', 'publichealth.search', - 'wagtail.contrib.wagtailsearchpromotions', - 'wagtail.contrib.wagtailroutablepage', - 'wagtail.contrib.wagtailsitemaps', + 'wagtail.contrib.routable_page', + 'wagtail.contrib.sitemaps', 'wagtail.contrib.modeladmin', 'wagtail.contrib.settings', - 'wagtail.wagtailforms', - 'wagtail.wagtailredirects', - 'wagtail.wagtailembeds', - 'wagtail.wagtailsites', - 'wagtail.wagtailusers', - 'wagtail.wagtailsnippets', - 'wagtail.wagtaildocs', - 'wagtail.wagtailimages', - 'wagtail.wagtailsearch', - 'wagtail.wagtailadmin', - 'wagtail.wagtailcore', + 'wagtail.contrib.forms', + 'wagtail.contrib.redirects', + 'wagtail.embeds', + 'wagtail.sites', + 'wagtail.users', + 'wagtail.snippets', + 'wagtail.documents', + 'wagtail.images', + 'wagtail.search', + 'wagtail.admin', + 'wagtail.core', 'wagtail.api.v2', 'rest_framework', @@ -72,7 +71,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', ] -MIDDLEWARE_CLASSES = [ +MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', @@ -85,8 +84,8 @@ MIDDLEWARE_CLASSES = [ 'django.middleware.locale.LocaleMiddleware', - 'wagtail.wagtailcore.middleware.SiteMiddleware', - 'wagtail.wagtailredirects.middleware.RedirectMiddleware', + 'wagtail.core.middleware.SiteMiddleware', + 'wagtail.contrib.redirects.middleware.RedirectMiddleware', ] ROOT_URLCONF = 'publichealth.urls' diff --git a/publichealth/settings/dev.py b/publichealth/settings/dev.py index 1e2f52d..afa6a7d 100644 --- a/publichealth/settings/dev.py +++ b/publichealth/settings/dev.py @@ -27,7 +27,7 @@ DATABASES = { INSTALLED_APPS = [ 'whitenoise.runserver_nostatic', ] + INSTALLED_APPS + [ - 'wagtail.contrib.wagtailstyleguide', + 'wagtail.contrib.styleguide', ] try: diff --git a/publichealth/settings/production.py b/publichealth/settings/production.py index 7b753de..c2f6f0a 100644 --- a/publichealth/settings/production.py +++ b/publichealth/settings/production.py @@ -48,10 +48,10 @@ if 'SERVER_EMAIL' in env: SERVER_EMAIL = env['SERVER_EMAIL'] if 'CACHE_PURGE_URL' in env: - INSTALLED_APPS += ( 'wagtail.contrib.wagtailfrontendcache', ) + INSTALLED_APPS += ( 'wagtail.contrib.frontend_cache', ) WAGTAILFRONTENDCACHE = { 'default': { - 'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend', + 'BACKEND': 'wagtail.contrib.frontend_cache.backends.HTTPBackend', 'LOCATION': env['CACHE_PURGE_URL'], }, } @@ -131,7 +131,7 @@ if REDIS_LOCATION is not None: if 'ELASTICSEARCH_URL' in env: WAGTAILSEARCH_BACKENDS = { 'default': { - 'BACKEND': 'wagtail.wagtailsearch.backends.elasticsearch2', + 'BACKEND': 'wagtail.search.backends.elasticsearch2', 'URLS': [env['ELASTICSEARCH_URL']], 'INDEX': APP_NAME, 'ATOMIC_REBUILD': True, diff --git a/publichealth/urls.py b/publichealth/urls.py index b7d6cbb..eb79f47 100644 --- a/publichealth/urls.py +++ b/publichealth/urls.py @@ -3,9 +3,10 @@ from django.conf import settings from django.contrib import admin from django.conf.urls.i18n import i18n_patterns -from wagtail.wagtailadmin import urls as wagtailadmin_urls -from wagtail.wagtaildocs import urls as wagtaildocs_urls -from wagtail.wagtailcore import urls as wagtail_urls +from wagtail.admin import urls as wagtailadmin_urls +from wagtail.documents import urls as wagtaildocs_urls +from wagtail.core import urls as wagtail_urls +from wagtail.contrib.sitemaps.views import sitemap from puput import urls as puput_urls from feedler import urls as feedler_urls @@ -16,12 +17,14 @@ urlpatterns = [ url(r'', include(puput_urls)), url(r'', include(feedler_urls)), - url(r'^django-admin/', include(admin.site.urls)), + url(r'^django-admin/', admin.site.urls), url(r'^admin/', include(wagtailadmin_urls)), url(r'^documents/', include(wagtaildocs_urls)), url(r'^search/$', search_views.search, name='search'), + + url('^sitemap\.xml$', sitemap), ] diff --git a/requirements-test.txt b/requirements-test.txt index 96bd4eb..67324f0 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,6 +1,6 @@ -# Updated: 23.10.2017 +# Updated: 14.6.2019 -pytest==3.0.3 -pytest-splinter==1.8.5 -tox==2.9.1 -django-debug-toolbar==1.8 +pytest +pytest-splinter +tox +django-debug-toolbar diff --git a/requirements.txt b/requirements.txt index 94fa905..96b4c68 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,33 +1,33 @@ -# Updated: 11.11.2018 +# Updated: 14.6.2019 # Core -wagtail>=1.13.1,<2.0.0 -Django>=1.11.7,<2.0.0 -elasticsearch>=2.0.0,<3.0.0 +wagtail==2.5.1 +Django==2.2.2 +elasticsearch==7.0.2 # Database -psycopg2==2.7.6.1 -psycopg2-binary==2.7.6.1 +psycopg2-binary==2.8.3 dj-database-url==0.5.0 # Content -puput==0.9.2 +puput==1.0.4 guess-language-spirit==0.5.3 # Caching -django-redis==4.9.0 +django-redis==4.10.0 # Frontend django-libsass==0.7 -libsass==0.15.1 -Pillow==5.3.0 +libsass==0.19.1 +Pillow==5.4.1 # Development tools stellar==0.4.5 # Production dependencies gunicorn==19.9.0 -whitenoise==4.1 +whitenoise==4.1.2 ConcurrentLogHandler==0.9.1 -django-anymail==5.0 +django-anymail==6.0.1 django-crispy-forms==1.7.2 +python-dotenv==0.10.3 diff --git a/tests/testapp/settings.py b/tests/testapp/settings.py index 603a7f6..a0e8f43 100644 --- a/tests/testapp/settings.py +++ b/tests/testapp/settings.py @@ -19,7 +19,7 @@ INSTALLED_APPS = ( INSTALLED_APPS += PUPUT_APPS INSTALLED_APPS += FEEDLER_APPS -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -28,8 +28,8 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', - 'wagtail.wagtailcore.middleware.SiteMiddleware', - 'wagtail.wagtailredirects.middleware.RedirectMiddleware', + 'wagtail.core.middleware.SiteMiddleware', + 'wagtail.contrib.redirects.middleware.RedirectMiddleware', ) ROOT_URLCONF = 'tests.testapp.urls'