diff --git a/Pipfile b/Pipfile index e1cdd0692b..259dbeb799 100644 --- a/Pipfile +++ b/Pipfile @@ -13,17 +13,17 @@ isort = "*" ipython = "*" pdbpp = "*" tox = "*" -drf-api-checker = "*" factory-boy = ">=2.11" sphinx = "*" vcrpy = "*" [packages] -azure-common = "==1.1.26" +azure-common = "==1.1.27" azure-storage-blob = "==2.1.0" azure-storage-common = "==2.1.0" carto = "==1.11.2" celery = "==5.0.5" +cryptography = "<3.4" dj-database-url = "==0.5" dj-static = "==0.0.6" Django = "<3.0" @@ -31,10 +31,10 @@ django-appconf = "==1.0.4" django_celery_beat = "==2.1" django-celery-email = "==3.0.0" django_celery_results = "==2.0.0" -django-contrib-comments = "==2.0.0" +django-contrib-comments = "==2.1.0" django-cors-headers = "==3.6.0" django-debug-toolbar = "==3.2" -django-extensions = "==3.1.0" +django-extensions = "==3.1.2" django-easy-pdf = "==0.1.1" # not maintained dj<3.0 django-filter = "==2.4.0" django-fsm = "==2.7.1" @@ -49,15 +49,15 @@ django-redis-cache = "==3.0" django-rest-swagger = "==2.2" django-storages = {extras = ["azure"],version = "==1.11.1"} django-tenants = "==3.2.1" -django-timezone-field = "==4.1.1" +django-timezone-field = "==4.1.2" django-waffle = "==2.0.0" djangorestframework-csv = "==2.1.0" djangorestframework-gis = "==0.16" djangorestframework-jwt = "==1.11.0" djangorestframework-recursive = "==0.1.2" djangorestframework-xml = "==2.0.0" -djangorestframework = "==3.12.2" -drf-nested-routers = "==0.92.5" +djangorestframework = "==3.12.4" +drf-nested-routers = "==0.93.3" drf-querystringfilter = "==1.0.0" etools-validator = "==0.3.4" flower = "==0.9.5" # issue when locking @@ -75,7 +75,7 @@ unicef_attachments = "==0.9.0" unicef-djangolib = "==0.5.4" unicef-locations = "==1.9" unicef_notification = "==0.2.1" -unicef_restlib = "==0.6.1" +unicef_restlib = "==0.7" unicef_snapshot = "==0.2.3" unicef-rest-export = "==0.5.3" xhtml2pdf = "==0.2.5" diff --git a/Pipfile.lock b/Pipfile.lock index a1942e76a7..4c3fe25f15 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "d91efdef383fde81f0c644abf9e32bb7b96be6dde15c2c99fa8f6f70cd69c3a6" + "sha256": "7962955ee5bddfc6159926a22b106d68394c4af23e42cfa599a8b62225c99ba4" }, "pipfile-spec": 6, "requires": { @@ -18,25 +18,26 @@ "default": { "amqp": { "hashes": [ - "sha256:5b9062d5c0812335c75434bf17ce33d7a20ecfedaa0733faec7379868eb4068a", - "sha256:fcd5b3baeeb7fc19b3486ff6d10543099d40ae1f5c9196eae695d1cde1b2f784" + "sha256:03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2", + "sha256:493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb" ], - "version": "==5.0.2" + "version": "==5.0.6" }, "arabic-reshaper": { "hashes": [ - "sha256:cf318fa5d51d2d224fa49bf6bdbbb4684f6bd2c068b75cfce0e607f89ac199dc", - "sha256:dc998b15f042a5d493926a07a76807279af1e029935f0eeecb33863382c0ee7b" + "sha256:15078431d8f45eaca0a1710100aabc87abba13759c67eeb4538cca22fe167da1", + "sha256:43f58136dbbfecab54ce0434e556c75689e46b0f11010578b893f72c504cd27b", + "sha256:a236fc6e9dde2a61cc6a5ca962b522e42694e1bb2a2d86894ed7a4eba4ce1890" ], - "version": "==2.1.1" + "version": "==2.1.3" }, "azure-common": { "hashes": [ - "sha256:acd26b2adb3ea192d766b4f083805287da080adc7f316ce7e52ef0ea917fbe31", - "sha256:b2866238aea5d7492cfb0282fc8b8d5f6d06fb433872345864d45753c10b6e4f" + "sha256:426673962740dbe9aab052a4b52df39c07767decd3f25fdc87c9d4c566a04934", + "sha256:9f3f5d991023acbd93050cf53c4e863c6973ded7e236c69e99c8ff5c7bad41ef" ], "index": "pypi", - "version": "==1.1.26" + "version": "==1.1.27" }, "azure-storage-blob": { "hashes": [ @@ -63,10 +64,10 @@ }, "billiard": { "hashes": [ - "sha256:bff575450859a6e0fbc2f9877d9b715b0bbc07c3565bb7ed2280526a0cdf5ede", - "sha256:d91725ce6425f33a97dfa72fb6bfef0e47d4652acd98a032bd1a7fbf06d5fa6a" + "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547", + "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b" ], - "version": "==3.6.3.0" + "version": "==3.6.4.0" }, "carto": { "hashes": [ @@ -93,44 +94,45 @@ }, "cffi": { "hashes": [ - "sha256:00a1ba5e2e95684448de9b89888ccd02c98d512064b4cb987d48f4b40aa0421e", - "sha256:00e28066507bfc3fe865a31f325c8391a1ac2916219340f87dfad602c3e48e5d", - "sha256:045d792900a75e8b1e1b0ab6787dd733a8190ffcf80e8c8ceb2fb10a29ff238a", - "sha256:0638c3ae1a0edfb77c6765d487fee624d2b1ee1bdfeffc1f0b58c64d149e7eec", - "sha256:105abaf8a6075dc96c1fe5ae7aae073f4696f2905fde6aeada4c9d2926752362", - "sha256:155136b51fd733fa94e1c2ea5211dcd4c8879869008fc811648f16541bf99668", - "sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c", - "sha256:1d2c4994f515e5b485fd6d3a73d05526aa0fcf248eb135996b088d25dfa1865b", - "sha256:2c24d61263f511551f740d1a065eb0212db1dbbbbd241db758f5244281590c06", - "sha256:51a8b381b16ddd370178a65360ebe15fbc1c71cf6f584613a7ea08bfad946698", - "sha256:594234691ac0e9b770aee9fcdb8fa02c22e43e5c619456efd0d6c2bf276f3eb2", - "sha256:5cf4be6c304ad0b6602f5c4e90e2f59b47653ac1ed9c662ed379fe48a8f26b0c", - "sha256:64081b3f8f6f3c3de6191ec89d7dc6c86a8a43911f7ecb422c60e90c70be41c7", - "sha256:6bc25fc545a6b3d57b5f8618e59fc13d3a3a68431e8ca5fd4c13241cd70d0009", - "sha256:798caa2a2384b1cbe8a2a139d80734c9db54f9cc155c99d7cc92441a23871c03", - "sha256:7c6b1dece89874d9541fc974917b631406233ea0440d0bdfbb8e03bf39a49b3b", - "sha256:840793c68105fe031f34d6a086eaea153a0cd5c491cde82a74b420edd0a2b909", - "sha256:8d6603078baf4e11edc4168a514c5ce5b3ba6e3e9c374298cb88437957960a53", - "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", - "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", - "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", - "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01", - "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", - "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", - "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", - "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", - "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", - "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", - "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e", - "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", - "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", - "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", - "sha256:ec80dc47f54e6e9a78181ce05feb71a0353854cc26999db963695f950b5fb375", - "sha256:f032b34669220030f905152045dfa27741ce1a6db3324a5bc0b96b6c7420c87b", - "sha256:f60567825f791c6f8a592f3c6e3bd93dd2934e3f9dac189308426bd76b00ef3b", - "sha256:f803eaa94c2fcda012c047e62bc7a51b0bdabda1cad7a92a522694ea2d76e49f" - ], - "version": "==1.14.4" + "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813", + "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06", + "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea", + "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee", + "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396", + "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73", + "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315", + "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1", + "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49", + "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892", + "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482", + "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058", + "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5", + "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53", + "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045", + "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3", + "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5", + "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e", + "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c", + "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369", + "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827", + "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053", + "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa", + "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4", + "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322", + "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132", + "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62", + "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa", + "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0", + "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396", + "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e", + "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991", + "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6", + "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1", + "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406", + "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d", + "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c" + ], + "version": "==1.14.5" }, "chardet": { "hashes": [ @@ -182,30 +184,31 @@ }, "cryptography": { "hashes": [ - "sha256:0003a52a123602e1acee177dc90dd201f9bb1e73f24a070db7d36c588e8f5c7d", - "sha256:0e85aaae861d0485eb5a79d33226dd6248d2a9f133b81532c8f5aae37de10ff7", - "sha256:594a1db4511bc4d960571536abe21b4e5c3003e8750ab8365fafce71c5d86901", - "sha256:69e836c9e5ff4373ce6d3ab311c1a2eed274793083858d3cd4c7d12ce20d5f9c", - "sha256:788a3c9942df5e4371c199d10383f44a105d67d401fb4304178020142f020244", - "sha256:7e177e4bea2de937a584b13645cab32f25e3d96fc0bc4a4cf99c27dc77682be6", - "sha256:83d9d2dfec70364a74f4e7c70ad04d3ca2e6a08b703606993407bf46b97868c5", - "sha256:84ef7a0c10c24a7773163f917f1cb6b4444597efd505a8aed0a22e8c4780f27e", - "sha256:9e21301f7a1e7c03dbea73e8602905a4ebba641547a462b26dd03451e5769e7c", - "sha256:9f6b0492d111b43de5f70052e24c1f0951cb9e6022188ebcb1cc3a3d301469b0", - "sha256:a69bd3c68b98298f490e84519b954335154917eaab52cf582fa2c5c7efc6e812", - "sha256:b4890d5fb9b7a23e3bf8abf5a8a7da8e228f1e97dc96b30b95685df840b6914a", - "sha256:c366df0401d1ec4e548bebe8f91d55ebcc0ec3137900d214dd7aac8427ef3030", - "sha256:dc42f645f8f3a489c3dd416730a514e7a91a59510ddaadc09d04224c098d3302" - ], - "version": "==3.3.1" + "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72", + "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff", + "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c", + "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3", + "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed", + "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed", + "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433", + "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e", + "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44", + "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed", + "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042", + "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b", + "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f", + "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da" + ], + "index": "pypi", + "version": "==3.3.2" }, "defusedxml": { "hashes": [ - "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93", - "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" + "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", + "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" ], "markers": "python_version >= '3.0'", - "version": "==0.6.0" + "version": "==0.7.1" }, "diff-match-patch": { "hashes": [ @@ -231,11 +234,11 @@ }, "django": { "hashes": [ - "sha256:558cb27930defd9a6042133258caf797b2d1dee233959f537e3dc475cb49bd7c", - "sha256:cf5370a4d7765a9dd6d42a7b96b53c74f9446cd38209211304b210fe0404b861" + "sha256:2484f115891ab1a0e9ae153602a641fbc15d7894c036d79fb78662c0965d7954", + "sha256:2569f9dc5f8e458a5e988b03d6b7a02bda59b006d6782f4ea0fd590ed7336a64" ], "index": "pypi", - "version": "==2.2.17" + "version": "==2.2.20" }, "django-appconf": { "hashes": [ @@ -247,9 +250,9 @@ }, "django-autocomplete-light": { "hashes": [ - "sha256:4e84a6d95d272b0d7221614332e2bd54ffff15ec06e78947279398f6507ce225" + "sha256:25f0ea71b59a8f1f97a8a564e33e429570b0ea77c5eac81f7beb283073b4ba90" ], - "version": "==3.8.1" + "version": "==3.8.2" }, "django-celery-beat": { "hashes": [ @@ -277,11 +280,11 @@ }, "django-contrib-comments": { "hashes": [ - "sha256:26350b2c353816570a74b7fb19c558ce00288625ac32886a5274f4f931c098f9", - "sha256:d15ce050c6b1589ec3086c4f5db3e4dec8adf54bb0d9d6b7efc1372669773752" + "sha256:d82f1d04690550df026553053903deec0c52dc54212e1b79241b08f0355cff2c", + "sha256:e02c7341ea1f4bcdfa347851dbf5e632d3e591d84b4f77de2f90b93398897f3c" ], "index": "pypi", - "version": "==2.0.0" + "version": "==2.1.0" }, "django-cors-headers": { "hashes": [ @@ -308,11 +311,11 @@ }, "django-extensions": { "hashes": [ - "sha256:7cd002495ff0a0e5eb6cdd6be759600905b4e4079232ea27618fc46bdd853651", - "sha256:c7f88625a53f631745d4f2bef9ec4dcb999ed59476393bdbbe99db8596778846" + "sha256:081828e985485662f62a22340c1506e37989d14b927652079a5b7cd84a82368b", + "sha256:17f85f4dcdd5eea09b8c4f0bad8f0370bf2db6d03e61b431fa7103fee29888de" ], "index": "pypi", - "version": "==3.1.0" + "version": "==3.1.2" }, "django-filter": { "hashes": [ @@ -372,10 +375,10 @@ }, "django-mptt": { "hashes": [ - "sha256:90eb236eb4f1a92124bd7c37852bbe09c0d21158477cc237556d59842a91c509", - "sha256:dfdb3af75ad27cdd4458b0544ec8574174f2b90f99bc2cafab6a15b4bc1895a8" + "sha256:63b421a054bceb7406582e2be876a80b3848a5106765baea1003696348ffd628", + "sha256:8ae6c3821127b529bb2f938de27bf0771b1bcbe9dbccdfba33986af78611f13a" ], - "version": "==0.11.0" + "version": "==0.12.0" }, "django-ordered-model": { "hashes": [ @@ -427,11 +430,11 @@ }, "django-timezone-field": { "hashes": [ - "sha256:068dc2c9b11c2230e126f511a515609d46f8cc49278b293e7536be07997fe892", - "sha256:b5b587aabed8db66eb3453691522164915c1aa1b326d8ddeadc8832a8580faeb" + "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36", + "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df" ], "index": "pypi", - "version": "==4.1.1" + "version": "==4.1.2" }, "django-waffle": { "hashes": [ @@ -443,11 +446,11 @@ }, "djangorestframework": { "hashes": [ - "sha256:0209bafcb7b5010fdfec784034f059d512256424de2a0f084cb82b096d6dd6a7", - "sha256:0898182b4737a7b584a2c73735d89816343369f259fea932d90dc78e35d8ac33" + "sha256:6d1d59f623a5ad0509fe0d6bfe93cbdfe17b8116ebc8eda86d45f6e16e819aaf", + "sha256:f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2" ], "index": "pypi", - "version": "==3.12.2" + "version": "==3.12.4" }, "djangorestframework-csv": { "hashes": [ @@ -490,11 +493,11 @@ }, "drf-nested-routers": { "hashes": [ - "sha256:995b831be036911e330a86b7129dc6589de62f2a53d72067e7ce2b4a90f28c35", - "sha256:9d6a326333e9b16549e63b893c27075d98bbc217cd05fb10bbfa770d728d3f66" + "sha256:5bbb394ce382d8392cb7eb1e24eb8ad169bf095b22b8275b8f0f1e6697000434", + "sha256:84e946cd486e9ec1fea12a6ca114adc0c68389ccc66e55f6c0c23ce31362485d" ], "index": "pypi", - "version": "==0.92.5" + "version": "==0.93.3" }, "drf-querystringfilter": { "hashes": [ @@ -563,10 +566,10 @@ }, "humanize": { "hashes": [ - "sha256:ab69004895689951b79f2ae4fdd6b8127ff0c180aff107856d5d98119a33f026", - "sha256:d47d80cd47c1511ed3e49ca5f10c82ed940ea020b45b49ab106ed77fa8bb9d22" + "sha256:6e04cdd75d66074c34ff93c30a2ad6d19d91202a65c1bd400b2edeedae399bda", + "sha256:c2ccaea7f8cbcd883ec420279d6e71ad20371bb36dbf5100b178d9756563289e" ], - "version": "==3.2.0" + "version": "==3.4.1" }, "idna": { "hashes": [ @@ -577,11 +580,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:5c5a2720817414a6c41f0a49993908068243ae02c1635a228126519b509c8aed", - "sha256:bf792d480abbd5eda85794e4afb09dd538393f7d6e6ffef6e9f03d2014cf9450" + "sha256:2ec0faae539743ae6aaa84b49a169670a465f7f5d64e6add98388cc29fd1f2f6", + "sha256:c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1" ], "markers": "python_version < '3.8'", - "version": "==3.3.0" + "version": "==3.10.1" }, "itypes": { "hashes": [ @@ -599,10 +602,10 @@ }, "jinja2": { "hashes": [ - "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", - "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" + "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419", + "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6" ], - "version": "==2.11.2" + "version": "==2.11.3" }, "jsonfield": { "hashes": [ @@ -620,45 +623,44 @@ }, "lxml": { "hashes": [ - "sha256:0448576c148c129594d890265b1a83b9cd76fd1f0a6a04620753d9a6bcfd0a4d", - "sha256:127f76864468d6630e1b453d3ffbbd04b024c674f55cf0a30dc2595137892d37", - "sha256:1471cee35eba321827d7d53d104e7b8c593ea3ad376aa2df89533ce8e1b24a01", - "sha256:2363c35637d2d9d6f26f60a208819e7eafc4305ce39dc1d5005eccc4593331c2", - "sha256:2e5cc908fe43fe1aa299e58046ad66981131a66aea3129aac7770c37f590a644", - "sha256:2e6fd1b8acd005bd71e6c94f30c055594bbd0aa02ef51a22bbfa961ab63b2d75", - "sha256:366cb750140f221523fa062d641393092813b81e15d0e25d9f7c6025f910ee80", - "sha256:42ebca24ba2a21065fb546f3e6bd0c58c3fe9ac298f3a320147029a4850f51a2", - "sha256:4e751e77006da34643ab782e4a5cc21ea7b755551db202bc4d3a423b307db780", - "sha256:4fb85c447e288df535b17ebdebf0ec1cf3a3f1a8eba7e79169f4f37af43c6b98", - "sha256:50c348995b47b5a4e330362cf39fc503b4a43b14a91c34c83b955e1805c8e308", - "sha256:535332fe9d00c3cd455bd3dd7d4bacab86e2d564bdf7606079160fa6251caacf", - "sha256:535f067002b0fd1a4e5296a8f1bf88193080ff992a195e66964ef2a6cfec5388", - "sha256:5be4a2e212bb6aa045e37f7d48e3e1e4b6fd259882ed5a00786f82e8c37ce77d", - "sha256:60a20bfc3bd234d54d49c388950195d23a5583d4108e1a1d47c9eef8d8c042b3", - "sha256:648914abafe67f11be7d93c1a546068f8eff3c5fa938e1f94509e4a5d682b2d8", - "sha256:681d75e1a38a69f1e64ab82fe4b1ed3fd758717bed735fb9aeaa124143f051af", - "sha256:68a5d77e440df94011214b7db907ec8f19e439507a70c958f750c18d88f995d2", - "sha256:69a63f83e88138ab7642d8f61418cf3180a4d8cd13995df87725cb8b893e950e", - "sha256:6e4183800f16f3679076dfa8abf2db3083919d7e30764a069fb66b2b9eff9939", - "sha256:6fd8d5903c2e53f49e99359b063df27fdf7acb89a52b6a12494208bf61345a03", - "sha256:791394449e98243839fa822a637177dd42a95f4883ad3dec2a0ce6ac99fb0a9d", - "sha256:7a7669ff50f41225ca5d6ee0a1ec8413f3a0d8aa2b109f86d540887b7ec0d72a", - "sha256:7e9eac1e526386df7c70ef253b792a0a12dd86d833b1d329e038c7a235dfceb5", - "sha256:7ee8af0b9f7de635c61cdd5b8534b76c52cd03536f29f51151b377f76e214a1a", - "sha256:8246f30ca34dc712ab07e51dc34fea883c00b7ccb0e614651e49da2c49a30711", - "sha256:8c88b599e226994ad4db29d93bc149aa1aff3dc3a4355dd5757569ba78632bdf", - "sha256:923963e989ffbceaa210ac37afc9b906acebe945d2723e9679b643513837b089", - "sha256:94d55bd03d8671686e3f012577d9caa5421a07286dd351dfef64791cf7c6c505", - "sha256:97db258793d193c7b62d4e2586c6ed98d51086e93f9a3af2b2034af01450a74b", - "sha256:a9d6bc8642e2c67db33f1247a77c53476f3a166e09067c0474facb045756087f", - "sha256:cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc", - "sha256:d8d3d4713f0c28bdc6c806a278d998546e8efc3498949e3ace6e117462ac0a5e", - "sha256:e0bfe9bb028974a481410432dbe1b182e8191d5d40382e5b8ff39cdd2e5c5931", - "sha256:f4822c0660c3754f1a41a655e37cb4dbbc9be3d35b125a37fab6f82d47674ebc", - "sha256:f83d281bb2a6217cd806f4cf0ddded436790e66f393e124dfe9731f6b3fb9afe", - "sha256:fc37870d6716b137e80d19241d0e2cff7a7643b925dfa49b4c8ebd1295eb506e" - ], - "version": "==4.6.2" + "sha256:079f3ae844f38982d156efce585bc540c16a926d4436712cf4baee0cce487a3d", + "sha256:0fbcf5565ac01dff87cbfc0ff323515c823081c5777a9fc7703ff58388c258c3", + "sha256:122fba10466c7bd4178b07dba427aa516286b846b2cbd6f6169141917283aae2", + "sha256:1b7584d421d254ab86d4f0b13ec662a9014397678a7c4265a02a6d7c2b18a75f", + "sha256:26e761ab5b07adf5f555ee82fb4bfc35bf93750499c6c7614bd64d12aaa67927", + "sha256:289e9ca1a9287f08daaf796d96e06cb2bc2958891d7911ac7cae1c5f9e1e0ee3", + "sha256:2a9d50e69aac3ebee695424f7dbd7b8c6d6eb7de2a2eb6b0f6c7db6aa41e02b7", + "sha256:33bb934a044cf32157c12bfcfbb6649807da20aa92c062ef51903415c704704f", + "sha256:3439c71103ef0e904ea0a1901611863e51f50b5cd5e8654a151740fde5e1cade", + "sha256:39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468", + "sha256:4289728b5e2000a4ad4ab8da6e1db2e093c63c08bdc0414799ee776a3f78da4b", + "sha256:4bff24dfeea62f2e56f5bab929b4428ae6caba2d1eea0c2d6eb618e30a71e6d4", + "sha256:542d454665a3e277f76954418124d67516c5f88e51a900365ed54a9806122b83", + "sha256:5a0a14e264069c03e46f926be0d8919f4105c1623d620e7ec0e612a2e9bf1c04", + "sha256:66e575c62792c3f9ca47cb8b6fab9e35bab91360c783d1606f758761810c9791", + "sha256:74f7d8d439b18fa4c385f3f5dfd11144bb87c1da034a466c5b5577d23a1d9b51", + "sha256:7610b8c31688f0b1be0ef882889817939490a36d0ee880ea562a4e1399c447a1", + "sha256:76fa7b1362d19f8fbd3e75fe2fb7c79359b0af8747e6f7141c338f0bee2f871a", + "sha256:7728e05c35412ba36d3e9795ae8995e3c86958179c9770e65558ec3fdfd3724f", + "sha256:8157dadbb09a34a6bd95a50690595e1fa0af1a99445e2744110e3dca7831c4ee", + "sha256:820628b7b3135403540202e60551e741f9b6d3304371712521be939470b454ec", + "sha256:884ab9b29feaca361f7f88d811b1eea9bfca36cf3da27768d28ad45c3ee6f969", + "sha256:89b8b22a5ff72d89d48d0e62abb14340d9e99fd637d046c27b8b257a01ffbe28", + "sha256:92e821e43ad382332eade6812e298dc9701c75fe289f2a2d39c7960b43d1e92a", + "sha256:b007cbb845b28db4fb8b6a5cdcbf65bacb16a8bd328b53cbc0698688a68e1caa", + "sha256:bc4313cbeb0e7a416a488d72f9680fffffc645f8a838bd2193809881c67dd106", + "sha256:bccbfc27563652de7dc9bdc595cb25e90b59c5f8e23e806ed0fd623755b6565d", + "sha256:c4f05c5a7c49d2fb70223d0d5bcfbe474cf928310ac9fa6a7c6dddc831d0b1d4", + "sha256:ce256aaa50f6cc9a649c51be3cd4ff142d67295bfc4f490c9134d0f9f6d58ef0", + "sha256:d2e35d7bf1c1ac8c538f88d26b396e73dd81440d59c1ef8522e1ea77b345ede4", + "sha256:df7c53783a46febb0e70f6b05df2ba104610f2fb0d27023409734a3ecbb78fb2", + "sha256:efac139c3f0bf4f0939f9375af4b02c5ad83a622de52d6dfa8e438e8e01d0eb0", + "sha256:efd7a09678fd8b53117f6bae4fa3825e0a22b03ef0a932e070c0bdbb3a35e654", + "sha256:f2380a6376dfa090227b663f9678150ef27543483055cc327555fb592c5967e2", + "sha256:f8380c03e45cf09f8557bdaa41e1fa7c81f3ae22828e1db470ab2a6c96d8bc23", + "sha256:f90ba11136bfdd25cae3951af8da2e95121c9b9b93727b1b896e3fa105b2f586" + ], + "version": "==4.6.3" }, "markuppy": { "hashes": [ @@ -673,8 +675,12 @@ "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", + "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f", + "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39", "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014", + "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f", "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", @@ -683,45 +689,58 @@ "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85", + "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1", "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850", + "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0", "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb", "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1", + "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2", "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7", "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8", "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193", "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b", "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", + "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5", + "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c", + "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032", "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", - "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" + "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be", + "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621" ], "version": "==1.1.1" }, "newrelic": { "hashes": [ - "sha256:044084bd7d2ea12239c24e0a04c6d6bc208fb83981feeca46748d1a8e6c2b4c5", - "sha256:4c0fc83af3a88d76544d5c2225b480194ffc2193cfea966c3c61a7c4681e892b", - "sha256:4daa2f4123cd52f221acc8176630171e6e88a0a8519f6d45ef1e2c95feb66c67", - "sha256:4ed6248863e3276b5f52573fbaaa2c2a1116080157fe7067956d725f969c665b", - "sha256:4ed91d820d6ca6ed3bd2adb6ee8b07129eca7eda4a2e6327bcaf5476845fcfc8", - "sha256:585f7a303b4ee7cefbcb2bf15d3f0e4b0a3f70878297b7516746036ed3657be8", - "sha256:677a8646e25b35eaf8dd167d57fc53adc20cf596821c56201afe68423cb75617", - "sha256:6c8be8e7df3f5dd1ec4c9fe321c118c2fd35ed43e0affa037c77af0595a526ba", - "sha256:76ca893803d7a738844e5a49f51bde36fa98c8f55c203d2bf9a7f246770689c6", - "sha256:a8ef9509258a8f0c952fe36c7d3c774552b65a5ca5e0348694b651170b8472dc", - "sha256:bf83cb95952f71039e984507330a8a47766e3a744db8b9f199536355b076c1a0", - "sha256:dd0571f9a2b036b3bb238b99a669f44e393e8f63451d6ce1e113515a1942eb66", - "sha256:f8522fe7e1794e8d7a85d81ded8d166ac9e7f1bdcd3fd48295396a4e5d1938aa" + "sha256:242a5e901d684f7ffdd621bc58da8fe9a85d5545b4b63e1070589f5ab45c9e1e", + "sha256:3dec4647de67609570c4e305f2b6432a00e0a0940a7ac69660ee92268b49d6e7", + "sha256:489e5a450aae1a5ecf7ca488739bd274296b19049bb7927c7ef71953ad5ad437", + "sha256:503e5dfcbf215fe68e4349ea452b5b00234010122ca72d80b64c73270654916c", + "sha256:5b0a04f7acf4dafe8d3935ac8688143bc0a0c61e15e2a779b152afcc3c88ee45", + "sha256:6a87cd6102aba7c9619a6e4b9e1aa6322ef81367b1a8f24ad996a07333313c8c", + "sha256:90d2bab0a08001d84499bf11c62c49d1fc6f2835c05d12994b5a931cad48f120", + "sha256:a3b928a052be318cb0cdb56977c630f1ded1d8e391c876ed5ae4442aa7ad499a", + "sha256:adc748f633bd64e295b403448daa8416961b0f99af6787b857009d737c5e8af3", + "sha256:e767af29572a9457a5e5f13481fe735c1a9ae2d1683b7b35c8757f9df275a538", + "sha256:fede816248d0a1e5e11487ecc122f24c9d33e08a6ac1f882044ac6f3b2c90ae0" ], "index": "pypi", - "version": "==5.24.0.153" + "version": "==6.2.0.156" }, "oauthlib": { "hashes": [ @@ -753,6 +772,7 @@ "pillow": { "hashes": [ "sha256:165c88bc9d8dba670110c689e3cc5c71dbe4bfb984ffa7cbebf1fac9554071d6", + "sha256:1d208e670abfeb41b6143537a681299ef86e92d2a3dac299d3cd6830d5c7bded", "sha256:22d070ca2e60c99929ef274cfced04294d2368193e935c5d6febfd8b601bf865", "sha256:2353834b2c49b95e1313fb34edf18fca4d57446675d05298bb694bca4b194174", "sha256:39725acf2d2e9c17356e6835dccebe7a697db55f25a09207e38b835d5e1bc032", @@ -777,9 +797,12 @@ "sha256:ca20739e303254287138234485579b28cb0d524401f83d5129b5ff9d606cb0a8", "sha256:cb192176b477d49b0a327b2a5a4979552b7a58cd42037034316b8018ac3ebb59", "sha256:cdbbe7dff4a677fb555a54f9bc0450f2a21a93c5ba2b44e09e54fcb72d2bd13d", + "sha256:cf6e33d92b1526190a1de904df21663c46a456758c0424e4f947ae9aa6088bf7", "sha256:d355502dce85ade85a2511b40b4c61a128902f246504f7de29bbeec1ae27933a", + "sha256:d673c4990acd016229a5c1c4ee8a9e6d8f481b27ade5fc3d95938697fa443ce0", "sha256:dc577f4cfdda354db3ae37a572428a90ffdbe4e51eda7849bf442fb803f09c9b", - "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d" + "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d", + "sha256:f50e7a98b0453f39000619d845be8b06e611e56ee6e8186f7f60c3b1e2f0feae" ], "index": "pypi", "version": "==8.1.0" @@ -793,10 +816,10 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:ac329c69bd8564cb491940511957312c7b8959bb5b3cf3582b406068a51d5bb7", - "sha256:b8b3d0bde65da350290c46a8f54f336b3cbf5464a4ac11239668d986852e79d5" + "sha256:bf00f22079f5fadc949f42ae8ff7f05702826a97059ffcc6281036ad40ac6f04", + "sha256:e1b4f11b9336a28fa11810bc623c357420f69dfdb6d2dac41ca2c21a55c033bc" ], - "version": "==3.0.10" + "version": "==3.0.18" }, "psycopg2-binary": { "hashes": [ @@ -893,10 +916,10 @@ }, "python-magic": { "hashes": [ - "sha256:356efa93c8899047d1eb7d3eb91e871ba2f5b1376edbaf4cc305e3c872207355", - "sha256:b757db2a5289ea3f1ced9e60f072965243ea43a2221430048fd8cacab17be0ce" + "sha256:8551e804c09a3398790bd9e392acb26554ae2609f29c72abb0b9dee9a5571eae", + "sha256:ca884349f2c92ce830e3f498c5b7c7051fe2942c3ee4332f65213b8ebff15a62" ], - "version": "==0.4.18" + "version": "==0.4.22" }, "python3-openid": { "hashes": [ @@ -908,28 +931,44 @@ }, "pytz": { "hashes": [ - "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", - "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" + "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", + "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" ], - "version": "==2020.5" + "version": "==2021.1" }, "pyyaml": { "hashes": [ - "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", - "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", - "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", - "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e", - "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", - "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", - "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", - "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", - "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", - "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a", - "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", - "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", - "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" - ], - "version": "==5.3.1" + "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", + "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", + "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", + "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", + "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", + "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", + "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", + "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", + "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", + "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", + "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", + "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", + "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", + "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", + "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", + "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", + "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", + "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", + "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", + "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", + "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", + "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", + "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", + "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", + "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", + "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", + "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", + "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", + "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + ], + "version": "==5.4.1" }, "redis": { "hashes": [ @@ -940,48 +979,37 @@ }, "reportlab": { "hashes": [ - "sha256:009fa61710647cdc62eb373345248d8ebb93583a058990f7c4f9be46d90aa5b1", - "sha256:04a08d284da86882ec3a41a7c719833362ef891b09ee8e2fbb47cee352aa684a", - "sha256:07bff6742fba612da8d1b1f783c436338c6fdc6962828159827d5ca7d2b67935", - "sha256:09fb11ab1500e679fc1b01199d2fed24435499856e75043a9ac0d31dd48fd881", - "sha256:18a876449c9000c391dd3415ebc8454cd7bb9e488977b894886a2d7d018f16cd", - "sha256:18eec161411026dde49767bee4e5e8eeb8014879554811a62581dc7433628d5b", - "sha256:19353aead39fc115a4d6c598d6fb9fa26da7e69160a0443ebb49b02903e704e8", - "sha256:1b85c20e89c22ae902ca973df2afdd2d64d27dc4ffd2b29ebad8c805a213756b", - "sha256:1da3d7a35f918cee905facfa94bd00ae6091cadc06dca1b0b31b69ae02d41d1d", - "sha256:33f3cfdc492575f8af3225701301a7e62fc478358729820c9e0091aff5831378", - "sha256:3b0026c1129147befd4e5a8cf25da8dea1096fce371e7b2412e36d7254019c06", - "sha256:3d7713dddaa8081ed709a1fa2456a43f6a74b0f07d605da8441fd53fef334f69", - "sha256:3e2b4d69763103b9dc9b54c0952dc3cee05cedd06e28c0987fad7f84705b12c0", - "sha256:4ca5233a19a5ceca23546290f43addec2345789c7d65bb32f8b2668aa148351f", - "sha256:5214a289cf01ebbd65e49bae83709671dd9edb601891cf0ae8abf85f3c0b392f", - "sha256:52f8237654acbc78ea2fa6fb4a6a06e5b023b6da93f7889adfe2deba09473fad", - "sha256:5ed00894e0f8281c0b7c0494b4d3067c641fd90c8e5cf933089ec4cc9a48e491", - "sha256:6191961533d49c9d860964d42bada4d7ac3bb28502d984feb8034093f2012fa8", - "sha256:6f3ad2b1afe99c436563cd436d8693d4a12e2c4bd45f70c7705759ff7837fe53", - "sha256:739b743b7ca1ba4b4d64c321de6fccb49b562d0507ea06c817d9cc4faed5cd22", - "sha256:792efba0c0c6e4ee94f6dc95f305451733ee9230a1c7d51cb8e5301a549e0dfb", - "sha256:79d63ca40231ca3860859b39a92daa5219035ba9553da89a5e1b218550744121", - "sha256:83b28104edd58ad65748d2d0e60e0d97e3b91b3e90b4573ea6fe60de6811972c", - "sha256:85650446538cd2f606ca234634142a7ccd74cb6db7cfec250f76a4242e0f2431", - "sha256:9da445cb79e3f740756924c053edc952cde11a65ff5af8acfda3c0a1317136ef", - "sha256:9fabd5fbd24f5971085ffe53150d663f158f7d3050b25c95736e29ebf676d454", - "sha256:a0c377bc45e73c3f15f55d7de69fab270d174749d5b454ab0de502b15430ec2a", - "sha256:a1d3f7022a920d4a5e165d264581f1862e1c1b877ceeabb96fe98cec98125ae5", - "sha256:a315edef5c5610b0c75790142f49487e89ea34397fc247ae8aa890fe6d6dd057", - "sha256:a755cca2dcf023130b03bb671670301a992157d5c3151d838c0b68ef89894536", - "sha256:b1b20208ecdfffd7ca027955c4fe8972b28b30a4b3b80cf25099a08d3b20ed7c", - "sha256:b26d6f416891cef93411d6d478a25db275766081a5fb66368248293ef459f3be", - "sha256:b4ba4c30af7044ee987e61c88a5ffb76031ca0c53666bc85d823b7de55ddbc75", - "sha256:b71faf3b6e4d7058e1af1b8afedaf39a962db4a219affc8177009d8244ec10d4", - "sha256:cfa854bea525f8c913cb77e2bda724d94b965a0eb3bcfc4a645a9baa29bb86e2", - "sha256:dd9687359e466086b9f6fe6d8069034017f8b6ca3080944fae5709767ca6814e", - "sha256:de0c675fc2998a7eaa929c356ba49c84f53a892e9ab25e8ee7d8ebbbdcb2ac16", - "sha256:e2b4e33fea2ce9d3a14ea39191b169e41eb2ac995274f54ac8fd27519974bce8", - "sha256:f3d4a1a273dc141e03b72a553c11bc14dd7a27ec7654a071edcf83eb04f004bc", - "sha256:ff547cf4c1de7e104cad1a378431ff81efcb03e90e40871ee686107da5b91442" - ], - "version": "==3.5.59" + "sha256:0cf2206c73fbca752c8bd39e12bb9ad7f2d01e6fcb2b25b9eaf94ea042fe86c9", + "sha256:0d670e119d7f7a68a1136de024464999e8e3d5d1491f23cdd39d5d72481af88f", + "sha256:1656722530b3bbce012b093abf6290ab76dcba39d21f9e703310b008ddc7ffe9", + "sha256:1e41b441542881e007420530bbc028f08c0f546ecaaebdf9f065f901acdac106", + "sha256:34d827c771d6b4d7b45f7fc49a638c97fbd8a0fab6c9d3838ff04d307420b739", + "sha256:370c5225f0c395a9f1482ac8d4f974d2073548f186eaf49ceb91414f534ad4d8", + "sha256:42b90b0cb3556f4d1cc1c538345abc249b6ff58939d3af5e37f5fa8421d9ae07", + "sha256:492bd47aabeaa3215cde7a8d3c0d88c909bf7e6b63f0b511a645f1ffc1e948f6", + "sha256:4c5785b018ed6f48e762737deaa6b7528b0ba43ad67fca566bf10d0337a76dcd", + "sha256:519ef25d49fe807c6c0402abb5fe4d14b47a8e2358050d8d7673beecfbe116b2", + "sha256:51a2d5de2c605117cd25dfb3f51d1d14caf1cbed4ef6db582f085eeb0a0c922f", + "sha256:55ef4476b2cdecfa643ae4d7591aa157568f903c378c83ea544650b33b2d856d", + "sha256:5b4acfb15ca028bbc652a6c8d63073dec2a3c8c0db7585d68b96b52940f65899", + "sha256:5c483c96d4cbeb4919ad9fcf2f262e8e08e34dcbcf8d2bda16263ef002c890d4", + "sha256:5c931032aa955431c808e469eb0780ca7d12b39228a02ae7ea09f63d47b1e260", + "sha256:6a3119d0e985e5c7dadfcf29fb79bbab19806b08ad901622b23f5868c0221fce", + "sha256:72bb5417f198eb059f01d5a9e1ef80f2fbaf3eaa4cd63e9a681bbbd0ed9fcdf9", + "sha256:8cd355f8a4c7c126a246f4b4a9803c80498939709bb37d3db4f8dbee1eb7d8f0", + "sha256:9517f26a512a62d49fc4800222b306e21a14ceec8bd82c93182313ef1eefaa7a", + "sha256:9945e80a0a6e370f90a23907cc70a0811e808f79420fb9051e26d9c79eb8e26b", + "sha256:9989737a409235a734ec783b0545f2966247b26ff555e847f3d0f945e5a11493", + "sha256:9c0d71aef4fb5d30dc6ebd08a2bce317a7eaf37d468f85320947eb580daea90a", + "sha256:9d48fd4a1c2d98ec6686511717f0980d36f5590e038d5afe4e5241f328f06e38", + "sha256:af12fbff15a9652ef117456d1d6a4d6fade8fdc02670d6fd31212402e9d03559", + "sha256:b2b72a0742a493979c348dc3c9a329bd5b87e4243ffecf837b1c8739d58410ba", + "sha256:bda784ebb116d56d3e7133c8e0942cf68cb7fd58bdccf57231dbe56b6430eb01", + "sha256:df2784a474028b15a723f6b347625f1f91740de418bed4a0a2694c954de34dd7", + "sha256:e2b47a8e0126ec0a3820a2e299a94a6fc29ba132249957dd32c447d380eaae5f", + "sha256:e4b9b443e88735be4927529d66d9e1164b4fbd6a882e90114967eedc6ad608e7" + ], + "version": "==3.5.67" }, "requests": { "hashes": [ @@ -1000,11 +1028,11 @@ }, "sentry-sdk": { "hashes": [ - "sha256:0a711ec952441c2ec89b8f5d226c33bc697914f46e876b44a4edd3e7864cf4d0", - "sha256:737a094e49a529dd0fdcaafa9e97cf7c3d5eb964bd229821d640bc77f3502b3f" + "sha256:71de00c9711926816f750bc0f57ef2abbcb1bfbdf5378c601df7ec978f44857a", + "sha256:9221e985f425913204989d0e0e1cbb719e8b7fa10540f1bc509f660c06a34e66" ], "index": "pypi", - "version": "==0.19.5" + "version": "==1.0.0" }, "simplejson": { "hashes": [ @@ -1214,10 +1242,11 @@ }, "unicef-restlib": { "hashes": [ - "sha256:2f3e81e06582d193ae9bf4ab40839f842032c4372d421d9a48625013c0c21298" + "sha256:30454c8b1f0b24959cc1c1aa0a34d6e3ba2dfca80053ac18e0f189e7492119a0", + "sha256:b4be04a228f8409a1eefca19a4d206ecef638bc3ea9e5655531f8c37731bed59" ], "index": "pypi", - "version": "==0.6.1" + "version": "==0.7" }, "unicef-snapshot": { "hashes": [ @@ -1249,10 +1278,10 @@ }, "urllib3": { "hashes": [ - "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", - "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df", + "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" ], - "version": "==1.26.2" + "version": "==1.26.4" }, "vine": { "hashes": [ @@ -1298,10 +1327,10 @@ }, "zipp": { "hashes": [ - "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", - "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" + "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76", + "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098" ], - "version": "==3.4.0" + "version": "==3.4.1" } }, "develop": { @@ -1327,13 +1356,6 @@ "markers": "sys_platform == 'darwin'", "version": "==0.1.2" }, - "asgiref": { - "hashes": [ - "sha256:5ee950735509d04eb673bd7f7120f8fa1c9e2df495394992c73234d526907e17", - "sha256:7162a3cb30ab0609f1a4c95938fd73e8604f63bdba516a7f7d64b83ff09478f0" - ], - "version": "==3.3.1" - }, "babel": { "hashes": [ "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5", @@ -1364,65 +1386,68 @@ }, "coverage": { "hashes": [ - "sha256:08b3ba72bd981531fd557f67beee376d6700fba183b167857038997ba30dd297", - "sha256:2757fa64e11ec12220968f65d086b7a29b6583d16e9a544c889b22ba98555ef1", - "sha256:3102bb2c206700a7d28181dbe04d66b30780cde1d1c02c5f3c165cf3d2489497", - "sha256:3498b27d8236057def41de3585f317abae235dd3a11d33e01736ffedb2ef8606", - "sha256:378ac77af41350a8c6b8801a66021b52da8a05fd77e578b7380e876c0ce4f528", - "sha256:38f16b1317b8dd82df67ed5daa5f5e7c959e46579840d77a67a4ceb9cef0a50b", - "sha256:3911c2ef96e5ddc748a3c8b4702c61986628bb719b8378bf1e4a6184bbd48fe4", - "sha256:3a3c3f8863255f3c31db3889f8055989527173ef6192a283eb6f4db3c579d830", - "sha256:3b14b1da110ea50c8bcbadc3b82c3933974dbeea1832e814aab93ca1163cd4c1", - "sha256:535dc1e6e68fad5355f9984d5637c33badbdc987b0c0d303ee95a6c979c9516f", - "sha256:6f61319e33222591f885c598e3e24f6a4be3533c1d70c19e0dc59e83a71ce27d", - "sha256:723d22d324e7997a651478e9c5a3120a0ecbc9a7e94071f7e1954562a8806cf3", - "sha256:76b2775dda7e78680d688daabcb485dc87cf5e3184a0b3e012e1d40e38527cc8", - "sha256:782a5c7df9f91979a7a21792e09b34a658058896628217ae6362088b123c8500", - "sha256:7e4d159021c2029b958b2363abec4a11db0ce8cd43abb0d9ce44284cb97217e7", - "sha256:8dacc4073c359f40fcf73aede8428c35f84639baad7e1b46fce5ab7a8a7be4bb", - "sha256:8f33d1156241c43755137288dea619105477961cfa7e47f48dbf96bc2c30720b", - "sha256:8ffd4b204d7de77b5dd558cdff986a8274796a1e57813ed005b33fd97e29f059", - "sha256:93a280c9eb736a0dcca19296f3c30c720cb41a71b1f9e617f341f0a8e791a69b", - "sha256:9a4f66259bdd6964d8cf26142733c81fb562252db74ea367d9beb4f815478e72", - "sha256:9a9d4ff06804920388aab69c5ea8a77525cf165356db70131616acd269e19b36", - "sha256:a2070c5affdb3a5e751f24208c5c4f3d5f008fa04d28731416e023c93b275277", - "sha256:a4857f7e2bc6921dbd487c5c88b84f5633de3e7d416c4dc0bb70256775551a6c", - "sha256:a607ae05b6c96057ba86c811d9c43423f35e03874ffb03fbdcd45e0637e8b631", - "sha256:a66ca3bdf21c653e47f726ca57f46ba7fc1f260ad99ba783acc3e58e3ebdb9ff", - "sha256:ab110c48bc3d97b4d19af41865e14531f300b482da21783fdaacd159251890e8", - "sha256:b239711e774c8eb910e9b1ac719f02f5ae4bf35fa0420f438cdc3a7e4e7dd6ec", - "sha256:be0416074d7f253865bb67630cf7210cbc14eb05f4099cc0f82430135aaa7a3b", - "sha256:c46643970dff9f5c976c6512fd35768c4a3819f01f61169d8cdac3f9290903b7", - "sha256:c5ec71fd4a43b6d84ddb88c1df94572479d9a26ef3f150cef3dacefecf888105", - "sha256:c6e5174f8ca585755988bc278c8bb5d02d9dc2e971591ef4a1baabdf2d99589b", - "sha256:c89b558f8a9a5a6f2cfc923c304d49f0ce629c3bd85cb442ca258ec20366394c", - "sha256:cc44e3545d908ecf3e5773266c487ad1877be718d9dc65fc7eb6e7d14960985b", - "sha256:cc6f8246e74dd210d7e2b56c76ceaba1cc52b025cd75dbe96eb48791e0250e98", - "sha256:cd556c79ad665faeae28020a0ab3bda6cd47d94bec48e36970719b0b86e4dcf4", - "sha256:ce6f3a147b4b1a8b09aae48517ae91139b1b010c5f36423fa2b866a8b23df879", - "sha256:ceb499d2b3d1d7b7ba23abe8bf26df5f06ba8c71127f188333dddcf356b4b63f", - "sha256:cef06fb382557f66d81d804230c11ab292d94b840b3cb7bf4450778377b592f4", - "sha256:e448f56cfeae7b1b3b5bcd99bb377cde7c4eb1970a525c770720a352bc4c8044", - "sha256:e52d3d95df81c8f6b2a1685aabffadf2d2d9ad97203a40f8d61e51b70f191e4e", - "sha256:ee2f1d1c223c3d2c24e3afbb2dd38be3f03b1a8d6a83ee3d9eb8c36a52bee899", - "sha256:f2c6888eada180814b8583c3e793f3f343a692fc802546eed45f40a001b1169f", - "sha256:f51dbba78d68a44e99d484ca8c8f604f17e957c1ca09c3ebc2c7e3bbd9ba0448", - "sha256:f54de00baf200b4539a5a092a759f000b5f45fd226d6d25a76b0dff71177a714", - "sha256:fa10fee7e32213f5c7b0d6428ea92e3a3fdd6d725590238a3f92c0de1c78b9d2", - "sha256:fabeeb121735d47d8eab8671b6b031ce08514c86b7ad8f7d5490a7b6dcd6267d", - "sha256:fac3c432851038b3e6afe086f777732bcf7f6ebbfd90951fa04ee53db6d0bcdd", - "sha256:fda29412a66099af6d6de0baa6bd7c52674de177ec2ad2630ca264142d69c6c7", - "sha256:ff1330e8bc996570221b450e2d539134baa9465f5cb98aff0e0f73f34172e0ae" - ], - "index": "pypi", - "version": "==5.3.1" + "sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c", + "sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6", + "sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45", + "sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a", + "sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03", + "sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529", + "sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a", + "sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a", + "sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2", + "sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6", + "sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759", + "sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53", + "sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a", + "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4", + "sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff", + "sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502", + "sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793", + "sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb", + "sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905", + "sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821", + "sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b", + "sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81", + "sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0", + "sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b", + "sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3", + "sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184", + "sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701", + "sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a", + "sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82", + "sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638", + "sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5", + "sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083", + "sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6", + "sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90", + "sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465", + "sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a", + "sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3", + "sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e", + "sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066", + "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf", + "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b", + "sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae", + "sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669", + "sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873", + "sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b", + "sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6", + "sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb", + "sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160", + "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c", + "sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079", + "sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d", + "sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6" + ], + "index": "pypi", + "version": "==5.5" }, "decorator": { "hashes": [ - "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", - "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" + "sha256:6f201a6c4dac3d187352661f508b9364ec8091217442c9478f1f83c003a0f060", + "sha256:945d84890bb20cc4a2f4a31fc4311c0c473af65ea318617f13a7257c9a58bc98" ], - "version": "==4.4.2" + "version": "==5.0.7" }, "distlib": { "hashes": [ @@ -1431,22 +1456,6 @@ ], "version": "==0.3.1" }, - "django": { - "hashes": [ - "sha256:558cb27930defd9a6042133258caf797b2d1dee233959f537e3dc475cb49bd7c", - "sha256:cf5370a4d7765a9dd6d42a7b96b53c74f9446cd38209211304b210fe0404b861" - ], - "index": "pypi", - "version": "==2.2.17" - }, - "djangorestframework": { - "hashes": [ - "sha256:0209bafcb7b5010fdfec784034f059d512256424de2a0f084cb82b096d6dd6a7", - "sha256:0898182b4737a7b584a2c73735d89816343369f259fea932d90dc78e35d8ac33" - ], - "index": "pypi", - "version": "==3.12.2" - }, "docutils": { "hashes": [ "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af", @@ -1454,14 +1463,6 @@ ], "version": "==0.16" }, - "drf-api-checker": { - "hashes": [ - "sha256:5341b63a9b33e9c093ee0f58932ec53373e57b7e619ee3acfb2bc05bd83594a5", - "sha256:a341a45a874ef00d1b10e51fd1b03dddecd9ef0aeba916ba91522a7bdcca9ae5" - ], - "index": "pypi", - "version": "==0.10.0" - }, "factory-boy": { "hashes": [ "sha256:1d3db4b44b8c8c54cdd8b83ae4bdb9aeb121e464400035f1f03ae0e1eade56a4", @@ -1472,10 +1473,10 @@ }, "faker": { "hashes": [ - "sha256:bd56ab94b9ae45df3cdb6ef3ca3c2be2617e6a640699deb74394143d220faf04", - "sha256:d70983d5e623976e9e8987e9a39e8d55378e66049f393db35ea9a37b3190085f" + "sha256:26c7c3df8d46f1db595a34962f8967021dd90bbd38cc6e27461a3fb16cd413ae", + "sha256:44eb060fad3015690ff3fec6564d7171be393021e820ad1851d96cb968fbfcd4" ], - "version": "==5.4.0" + "version": "==8.1.0" }, "fancycompleter": { "hashes": [ @@ -1493,19 +1494,19 @@ }, "flake8": { "hashes": [ - "sha256:749dbbd6bfd0cf1318af27bf97a14e28e5ff548ef8e5b1566ccfb25a11e7c839", - "sha256:aadae8761ec651813c24be05c6f7b4680857ef6afaae4651a4eccaef97ce6c3b" + "sha256:12d05ab02614b6aee8df7c36b97d1a3b2372761222b19b58621355e82acddcff", + "sha256:78873e372b12b093da7b5e5ed302e8ad9e988b38b063b61ad937f26ca58fc5f0" ], "index": "pypi", - "version": "==3.8.4" + "version": "==3.9.0" }, "freezegun": { "hashes": [ - "sha256:02b35de52f4699a78f6ac4518e4cd3390dddc43b0aeb978335a8f270a2d9668b", - "sha256:1cf08e441f913ff5e59b19cc065a8faa9dd1ddc442eaf0375294f344581a0643" + "sha256:177f9dd59861d871e27a484c3332f35a6e3f5d14626f2bf91be37891f18927f3", + "sha256:2ae695f7eb96c62529f03a038461afe3c692db3465e215355e1bb4b0ab408712" ], "index": "pypi", - "version": "==1.0.0" + "version": "==1.1.0" }, "idna": { "hashes": [ @@ -1523,19 +1524,19 @@ }, "importlib-metadata": { "hashes": [ - "sha256:5c5a2720817414a6c41f0a49993908068243ae02c1635a228126519b509c8aed", - "sha256:bf792d480abbd5eda85794e4afb09dd538393f7d6e6ffef6e9f03d2014cf9450" + "sha256:2ec0faae539743ae6aaa84b49a169670a465f7f5d64e6add98388cc29fd1f2f6", + "sha256:c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1" ], "markers": "python_version < '3.8'", - "version": "==3.3.0" + "version": "==3.10.1" }, "ipython": { "hashes": [ - "sha256:c987e8178ced651532b3b1ff9965925bfd445c279239697052561a9ab806d28f", - "sha256:cbb2ef3d5961d44e6a963b9817d4ea4e1fa2eb589c371a470fed14d8d40cbd6a" + "sha256:9c900332d4c5a6de534b4befeeb7de44ad0cc42e8327fa41b7685abde58cec74", + "sha256:c0ce02dfaa5f854809ab7413c601c4543846d9da81010258ecdab299b542d199" ], "index": "pypi", - "version": "==7.19.0" + "version": "==7.22.0" }, "ipython-genutils": { "hashes": [ @@ -1546,11 +1547,11 @@ }, "isort": { "hashes": [ - "sha256:c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e", - "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc" + "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6", + "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d" ], "index": "pypi", - "version": "==5.7.0" + "version": "==5.8.0" }, "jedi": { "hashes": [ @@ -1561,10 +1562,10 @@ }, "jinja2": { "hashes": [ - "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", - "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" + "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419", + "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6" ], - "version": "==2.11.2" + "version": "==2.11.3" }, "markupsafe": { "hashes": [ @@ -1573,8 +1574,12 @@ "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", + "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f", + "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39", "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014", + "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f", "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", @@ -1583,24 +1588,39 @@ "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85", + "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1", "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850", + "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0", "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb", "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1", + "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2", "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7", "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8", "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193", "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b", "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", + "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5", + "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c", + "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032", "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", - "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" + "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be", + "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621" ], "version": "==1.1.1" }, @@ -1663,17 +1683,17 @@ }, "packaging": { "hashes": [ - "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858", - "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093" + "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5", + "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a" ], - "version": "==20.8" + "version": "==20.9" }, "parso": { "hashes": [ - "sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410", - "sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e" + "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398", + "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22" ], - "version": "==0.8.1" + "version": "==0.8.2" }, "pdbpp": { "hashes": [ @@ -1706,10 +1726,10 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:ac329c69bd8564cb491940511957312c7b8959bb5b3cf3582b406068a51d5bb7", - "sha256:b8b3d0bde65da350290c46a8f54f336b3cbf5464a4ac11239668d986852e79d5" + "sha256:bf00f22079f5fadc949f42ae8ff7f05702826a97059ffcc6281036ad40ac6f04", + "sha256:e1b4f11b9336a28fa11810bc623c357420f69dfdb6d2dac41ca2c21a55c033bc" ], - "version": "==3.0.10" + "version": "==3.0.18" }, "ptyprocess": { "hashes": [ @@ -1727,24 +1747,24 @@ }, "pycodestyle": { "hashes": [ - "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367", - "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e" + "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068", + "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef" ], - "version": "==2.6.0" + "version": "==2.7.0" }, "pyflakes": { "hashes": [ - "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92", - "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8" + "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3", + "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db" ], - "version": "==2.2.0" + "version": "==2.3.1" }, "pygments": { "hashes": [ - "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", - "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" + "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94", + "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8" ], - "version": "==2.7.3" + "version": "==2.8.1" }, "pyparsing": { "hashes": [ @@ -1768,28 +1788,44 @@ }, "pytz": { "hashes": [ - "sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4", - "sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5" + "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", + "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" ], - "version": "==2020.5" + "version": "==2021.1" }, "pyyaml": { "hashes": [ - "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", - "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", - "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", - "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e", - "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", - "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", - "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", - "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", - "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", - "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a", - "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", - "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", - "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" - ], - "version": "==5.3.1" + "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", + "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", + "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", + "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", + "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", + "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", + "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", + "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", + "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", + "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", + "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", + "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", + "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", + "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", + "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", + "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", + "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", + "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", + "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", + "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", + "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", + "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", + "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", + "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", + "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", + "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", + "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", + "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", + "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + ], + "version": "==5.4.1" }, "requests": { "hashes": [ @@ -1801,11 +1837,11 @@ }, "responses": { "hashes": [ - "sha256:2e5764325c6b624e42b428688f2111fea166af46623cb0127c05f6afb14d3457", - "sha256:ef265bd3200bdef5ec17912fc64a23570ba23597fd54ca75c18650fa1699213d" + "sha256:0f0ab4717728d33dae8e66deea61eecc1e38f0398e35249e3963ff74cfc8d0d8", + "sha256:75529f9bea08276cea43545dcb6129f137c299d6a12269485a753785c869e0e2" ], "index": "pypi", - "version": "==0.12.1" + "version": "==0.13.2" }, "six": { "hashes": [ @@ -1816,18 +1852,18 @@ }, "snowballstemmer": { "hashes": [ - "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0", - "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52" + "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2", + "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914" ], - "version": "==2.0.0" + "version": "==2.1.0" }, "sphinx": { "hashes": [ - "sha256:41cad293f954f7d37f803d97eb184158cfd90f51195131e94875bc07cd08b93c", - "sha256:c314c857e7cd47c856d2c5adff514ac2e6495f8b8e0f886a8a37e9305dfea0d8" + "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1", + "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8" ], "index": "pypi", - "version": "==3.4.3" + "version": "==3.5.4" }, "sphinxcontrib-applehelp": { "hashes": [ @@ -1871,13 +1907,6 @@ ], "version": "==1.1.4" }, - "sqlparse": { - "hashes": [ - "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0", - "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8" - ], - "version": "==0.4.1" - }, "text-unidecode": { "hashes": [ "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8", @@ -1894,11 +1923,11 @@ }, "tox": { "hashes": [ - "sha256:5efda30ad73e662c3844ac51ce1381bf28f61063773e06996aa8b6277133a7c0", - "sha256:8cccede64802e78aa6c69f81051b25f0706639d1cbbb34d9366ce00c70ee054f" + "sha256:05a4dbd5e4d3d8269b72b55600f0b0303e2eb47ad5c6fe76d3576f4c58d93661", + "sha256:e007673f3595cede9b17a7c4962389e4305d4a3682a6c5a4159a1453b4f326aa" ], "index": "pypi", - "version": "==3.21.0" + "version": "==3.23.0" }, "traitlets": { "hashes": [ @@ -1918,10 +1947,10 @@ }, "urllib3": { "hashes": [ - "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", - "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" + "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df", + "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" ], - "version": "==1.26.2" + "version": "==1.26.4" }, "vcrpy": { "hashes": [ @@ -1933,10 +1962,10 @@ }, "virtualenv": { "hashes": [ - "sha256:54b05fc737ea9c9ee9f8340f579e5da5b09fb64fd010ab5757eb90268616907c", - "sha256:b7a8ec323ee02fb2312f098b6b4c9de99559b462775bc8fe3627a73706603c1b" + "sha256:49ec4eb4c224c6f7dd81bb6d0a28a09ecae5894f4e593c89b0db0885f565a107", + "sha256:83f95875d382c7abafe06bd2a4cdd1b363e1bb77e02f155ebe8ac082a916b37c" ], - "version": "==20.2.2" + "version": "==20.4.3" }, "wcwidth": { "hashes": [ @@ -2002,10 +2031,10 @@ }, "zipp": { "hashes": [ - "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108", - "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb" + "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76", + "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098" ], - "version": "==3.4.0" + "version": "==3.4.1" } } } diff --git a/src/etools/applications/action_points/filters.py b/src/etools/applications/action_points/filters.py index 201433c09e..be540eb0b4 100644 --- a/src/etools/applications/action_points/filters.py +++ b/src/etools/applications/action_points/filters.py @@ -27,11 +27,13 @@ def filter_queryset(self, request, queryset, view): ActionPoint.MODULE_CHOICES.tpm: {'tpm_activity__isnull': False}, ActionPoint.MODULE_CHOICES.psea: {'psea_assessment__isnull': False}, ActionPoint.MODULE_CHOICES.audit: {'engagement__isnull': False}, + ActionPoint.MODULE_CHOICES.fm: {'monitoring_activity__isnull': False}, ActionPoint.MODULE_CHOICES.apd: { 'travel_activity__isnull': True, 'tpm_activity__isnull': True, 'psea_assessment__isnull': True, - 'engagement__isnull': True + 'engagement__isnull': True, + 'monitoring_activity__isnull': True, }, } if related_module not in related_instance_filters: diff --git a/src/etools/applications/audit/admin.py b/src/etools/applications/audit/admin.py index debdf11701..394115e5d9 100644 --- a/src/etools/applications/audit/admin.py +++ b/src/etools/applications/audit/admin.py @@ -31,7 +31,7 @@ class EngagementAdmin(admin.ModelAdmin): ] search_fields = 'partner__name', 'agreement__auditor_firm__name', filter_horizontal = ('authorized_officers', 'active_pd', 'staff_members', 'users_notified', 'sections', 'offices') - raw_id_fields = ('po_item', 'partner') + raw_id_fields = ('po_item', 'partner', 'active_pd', 'staff_members', 'authorized_officers', 'users_notified', ) @admin.register(RiskCategory) diff --git a/src/etools/applications/audit/purchase_order/admin.py b/src/etools/applications/audit/purchase_order/admin.py index e1f74da64c..2857fa9264 100644 --- a/src/etools/applications/audit/purchase_order/admin.py +++ b/src/etools/applications/audit/purchase_order/admin.py @@ -75,6 +75,8 @@ class AuditorStaffAdmin(admin.ModelAdmin): list_display = ['user', 'email', 'auditor_firm', 'hidden'] list_filter = ['auditor_firm', 'hidden'] search_fields = ['user__username', 'user__email', 'user__first_name', 'user__last_name', 'auditor_firm__name', ] + readonly_fields = 'history', + raw_id_fields = ['user', ] def email(self, obj): return obj.user.email diff --git a/src/etools/applications/audit/purchase_order/migrations/0008_auto_20210415_1546.py b/src/etools/applications/audit/purchase_order/migrations/0008_auto_20210415_1546.py new file mode 100644 index 0000000000..5f4d632610 --- /dev/null +++ b/src/etools/applications/audit/purchase_order/migrations/0008_auto_20210415_1546.py @@ -0,0 +1,31 @@ +# Generated by Django 2.2.20 on 2021-04-15 15:46 + +import django.contrib.postgres.fields +from django.db import migrations, models +import django.utils.timezone +import model_utils.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('purchase_order', '0007_auto_20190625_1437'), + ] + + operations = [ + migrations.AddField( + model_name='auditorstaffmember', + name='created', + field=model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created'), + ), + migrations.AddField( + model_name='auditorstaffmember', + name='history', + field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=50, verbose_name='History'), blank=True, default=list, size=None), + ), + migrations.AddField( + model_name='auditorstaffmember', + name='modified', + field=model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified'), + ), + ] diff --git a/src/etools/applications/audit/purchase_order/migrations/0009_auto_20210421_1745.py b/src/etools/applications/audit/purchase_order/migrations/0009_auto_20210421_1745.py new file mode 100644 index 0000000000..5eb427b1f0 --- /dev/null +++ b/src/etools/applications/audit/purchase_order/migrations/0009_auto_20210421_1745.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.20 on 2021-04-21 17:45 + +import django.contrib.postgres.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('purchase_order', '0008_auto_20210415_1546'), + ] + + operations = [ + migrations.AlterField( + model_name='auditorstaffmember', + name='history', + field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128, verbose_name='History'), blank=True, default=list, size=None), + ), + ] diff --git a/src/etools/applications/audit/views.py b/src/etools/applications/audit/views.py index f9ccc67595..de09e4a360 100644 --- a/src/etools/applications/audit/views.py +++ b/src/etools/applications/audit/views.py @@ -1,15 +1,17 @@ from django.contrib.auth import get_user_model from django.contrib.contenttypes.models import ContentType +from django.db import transaction from django.db.models import Prefetch from django.http import Http404 from django.utils import timezone +from django.utils.timezone import now from django.utils.translation import gettext_lazy as _ from django_filters.rest_framework import DjangoFilterBackend from easy_pdf.rendering import render_to_pdf_response from rest_framework import generics, mixins, viewsets from rest_framework.decorators import action -from rest_framework.exceptions import NotFound +from rest_framework.exceptions import NotFound, ValidationError from rest_framework.filters import OrderingFilter, SearchFilter from rest_framework.permissions import IsAuthenticated from rest_framework.renderers import JSONRenderer @@ -512,9 +514,33 @@ def perform_create(self, serializer, **kwargs): instance.user.groups.add(Auditor.as_group()) instance.user.profile.save() + @transaction.atomic def perform_update(self, serializer): self.check_serializer_permissions(serializer, edit=True) + if 'email' in serializer.validated_data['user']: + hidden_staff = AuditorStaffMember.objects.filter( + user__email=serializer.validated_data['user']['email'], hidden=True).first() + if hidden_staff: + if hidden_staff.auditor_firm != self.get_parent_object(): + raise ValidationError(f'User already associated with {hidden_staff.auditor_firm}') + else: + hidden_staff.hidden = False + timestamp = str(now()) + hidden_staff.history.append( + f'requestor:{self.request.user.username},hidden:{hidden_staff.hidden},timestamp:{timestamp}' + ) + hidden_staff.save() + deactivated_user = hidden_staff.user + deactivated_user.is_active = True + deactivated_user.save() + deleted_profile = hidden_staff.user.profile + deleted_profile.countries_available.add(self.request.tenant) + if not deleted_profile.country: + deleted_profile.country = self.request.tenant + deleted_profile.save() + return + super().perform_update(serializer) instance = serializer.save(auditor_firm=self.get_parent_object()) if not instance.user.profile.country: @@ -524,7 +550,11 @@ def perform_update(self, serializer): def perform_destroy(self, instance): # deactivate staff member & user + timestamp = str(now()) instance.hidden = True + instance.history.append( + f'requestor:{self.request.user.username},hidden:{instance.hidden},timestamp:{timestamp}' + ) instance.save() if not instance.user.is_unicef_user(): instance.user.is_active = False diff --git a/src/etools/applications/core/data/field_monitoring_questions.json b/src/etools/applications/core/data/field_monitoring_questions.json index 6029d70b11..da08205313 100644 --- a/src/etools/applications/core/data/field_monitoring_questions.json +++ b/src/etools/applications/core/data/field_monitoring_questions.json @@ -613,6 +613,62 @@ "sections": [] } }, +{ + "model": "field_monitoring_settings.question", + "pk": 1033, + "fields": { + "answer_type": "likert_scale", + "choices_size": null, + "level": "partner", + "category": 6, + "text": "Do UNICEF-supported sites of the partner have visible communications materials (posters, leaflets, brochures) on how to report allegations of sexual exploitation and abuse?", + "is_hact": false, + "is_custom": false, + "is_active": true, + "methods": [ + 3 + ], + "sections": [] + } +}, +{ + "model": "field_monitoring_settings.question", + "pk": 1034, + "fields": { + "answer_type": "likert_scale", + "choices_size": null, + "level": "partner", + "category": 6, + "text": "Proportion of partner personnel (staff, consultants, volunteers, interns, sub-contractors) in the location who have received a training on PSEA In the last 12 months that meets the minimum criteria?", + "is_hact": false, + "is_custom": false, + "is_active": true, + "methods": [ + 1, + 2 + ], + "sections": [] + } +}, +{ + "model": "field_monitoring_settings.question", + "pk": 1035, + "fields": { + "answer_type": "likert_scale", + "choices_size": null, + "level": "partner", + "category": 6, + "text": "Proportion of beneficiaries in the programme location that can explain at least one channel to report SEA (such as SMS, phone hotline, email, feedback box, PSEA focal point from partner organization)", + "is_hact": false, + "is_custom": false, + "is_active": true, + "methods": [ + 1, + 2 + ], + "sections": [] + } +}, { "model": "field_monitoring_settings.option", "pk": 1, @@ -1359,5 +1415,122 @@ "label": "Plausible good sustainability after programme exit", "value": "3" } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1084, + "fields": { + "question": 1033, + "label": "No", + "value": "1" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1085, + "fields": { + "question": 1033, + "label": "Yes, includes some of the necessary elements", + "value": "2" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1086, + "fields": { + "question": 1033, + "label": "Yes, includes all of the necessary elements", + "value": "3" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1087, + "fields": { + "question": 1034, + "label": "None", + "value": "1" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1088, + "fields": { + "question": 1034, + "label": "1-25% have received training", + "value": "2" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1089, + "fields": { + "question": 1034, + "label": "26%-50% have received training", + "value": "3" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1090, + "fields": { + "question": 1034, + "label": "51-75% have received training", + "value": "4" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1091, + "fields": { + "question": 1034, + "label": "76-100% have received training", + "value": "5" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1092, + "fields": { + "question": 1035, + "label": "None of the beneficiaries are aware", + "value": "1" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1093, + "fields": { + "question": 1035, + "label": "1-25% of beneficiaries are aware", + "value": "2" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1094, + "fields": { + "question": 1035, + "label": "26-50% of beneficiaries are aware", + "value": "3" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1095, + "fields": { + "question": 1035, + "label": "51%-75% of beneficiaries are aware", + "value": "4" + } +}, +{ + "model": "field_monitoring_settings.option", + "pk": 1096, + "fields": { + "question": 1035, + "label": "76%-100% of beneficiaries are aware", + "value": "5" + } } -] \ No newline at end of file +] diff --git a/src/etools/applications/core/data/field_monitoring_questiontemplate.json b/src/etools/applications/core/data/field_monitoring_questiontemplate.json new file mode 100644 index 0000000000..654215ff9b --- /dev/null +++ b/src/etools/applications/core/data/field_monitoring_questiontemplate.json @@ -0,0 +1,26 @@ +[ +{ + "model": "field_monitoring_planning.questiontemplate", + "pk": 1034, + "fields": { + "partner": null, + "cp_output": null, + "intervention": null, + "question": 1034, + "is_active": true, + "specific_details": "Minimum criteria for PSEA training include the following :1) a definition of SEA (that is aligned with the UN's definition); 2) explanation on prohibition of SEA; and 3) actions that personnel are required to take (i.e. prompt reporting of allegations and X- partner staff X- partner staff Scale -5 None 1-25% have received training. 26%-50% have received training. 51-75% have received training. 76-100% have received training. Corresponds to indicator in Output 2.3, Results Monitoring Framework referral of victims)." + } +}, +{ + "model": "field_monitoring_planning.questiontemplate", + "pk": 1035, + "fields": { + "partner": null, + "cp_output": null, + "intervention": null, + "question": 1035, + "is_active": true, + "specific_details": "Necessary elements include: 1. Available in the local language; 2. Adapted for different levels of literacy; 3. Contact information is clear (SMS, email or phone number); 4. Design is child-sensitive." + } +} +] diff --git a/src/etools/applications/core/notifications/import_complete.py b/src/etools/applications/core/notifications/import_complete.py new file mode 100644 index 0000000000..adcbebc432 --- /dev/null +++ b/src/etools/applications/core/notifications/import_complete.py @@ -0,0 +1,21 @@ +name = 'locations/import_completed' +defaults = { + 'description': 'Import locations completed', + 'subject': '[eTools] Import locations completed', + + 'content': """ + Dear {{ recipient }}, + + Location import for {{ table.table_name }} - {{ table.location_type.name }} has been completed. + """, + + 'html_content': """ + {% extends "email-templates/base" %} + + {% block content %} + Dear {{ recipient }},

+ + Location import for {{ table.display_name }} - {{ table.location_type.name }} has been completed.
+ {% endblock %} + """ +} diff --git a/src/etools/applications/field_monitoring/analyze/serializers.py b/src/etools/applications/field_monitoring/analyze/serializers.py index 9de896f6b0..cbe9ec0f31 100644 --- a/src/etools/applications/field_monitoring/analyze/serializers.py +++ b/src/etools/applications/field_monitoring/analyze/serializers.py @@ -1,5 +1,8 @@ import json +from django.contrib.postgres.fields.jsonb import KeyTextTransform +from django.db.models import Max + from rest_framework import serializers from unicef_locations.models import Location @@ -19,7 +22,13 @@ def get_visits_completed(self, obj): return MonitoringActivity.objects.filter(status=MonitoringActivity.STATUSES.completed).count() def get_visits_planned(self, obj): - return 0 + def _rec_key_text(keys): + head = keys.pop() + if not keys: + return head + return KeyTextTransform(head, _rec_key_text(keys)) + exp = _rec_key_text(['hact_values', 'programmatic_visits', 'planned', 'total']) + return PartnerOrganization.objects.annotate(visits=exp).aggregate(max=Max('visits'))['max'] or 0 class PartnersCoverageSerializer(serializers.ModelSerializer): diff --git a/src/etools/applications/field_monitoring/analyze/tests/test_views.py b/src/etools/applications/field_monitoring/analyze/tests/test_views.py index 049d0bb41a..4b501c63dd 100644 --- a/src/etools/applications/field_monitoring/analyze/tests/test_views.py +++ b/src/etools/applications/field_monitoring/analyze/tests/test_views.py @@ -36,7 +36,7 @@ def setUpTestData(cls): cls.failed_activity = MonitoringActivityFactory(status=MonitoringActivity.STATUSES.cancelled) def test_response(self): - with self.assertNumQueries(1): + with self.assertNumQueries(2): response = self.forced_auth_req( 'get', reverse('field_monitoring_analyze:overall'), diff --git a/src/etools/applications/field_monitoring/fm_settings/models.py b/src/etools/applications/field_monitoring/fm_settings/models.py index 31d3377132..6fb2d87e09 100644 --- a/src/etools/applications/field_monitoring/fm_settings/models.py +++ b/src/etools/applications/field_monitoring/fm_settings/models.py @@ -204,12 +204,12 @@ def __str__(self): @staticmethod def get_parent_location(point): - matched_locations = Location.objects.filter(geom__contains=point) - if not matched_locations: - location = Location.objects.filter(gateway__admin_level=0).first() + locations = Location.objects.filter(geom__contains=point) + if locations: + matched_locations = list(filter(lambda l: l.is_leaf_node(), locations)) or locations + location = min(matched_locations, key=lambda l: l.geom.length) else: - leafs = filter(lambda l: l.is_leaf_node(), matched_locations) - location = min(leafs, key=lambda l: l.geom.length) + location = Location.objects.filter(gateway__admin_level=0).first() return location diff --git a/src/etools/applications/field_monitoring/planning/activity_validation/permissions_matrix.csv b/src/etools/applications/field_monitoring/planning/activity_validation/permissions_matrix.csv index 2dbcc4f8fd..b04fad639c 100644 --- a/src/etools/applications/field_monitoring/planning/activity_validation/permissions_matrix.csv +++ b/src/etools/applications/field_monitoring/planning/activity_validation/permissions_matrix.csv @@ -12,6 +12,7 @@ Field no,Field Name,Group,Condition,Status,Action,Allowed ,end_date,Field Monitor,,checklist,edit,TRUE ,end_date,Field Monitor,,review,edit,TRUE ,field_office,Field Monitor,,draft,edit,TRUE +,offices,Field Monitor,,draft,edit,TRUE ,monitor_type,Field Monitor,,draft,edit,TRUE ,monitor_type,Field Monitor,,checklist,edit,TRUE ,monitor_type,Field Monitor,,review,edit,TRUE @@ -60,6 +61,7 @@ Field no,Field Name,Group,Condition,Status,Action,Allowed ,start_date,All Users,,*,view,TRUE ,end_date,All Users,,*,view,TRUE ,field_office,All Users,,*,view,TRUE +,offices,All Users,,*,view,TRUE ,monitor_type,All Users,,*,view,TRUE ,person_responsible,All Users,,*,view,TRUE ,sections,All Users,,*,view,TRUE diff --git a/src/etools/applications/field_monitoring/planning/filters.py b/src/etools/applications/field_monitoring/planning/filters.py index d7365d0ead..416201631e 100644 --- a/src/etools/applications/field_monitoring/planning/filters.py +++ b/src/etools/applications/field_monitoring/planning/filters.py @@ -15,6 +15,7 @@ class MonitoringActivitiesFilterSet(filters.FilterSet): interventions__in = M2MInFilter(field_name="interventions") cp_outputs__in = M2MInFilter(field_name="cp_outputs") sections__in = M2MInFilter(field_name="sections") + offices__in = M2MInFilter(field_name="offices") class Meta: model = MonitoringActivity @@ -31,7 +32,7 @@ class Meta: 'start_date': ['gte', 'lte'], 'end_date': ['gte', 'lte'], 'status': ['exact', 'in'], - 'field_office': ['exact', 'in'], + 'offices': ['exact', 'in'], 'sections': ['in'], } diff --git a/src/etools/applications/field_monitoring/planning/migrations/0008_monitoringactivity_offices.py b/src/etools/applications/field_monitoring/planning/migrations/0008_monitoringactivity_offices.py new file mode 100644 index 0000000000..7a31b9f2cf --- /dev/null +++ b/src/etools/applications/field_monitoring/planning/migrations/0008_monitoringactivity_offices.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.11 on 2021-03-18 20:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('reports', '0025_auto_20191220_2022'), + ('field_monitoring_planning', '0007_monitoringactivity_number'), + ] + + operations = [ + migrations.AddField( + model_name='monitoringactivity', + name='offices', + field=models.ManyToManyField(blank=True, related_name='offices', to='reports.Office', verbose_name='Field Offices'), + ), + ] diff --git a/src/etools/applications/field_monitoring/planning/migrations/0009_auto_20210318_2046.py b/src/etools/applications/field_monitoring/planning/migrations/0009_auto_20210318_2046.py new file mode 100644 index 0000000000..e4f849cfc9 --- /dev/null +++ b/src/etools/applications/field_monitoring/planning/migrations/0009_auto_20210318_2046.py @@ -0,0 +1,22 @@ +# Generated by Django 2.2.11 on 2021-03-18 20:46 + +from django.db import migrations, connection + + +def office2offices(apps, schema_editor): + if connection.tenant.schema_name != "test": + MonitoringActivity = apps.get_model('field_monitoring_planning', 'MonitoringActivity') + for ma in MonitoringActivity.admin_objects.all(): + if ma.field_office: + ma.offices.add(ma.field_office) + + +class Migration(migrations.Migration): + + dependencies = [ + ('field_monitoring_planning', '0008_monitoringactivity_offices'), + ] + + operations = [ + migrations.RunPython(office2offices, migrations.RunPython.noop), + ] diff --git a/src/etools/applications/field_monitoring/planning/models.py b/src/etools/applications/field_monitoring/planning/models.py index 440bd2ffea..e79fcb7297 100644 --- a/src/etools/applications/field_monitoring/planning/models.py +++ b/src/etools/applications/field_monitoring/planning/models.py @@ -204,7 +204,8 @@ class MonitoringActivity( field_office = models.ForeignKey('reports.Office', blank=True, null=True, verbose_name=_('Field Office'), on_delete=models.CASCADE) - + offices = models.ManyToManyField('reports.Office', blank=True, verbose_name=_('Field Offices'), + related_name='offices') sections = models.ManyToManyField(Section, blank=True, verbose_name=_('Sections')) location = models.ForeignKey(Location, verbose_name=_('Location'), related_name='monitoring_activities', diff --git a/src/etools/applications/field_monitoring/planning/serializers.py b/src/etools/applications/field_monitoring/planning/serializers.py index 45c7d75f18..c0e8aa2a5f 100644 --- a/src/etools/applications/field_monitoring/planning/serializers.py +++ b/src/etools/applications/field_monitoring/planning/serializers.py @@ -139,11 +139,11 @@ class Meta: class MonitoringActivitySerializer(UserContextSerializerMixin, MonitoringActivityLightSerializer): permissions = serializers.SerializerMethodField(read_only=True) transitions = serializers.SerializerMethodField(read_only=True) - field_office = SeparatedReadWriteField(read_field=OfficeSerializer()) + offices = SeparatedReadWriteField(read_field=OfficeSerializer(many=True), required=False) class Meta(MonitoringActivityLightSerializer.Meta): fields = MonitoringActivityLightSerializer.Meta.fields + ( - 'field_office', 'permissions', 'transitions', + 'offices', 'permissions', 'transitions', ) def get_permissions(self, obj): diff --git a/src/etools/applications/field_monitoring/planning/tests/factories.py b/src/etools/applications/field_monitoring/planning/tests/factories.py index 592750356b..1e8e3070c8 100644 --- a/src/etools/applications/field_monitoring/planning/tests/factories.py +++ b/src/etools/applications/field_monitoring/planning/tests/factories.py @@ -9,7 +9,6 @@ from etools.applications.field_monitoring.fm_settings.tests.factories import QuestionFactory from etools.applications.field_monitoring.planning.models import MonitoringActivity, QuestionTemplate, YearPlan from etools.applications.field_monitoring.tests.factories import UserFactory -from etools.applications.users.tests.factories import OfficeFactory from etools.libraries.tests.factories import StatusFactoryMetaClass @@ -51,6 +50,11 @@ def sections(self, created, extracted, **kwargs): if extracted: self.sections.add(*extracted) + @factory.post_generation + def offices(self, created, extracted, **kwargs): + if extracted: + self.offices.add(*extracted) + @factory.post_generation def partners(self, created, extracted, **kwargs): if extracted: @@ -81,7 +85,6 @@ def overall_findings(self, created, extracted, generated=False, **kwargs): class DraftActivityFactory(BaseMonitoringActivityFactory): - field_office = factory.SubFactory(OfficeFactory) status = MonitoringActivity.STATUSES.draft diff --git a/src/etools/applications/field_monitoring/planning/tests/test_views.py b/src/etools/applications/field_monitoring/planning/tests/test_views.py index 90b536c6bc..370b4a229b 100644 --- a/src/etools/applications/field_monitoring/planning/tests/test_views.py +++ b/src/etools/applications/field_monitoring/planning/tests/test_views.py @@ -339,36 +339,35 @@ def test_review_status_permissions(self): self.assertTrue(permissions['view']['activity_question_set_review']) self.assertTrue(permissions['view']['additional_info']) - def test_field_office_update(self): - activity = MonitoringActivityFactory(monitor_type='staff', status='draft', field_office=None) - self.assertIsNone(activity.field_office) - response = self._test_update(self.fm_user, activity, {'field_office': OfficeFactory().id}) - self.assertIsNotNone(response.data['field_office']) + def test_offices_update(self): + activity = MonitoringActivityFactory(monitor_type='staff', status='draft') + activity.offices.set([]) + self.assertEqual(activity.offices.count(), 0) + response = self._test_update(self.fm_user, activity, {'offices': [OfficeFactory().id, ]}) + self.assertIsNotNone(response.data['offices']) activity.refresh_from_db() - self.assertIsNotNone(activity.field_office) + self.assertNotEquals(activity.offices.count(), 0) permissions = response.data['permissions'] - self.assertTrue(permissions['view']['field_office']) - self.assertTrue(permissions['edit']['field_office']) + self.assertTrue(permissions['view']['offices']) + self.assertTrue(permissions['edit']['offices']) - def test_field_office_not_editable_in_checklist(self): + def test_offices_not_editable_in_checklist(self): activity = MonitoringActivityFactory(monitor_type='staff', status='checklist') response = self._test_retrieve(self.fm_user, activity) permissions = response.data['permissions'] - self.assertTrue(permissions['view']['field_office']) - self.assertFalse(permissions['edit']['field_office']) + self.assertTrue(permissions['view']['offices']) + self.assertFalse(permissions['edit']['offices']) - def test_filter_by_field_office(self): + def test_filter_by_offices(self): MonitoringActivityFactory(monitor_type='staff', status='draft') - activity1 = MonitoringActivityFactory(monitor_type='staff', status='draft') - activity2 = MonitoringActivityFactory(monitor_type='staff', status='draft') - self._test_list( - self.fm_user, [activity1], - data={'field_office': str(activity1.field_office.id)}, - ) + o1 = OfficeFactory() + o2 = OfficeFactory() + activity1 = MonitoringActivityFactory(monitor_type='staff', status='draft', offices=(o1, )) + activity2 = MonitoringActivityFactory(monitor_type='staff', status='draft', offices=(o2, )) self._test_list( self.fm_user, [activity1, activity2], - data={'field_office__in': f'{activity1.field_office.id},{activity2.field_office.id}'}, + data={'offices__in': f'{activity1.offices.first().id},{activity2.offices.first().id}'}, ) def test_filter_by_section(self): diff --git a/src/etools/applications/firms/models.py b/src/etools/applications/firms/models.py index 0c99219ba3..79f3d69aed 100644 --- a/src/etools/applications/firms/models.py +++ b/src/etools/applications/firms/models.py @@ -1,4 +1,5 @@ from django.conf import settings +from django.contrib.postgres.fields import ArrayField from django.db import models from django.utils.translation import gettext_lazy as _ @@ -77,13 +78,14 @@ def natural_key(self): return self.vendor_number, -class BaseStaffMember(ModelHavingTenantRelationsMixin, models.Model): +class BaseStaffMember(ModelHavingTenantRelationsMixin, TimeStampedModel): user = models.OneToOneField( settings.AUTH_USER_MODEL, verbose_name=_('User'), related_name='%(app_label)s_%(class)s', on_delete=models.CASCADE ) + history = ArrayField(models.CharField(max_length=128, verbose_name=_("History")), default=list, blank=True) class Meta: abstract = True diff --git a/src/etools/applications/management/views/general.py b/src/etools/applications/management/views/general.py index eb406c3868..547c1415e1 100644 --- a/src/etools/applications/management/views/general.py +++ b/src/etools/applications/management/views/general.py @@ -33,13 +33,13 @@ def get(self, request, format=None): return Response(status=400, data={'error': 'You must pass "area" as a query param'}) try: - country = Country.objects.get(business_area_code=business_area) + Country.objects.get(business_area_code=business_area) except Country.DoesNotExist: return Response(status=400, data={'error': 'Business Area code invalid'}) - FundReservationsSynchronizer(country).sync() + FundReservationsSynchronizer(business_area_code=business_area).sync() - return Response({'success': 'Funds Reservation sync for {} successfully performed'.format(country.name)}) + return Response({'success': 'Funds Reservation sync for {} successfully performed'.format(business_area)}) class SyncCountries(APIView): diff --git a/src/etools/applications/partners/exports_v2.py b/src/etools/applications/partners/exports_v2.py index 3b6726cf60..e23f667909 100644 --- a/src/etools/applications/partners/exports_v2.py +++ b/src/etools/applications/partners/exports_v2.py @@ -6,7 +6,8 @@ class PartnerOrganizationCSVRenderer(r.CSVRenderer): header = ['vendor_number', 'organization_full_name', 'short_name', 'alternate_name', 'partner_type', 'shared_with', 'address', - 'phone_number', 'email_address', 'risk_rating', 'date_last_assessment_against_core_values', + 'phone_number', 'email_address', 'risk_rating', 'sea_risk_rating_nm', 'psea_assessment_date', + 'highest_risk_rating_type', 'highest_risk_rating_name', 'date_last_assessment_against_core_values', 'actual_cash_transfer_for_cp', 'actual_cash_transfer_for_current_year', 'marked_for_deletion', 'blocked', 'type_of_assessment', 'date_assessed', 'assessments', 'staff_members', 'url', 'planned_visits', ] @@ -20,7 +21,7 @@ class PartnerOrganizationCSVRenderer(r.CSVRenderer): 'address': 'Address', 'phone_number': 'Phone Number', 'email_address': 'Email Address', - 'risk_rating': 'Risk Rating', + 'risk_rating': 'HACT Risk Rating', 'date_last_assessment_against_core_values': 'Date Last Assessed Against Core Values', 'actual_cash_transfer_for_cp': 'Actual Cash Transfer for CP (USD)', 'actual_cash_transfer_for_current_year': 'Actual Cash Transfer for Current Year (USD)', diff --git a/src/etools/applications/partners/serializers/exports/partner_organization.py b/src/etools/applications/partners/serializers/exports/partner_organization.py index bb0ef8e2be..f6821471f4 100644 --- a/src/etools/applications/partners/serializers/exports/partner_organization.py +++ b/src/etools/applications/partners/serializers/exports/partner_organization.py @@ -38,10 +38,12 @@ class PartnerOrganizationExportSerializer(serializers.ModelSerializer): label=_("Email Address"), source='email' ) - risk_rating = serializers.CharField( - label=_("Risk Rating"), - source='rating' - ) + risk_rating = serializers.CharField(label=_("HACT Risk Rating"), source='rating') + sea_risk_rating_nm = serializers.ReadOnlyField(label=_('SEA Risk Rating'), source='sea_risk_rating_name') + psea_assessment_date = serializers.DateTimeField(read_only=True, format='%d-%m-%Y') + highest_risk_rating_type = serializers.ReadOnlyField() + highest_risk_rating_name = serializers.ReadOnlyField() + date_last_assessment_against_core_values = serializers.CharField( label=_("Date Last Assessed Against Core Values"), source='core_values_assessment_date' @@ -76,9 +78,11 @@ class Meta: # Bank Info (just the number of accounts synced from VISION) fields = ('vendor_number', 'marked_for_deletion', 'blocked', 'organization_full_name', 'short_name', 'alternate_name', 'partner_type', 'shared_with', 'address', - 'email_address', 'phone_number', 'risk_rating', 'type_of_assessment', 'date_assessed', + 'email_address', 'phone_number', 'risk_rating', 'sea_risk_rating_nm', 'psea_assessment_date', + 'highest_risk_rating_type', 'highest_risk_rating_name', 'type_of_assessment', 'date_assessed', 'actual_cash_transfer_for_cp', 'actual_cash_transfer_for_current_year', 'staff_members', - 'date_last_assessment_against_core_values', 'assessments', 'url', 'basis_for_risk_rating', 'planned_visits') + 'date_last_assessment_against_core_values', 'assessments', 'url', 'basis_for_risk_rating', + 'planned_visits') def get_staff_members(self, obj): return ', '.join(['{} ({})'.format(sm.get_full_name(), sm.email) @@ -124,7 +128,7 @@ class PartnerOrganizationExportFlatSerializer( class Meta: model = PartnerOrganization - fields = "__all__" + exclude = ('sea_risk_rating_name', ) def get_vision_synced(self, obj): return "Yes" if obj.vision_synced else "No" diff --git a/src/etools/applications/partners/templates/pca/arabic_pdf.html b/src/etools/applications/partners/templates/pca/arabic_pdf.html index 6f95e45768..1787def52c 100644 --- a/src/etools/applications/partners/templates/pca/arabic_pdf.html +++ b/src/etools/applications/partners/templates/pca/arabic_pdf.html @@ -532,6 +532,12 @@ مسؤول الاتصال في البنك {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala التفاصيل المصرفية + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/english_pdf.html b/src/etools/applications/partners/templates/pca/english_pdf.html index a486581e2b..f1e309f7fa 100644 --- a/src/etools/applications/partners/templates/pca/english_pdf.html +++ b/src/etools/applications/partners/templates/pca/english_pdf.html @@ -572,6 +572,12 @@ Bank Contact Person {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala Banking Details + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/french_pdf.html b/src/etools/applications/partners/templates/pca/french_pdf.html index 1dc589e3db..db7c8962a8 100644 --- a/src/etools/applications/partners/templates/pca/french_pdf.html +++ b/src/etools/applications/partners/templates/pca/french_pdf.html @@ -604,6 +604,12 @@ Chargé(e) de clientèle responsable du compte {{bank_detail.bank_contact_person}} + {% if bank_detail.tax_number_5 %} + + Hawala Informations Bancaires + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/ifrc_english_pdf.html b/src/etools/applications/partners/templates/pca/ifrc_english_pdf.html index 9facffd521..385f5a5262 100644 --- a/src/etools/applications/partners/templates/pca/ifrc_english_pdf.html +++ b/src/etools/applications/partners/templates/pca/ifrc_english_pdf.html @@ -593,6 +593,12 @@ Bank Contact Person {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala Banking Details + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/ifrc_french_pdf.html b/src/etools/applications/partners/templates/pca/ifrc_french_pdf.html index 106e520677..4bfa65fce1 100644 --- a/src/etools/applications/partners/templates/pca/ifrc_french_pdf.html +++ b/src/etools/applications/partners/templates/pca/ifrc_french_pdf.html @@ -612,6 +612,12 @@ Chargé(e) de clientèle responsable du compte {{bank_detail.bank_contact_person}} + {% if bank_detail.tax_number_5 %} + + Hawala Informations Bancaires + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/portuguese_pdf.html b/src/etools/applications/partners/templates/pca/portuguese_pdf.html index 69b31312b4..9a90fdf4d8 100644 --- a/src/etools/applications/partners/templates/pca/portuguese_pdf.html +++ b/src/etools/applications/partners/templates/pca/portuguese_pdf.html @@ -606,6 +606,12 @@ Pessoa de Contacto no Banco: {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala Informação bancária + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/russian_pdf.html b/src/etools/applications/partners/templates/pca/russian_pdf.html index 7734a5a318..5af3aeb669 100644 --- a/src/etools/applications/partners/templates/pca/russian_pdf.html +++ b/src/etools/applications/partners/templates/pca/russian_pdf.html @@ -604,6 +604,12 @@ Контактное лицо в банке {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala Банковская информация + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/templates/pca/spanish_pdf.html b/src/etools/applications/partners/templates/pca/spanish_pdf.html index 4877be68a8..4ea1673b8b 100644 --- a/src/etools/applications/partners/templates/pca/spanish_pdf.html +++ b/src/etools/applications/partners/templates/pca/spanish_pdf.html @@ -599,6 +599,12 @@ Bank Contact Person {{ bank_detail.bank_contact_person }} + {% if bank_detail.tax_number_5 %} + + Hawala Información bancaria + {{ bank_detail.tax_number_5 }} + + {% endif %} {% endfor %} diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/None.response.json deleted file mode 100644 index 536b27e222..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/None.response.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "342" - ] - }, - "data": [ - { - "id": 5, - "partner": 5, - "country_programme": 5, - "agreement_number": "TST/PCA20185", - "partner_name": "Partner 4", - "agreement_type": "PCA", - "end": "2018-12-31", - "start": "2018-12-06", - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "agreement_number_status": "TST/PCA20185 [Signed]", - "special_conditions_pca": false - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 536b27e222..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "342" - ] - }, - "data": [ - { - "id": 5, - "partner": 5, - "country_programme": 5, - "agreement_number": "TST/PCA20185", - "partner_name": "Partner 4", - "agreement_type": "PCA", - "end": "2018-12-31", - "start": "2018-12-06", - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "agreement_number_status": "TST/PCA20185 [Signed]", - "special_conditions_pca": false - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/None.response.json deleted file mode 100644 index d94cab415c..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/None.response.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2629" - ] - }, - "data": { - "id": 5, - "partner_name": "Partner 4", - "authorized_officers": [], - "amendments": [ - { - "id": 1, - "number": "tmp01", - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "signed_amendment_file": null, - "signed_amendment_attachment": null, - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "unicef_signatory": null, - "partner_signatory": null, - "attached_agreement_file": null, - "attachment": null, - "termination_doc": null, - "permissions": { - "edit": { - "end": false, - "signed_by_id": true, - "start": false, - "created": true, - "partner": false, - "country_programme_id": true, - "signed_by": false, - "signed_by_unicef_date": false, - "termination_doc": false, - "amendments": false, - "partner_id": true, - "partner_manager_id": true, - "id": true, - "interventions": true, - "country_programme": false, - "partner_manager": false, - "authorized_officers": false, - "agreement_number": false, - "agreement_type": false, - "attached_agreement": false, - "signed_by_partner_date": false, - "status": true, - "reference_number_year": false, - "attachment": false, - "modified": true, - "special_conditions_pca": false - }, - "required": { - "end": false, - "signed_by_id": false, - "start": false, - "created": false, - "partner": true, - "country_programme_id": false, - "signed_by": false, - "signed_by_unicef_date": false, - "termination_doc": false, - "amendments": false, - "partner_id": false, - "partner_manager_id": false, - "id": false, - "interventions": false, - "country_programme": false, - "partner_manager": false, - "authorized_officers": false, - "agreement_number": true, - "agreement_type": true, - "attached_agreement": false, - "signed_by_partner_date": false, - "status": false, - "reference_number_year": true, - "attachment": false, - "modified": false, - "special_conditions_pca": false - }, - "view": { - "end": false, - "signed_by_id": true, - "start": false, - "created": true, - "partner": false, - "country_programme_id": true, - "signed_by": false, - "signed_by_unicef_date": false, - "termination_doc": false, - "amendments": false, - "partner_id": true, - "partner_manager_id": true, - "id": true, - "interventions": true, - "country_programme": false, - "partner_manager": false, - "authorized_officers": false, - "agreement_number": false, - "agreement_type": false, - "attached_agreement": false, - "signed_by_partner_date": false, - "status": true, - "reference_number_year": true, - "attachment": false, - "modified": true, - "special_conditions_pca": true - } - }, - "created": "2018-12-06T10:18:32.829000Z", - "modified": "2018-12-06T10:18:32.863000Z", - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": null, - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "partner": 5, - "country_programme": 5, - "signed_by": null, - "partner_manager": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index e49cfd5aec..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_5_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2629" - ] - }, - "data": { - "id": 5, - "partner_name": "Partner 4", - "authorized_officers": [], - "amendments": [ - { - "id": 1, - "number": "tmp01", - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "signed_amendment_file": null, - "signed_amendment_attachment": null, - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "unicef_signatory": null, - "partner_signatory": null, - "attached_agreement_file": null, - "attachment": null, - "termination_doc": null, - "permissions": { - "edit": { - "signed_by_partner_date": false, - "termination_doc": false, - "interventions": true, - "partner_manager": false, - "status": true, - "modified": true, - "partner_id": true, - "id": true, - "agreement_number": false, - "signed_by_unicef_date": false, - "signed_by": false, - "attachment": false, - "country_programme": false, - "partner_manager_id": true, - "authorized_officers": false, - "attached_agreement": false, - "reference_number_year": false, - "special_conditions_pca": false, - "partner": false, - "created": true, - "start": false, - "amendments": false, - "signed_by_id": true, - "end": false, - "country_programme_id": true, - "agreement_type": false - }, - "required": { - "signed_by_partner_date": false, - "termination_doc": false, - "interventions": false, - "partner_manager": false, - "status": false, - "modified": false, - "partner_id": false, - "id": false, - "agreement_number": true, - "signed_by_unicef_date": false, - "signed_by": false, - "attachment": false, - "country_programme": false, - "partner_manager_id": false, - "authorized_officers": false, - "attached_agreement": false, - "reference_number_year": true, - "special_conditions_pca": false, - "partner": true, - "created": false, - "start": false, - "amendments": false, - "signed_by_id": false, - "end": false, - "country_programme_id": false, - "agreement_type": true - }, - "view": { - "signed_by_partner_date": false, - "termination_doc": false, - "interventions": true, - "partner_manager": false, - "status": true, - "modified": true, - "partner_id": true, - "id": true, - "agreement_number": false, - "signed_by_unicef_date": false, - "signed_by": false, - "attachment": false, - "country_programme": false, - "partner_manager_id": true, - "authorized_officers": false, - "attached_agreement": false, - "reference_number_year": true, - "special_conditions_pca": true, - "partner": false, - "created": true, - "start": false, - "amendments": false, - "signed_by_id": true, - "end": false, - "country_programme_id": true, - "agreement_type": false - } - }, - "created": "2018-12-06T10:18:32.829000Z", - "modified": "2018-12-06T10:18:32.863000Z", - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": null, - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "partner": 5, - "country_programme": 5, - "signed_by": null, - "partner_manager": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/None.response.json deleted file mode 100644 index 82487d68ad..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "194" - ] - }, - "data": [ - { - "id": 1, - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "number": "tmp01", - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 82487d68ad..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/_api_v2_agreements_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "194" - ] - }, - "data": [ - { - "id": 1, - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "number": "tmp01", - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/fixtures.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/fixtures.json deleted file mode 100644 index b87a136c48..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/fixtures.json +++ /dev/null @@ -1,241 +0,0 @@ -{ - "agreement": { - "master": { - "model": "partners.agreement", - "pk": 5, - "fields": { - "created": "2018-12-06T10:18:32.829Z", - "modified": "2018-12-06T10:18:32.863Z", - "partner": 5, - "country_programme": 5, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": "", - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by": null, - "signed_by_partner_date": "2018-12-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - "deps": [ - { - "model": "partners.partnerorganization", - "pk": 5, - "fields": { - "created": "2018-12-06T10:18:32.801Z", - "modified": "2018-12-06T10:18:32.815Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 4", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 5, - "fields": { - "name": "Country Programme 4", - "wbs": "0000/A0/04", - "invalid": false, - "from_date": "2018-01-01", - "to_date": "2018-12-31" - } - } - ] - }, - "agreement_amendment": { - "master": { - "model": "partners.agreementamendment", - "pk": 1, - "fields": { - "created": "2018-12-06T10:18:32.866Z", - "modified": "2018-12-06T10:18:32.870Z", - "number": "tmp01", - "agreement": 5, - "signed_amendment": "", - "types": "[\"Change in clause\"]", - "signed_date": null - } - }, - "deps": [ - { - "model": "partners.agreement", - "pk": 5, - "fields": { - "created": "2018-12-06T10:18:32.829Z", - "modified": "2018-12-06T10:18:32.863Z", - "partner": 5, - "country_programme": 5, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": "", - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by": null, - "signed_by_partner_date": "2018-12-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 5, - "fields": { - "created": "2018-12-06T10:18:32.801Z", - "modified": "2018-12-06T10:18:32.815Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 4", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 5, - "fields": { - "name": "Country Programme 4", - "wbs": "0000/A0/04", - "invalid": false, - "from_date": "2018-01-01", - "to_date": "2018-12-31" - } - } - ] - } -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_.response.json deleted file mode 100644 index 536b27e222..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_.response.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "342" - ] - }, - "data": [ - { - "id": 5, - "partner": 5, - "country_programme": 5, - "agreement_number": "TST/PCA20185", - "partner_name": "Partner 4", - "agreement_type": "PCA", - "end": "2018-12-31", - "start": "2018-12-06", - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "agreement_number_status": "TST/PCA20185 [Signed]", - "special_conditions_pca": false - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5_.response.json deleted file mode 100644 index 851df89f2d..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5_.response.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2534" - ] - }, - "data": { - "id": 5, - "partner_name": "Partner 4", - "authorized_officers": [], - "amendments": [ - { - "id": 1, - "number": "tmp01", - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "signed_amendment_file": null, - "signed_amendment_attachment": null, - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "unicef_signatory": null, - "partner_signatory": null, - "attached_agreement_file": null, - "attachment": null, - "permissions": { - "edit": { - "signed_by": false, - "partner_id": true, - "authorized_officers": false, - "partner_manager": false, - "country_programme_id": true, - "created": true, - "signed_by_unicef_date": false, - "agreement_number": false, - "amendments": false, - "signed_by_partner_date": false, - "agreement_type": false, - "status": true, - "reference_number_year": false, - "partner_manager_id": true, - "id": true, - "country_programme": false, - "attached_agreement": false, - "end": false, - "signed_by_id": true, - "interventions": true, - "start": false, - "special_conditions_pca": false, - "modified": true, - "attachment": false, - "partner": false - }, - "required": { - "signed_by": false, - "partner_id": false, - "authorized_officers": false, - "partner_manager": false, - "country_programme_id": false, - "created": false, - "signed_by_unicef_date": false, - "agreement_number": true, - "amendments": false, - "signed_by_partner_date": false, - "agreement_type": true, - "status": false, - "reference_number_year": true, - "partner_manager_id": false, - "id": false, - "country_programme": false, - "attached_agreement": false, - "end": false, - "signed_by_id": false, - "interventions": false, - "start": false, - "special_conditions_pca": false, - "modified": false, - "attachment": false, - "partner": true - }, - "view": { - "signed_by": false, - "partner_id": true, - "authorized_officers": false, - "partner_manager": false, - "country_programme_id": true, - "created": true, - "signed_by_unicef_date": false, - "agreement_number": false, - "amendments": false, - "signed_by_partner_date": false, - "agreement_type": false, - "status": true, - "reference_number_year": true, - "partner_manager_id": true, - "id": true, - "country_programme": false, - "attached_agreement": false, - "end": false, - "signed_by_id": true, - "interventions": true, - "start": false, - "special_conditions_pca": true, - "modified": true, - "attachment": false, - "partner": false - } - }, - "created": "2018-12-06T10:18:32.829000Z", - "modified": "2018-12-06T10:18:32.863000Z", - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": null, - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "partner": 5, - "country_programme": 5, - "signed_by": null, - "partner_manager": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5__None.response.json deleted file mode 100644 index bd555fe28e..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_5__None.response.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2534" - ] - }, - "data": { - "id": 5, - "partner_name": "Partner 4", - "authorized_officers": [], - "amendments": [ - { - "id": 1, - "number": "tmp01", - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "signed_amendment_file": null, - "signed_amendment_attachment": null, - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "unicef_signatory": null, - "partner_signatory": null, - "attached_agreement_file": null, - "attachment": null, - "permissions": { - "edit": { - "reference_number_year": false, - "created": true, - "start": false, - "attachment": false, - "country_programme_id": true, - "partner_id": true, - "amendments": false, - "signed_by": false, - "modified": true, - "attached_agreement": false, - "signed_by_partner_date": false, - "partner_manager_id": true, - "partner_manager": false, - "end": false, - "agreement_number": false, - "id": true, - "signed_by_unicef_date": false, - "interventions": true, - "authorized_officers": false, - "signed_by_id": true, - "status": true, - "country_programme": false, - "agreement_type": false, - "partner": false, - "special_conditions_pca": false - }, - "required": { - "reference_number_year": true, - "created": false, - "start": false, - "attachment": false, - "country_programme_id": false, - "partner_id": false, - "amendments": false, - "signed_by": false, - "modified": false, - "attached_agreement": false, - "signed_by_partner_date": false, - "partner_manager_id": false, - "partner_manager": false, - "end": false, - "agreement_number": true, - "id": false, - "signed_by_unicef_date": false, - "interventions": false, - "authorized_officers": false, - "signed_by_id": false, - "status": false, - "country_programme": false, - "agreement_type": true, - "partner": true, - "special_conditions_pca": false - }, - "view": { - "reference_number_year": true, - "created": true, - "start": false, - "attachment": false, - "country_programme_id": true, - "partner_id": true, - "amendments": false, - "signed_by": false, - "modified": true, - "attached_agreement": false, - "signed_by_partner_date": false, - "partner_manager_id": true, - "partner_manager": false, - "end": false, - "agreement_number": false, - "id": true, - "signed_by_unicef_date": false, - "interventions": true, - "authorized_officers": false, - "signed_by_id": true, - "status": true, - "country_programme": false, - "agreement_type": false, - "partner": false, - "special_conditions_pca": true - } - }, - "created": "2018-12-06T10:18:32.829000Z", - "modified": "2018-12-06T10:18:32.863000Z", - "agreement_type": "PCA", - "agreement_number": "TST/PCA20185", - "attached_agreement": null, - "start": "2018-12-06", - "end": "2018-12-31", - "reference_number_year": 2018, - "special_conditions_pca": false, - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "partner": 5, - "country_programme": 5, - "signed_by": null, - "partner_manager": null - }, - "content_type": null -} diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements__None.response.json deleted file mode 100644 index 536b27e222..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements__None.response.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "342" - ] - }, - "data": [ - { - "id": 5, - "partner": 5, - "country_programme": 5, - "agreement_number": "TST/PCA20185", - "partner_name": "Partner 4", - "agreement_type": "PCA", - "end": "2018-12-31", - "start": "2018-12-06", - "signed_by_unicef_date": "2018-12-06", - "signed_by_partner_date": "2018-12-06", - "status": "signed", - "agreement_number_status": "TST/PCA20185 [Signed]", - "special_conditions_pca": false - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments_.response.json deleted file mode 100644 index 32748c48da..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments_.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "194" - ] - }, - "data": [ - { - "id": 1, - "created": "2018-12-06T10:18:32.866967Z", - "modified": "2018-12-06T10:18:32.870084Z", - "number": "tmp01", - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments__None.response.json deleted file mode 100644 index 82487d68ad..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIAgreements/get__api_v2_agreements_amendments__None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "194" - ] - }, - "data": [ - { - "id": 1, - "created": "2018-12-06T10:18:32.866000Z", - "modified": "2018-12-06T10:18:32.870000Z", - "number": "tmp01", - "signed_amendment": null, - "types": [ - "Change in clause" - ], - "signed_date": null, - "agreement": 5 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/None.response.json deleted file mode 100644 index d62b9e3a94..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/None.response.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2480" - ] - }, - "data": [ - { - "id": 1456, - "number": "TST/PCA20191574/20191456", - "document_type": "", - "partner_name": "Partner 2", - "status": "draft", - "title": "Intervention Title 2", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [ - 953 - ], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 1455, - "number": "TST/PCA20191573/20191455", - "document_type": "", - "partner_name": "Partner 1", - "status": "draft", - "title": "Intervention Title 1", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 101, - "number": "TST/PCA20191572/2019101", - "document_type": "", - "partner_name": "Partner 0", - "status": "draft", - "title": "Intervention Title 0", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index d62b9e3a94..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2480" - ] - }, - "data": [ - { - "id": 1456, - "number": "TST/PCA20191574/20191456", - "document_type": "", - "partner_name": "Partner 2", - "status": "draft", - "title": "Intervention Title 2", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [ - 953 - ], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 1455, - "number": "TST/PCA20191573/20191455", - "document_type": "", - "partner_name": "Partner 1", - "status": "draft", - "title": "Intervention Title 1", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 101, - "number": "TST/PCA20191572/2019101", - "document_type": "", - "partner_name": "Partner 0", - "status": "draft", - "title": "Intervention Title 0", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "contingency_pd": false, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/None.response.json deleted file mode 100644 index d6f8eab33d..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/None.response.json +++ /dev/null @@ -1,275 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "5699" - ] - }, - "data": { - "id": 101, - "frs": [], - "partner": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "prc_review_document_file": null, - "frs_details": { - "frs": [], - "total_frs_amt": 0, - "total_outstanding_amt": 0, - "total_intervention_amt": 0, - "total_actual_amt": 0, - "earliest_start_date": null, - "latest_end_date": null, - "currencies_match": false, - "multi_curr_flag": false - }, - "signed_pd_document_file": null, - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date_prc": null, - "review_date_prc": null, - "submission_date": "2019-07-01", - "prc_review_document": null, - "submitted_to_prc": false, - "signed_pd_document": null, - "signed_by_unicef_date": null, - "unicef_signatory": null, - "unicef_focal_points": [], - "partner_focal_points": [], - "partner_authorized_officer_signatory": null, - "offices": [], - "population_focus": null, - "signed_by_partner_date": null, - "created": "2019-07-01T20:32:43.418000Z", - "modified": "2019-07-01T20:32:43.421000Z", - "planned_budget": null, - "result_links": [], - "country_programme": null, - "metadata": {}, - "contingency_pd": false, - "amendments": [], - "attachments": [], - "permissions": { - "edit": { - "partner_focal_points": false, - "activity": true, - "review_date_prc": false, - "signed_by_unicef_date": false, - "unicef_signatory": false, - "start": false, - "frs": false, - "number": false, - "signed_by_partner_date": false, - "submission_date": false, - "document_type": false, - "status": true, - "prc_review_document": false, - "signed_pd_document": false, - "agreement_id": true, - "sections": false, - "unicef_signatory_id": true, - "reporting_requirements": false, - "planned_budget": false, - "engagement": true, - "modified": true, - "signed_pd_attachment": false, - "termination_doc_attachment": true, - "population_focus": true, - "offices": false, - "submission_date_prc": false, - "amendments": false, - "monitoring_activities": true, - "travel_activities": true, - "result_links": false, - "country_programme_id": true, - "cfei_number": true, - "id": true, - "partner_authorized_officer_signatory_id": true, - "contingency_pd": false, - "unicef_focal_points": false, - "flat_locations": true, - "reporting_periods": true, - "activation_letter_attachment": false, - "attachments": true, - "planned_visits": false, - "actionpoint": true, - "special_reporting_requirements": true, - "activation_letter": false, - "partner_authorized_officer_signatory": false, - "termination_doc": false, - "title": false, - "in_amendment": false, - "metadata": true, - "agreement": false, - "reference_number_year": true, - "end": false, - "created": true, - "prc_review_attachment": false, - "country_programme": false, - "sections_present": true - }, - "required": { - "partner_focal_points": false, - "activity": false, - "review_date_prc": false, - "signed_by_unicef_date": false, - "unicef_signatory": false, - "start": false, - "frs": false, - "number": true, - "signed_by_partner_date": false, - "submission_date": false, - "document_type": true, - "status": false, - "prc_review_document": false, - "signed_pd_document": false, - "agreement_id": false, - "sections": false, - "unicef_signatory_id": false, - "reporting_requirements": false, - "planned_budget": false, - "engagement": false, - "modified": false, - "signed_pd_attachment": false, - "termination_doc_attachment": false, - "population_focus": false, - "offices": false, - "submission_date_prc": false, - "amendments": false, - "monitoring_activities": false, - "travel_activities": false, - "result_links": false, - "country_programme_id": false, - "cfei_number": false, - "id": false, - "partner_authorized_officer_signatory_id": false, - "contingency_pd": false, - "unicef_focal_points": false, - "flat_locations": false, - "reporting_periods": false, - "activation_letter_attachment": false, - "attachments": false, - "planned_visits": false, - "actionpoint": false, - "special_reporting_requirements": false, - "activation_letter": false, - "partner_authorized_officer_signatory": false, - "termination_doc": false, - "title": true, - "in_amendment": false, - "metadata": false, - "agreement": true, - "reference_number_year": true, - "end": false, - "created": false, - "prc_review_attachment": false, - "country_programme": false, - "sections_present": false - }, - "view": { - "partner_focal_points": false, - "activity": true, - "review_date_prc": false, - "signed_by_unicef_date": false, - "unicef_signatory": false, - "start": false, - "frs": false, - "number": false, - "signed_by_partner_date": false, - "submission_date": false, - "document_type": false, - "status": true, - "prc_review_document": false, - "signed_pd_document": false, - "agreement_id": true, - "sections": false, - "unicef_signatory_id": true, - "reporting_requirements": false, - "planned_budget": false, - "engagement": true, - "modified": true, - "signed_pd_attachment": false, - "termination_doc_attachment": true, - "population_focus": true, - "offices": false, - "submission_date_prc": false, - "amendments": false, - "monitoring_activities": true, - "travel_activities": true, - "result_links": true, - "country_programme_id": true, - "cfei_number": true, - "id": true, - "partner_authorized_officer_signatory_id": true, - "contingency_pd": false, - "unicef_focal_points": false, - "flat_locations": false, - "reporting_periods": true, - "activation_letter_attachment": false, - "attachments": true, - "planned_visits": false, - "actionpoint": true, - "special_reporting_requirements": true, - "activation_letter": false, - "partner_authorized_officer_signatory": false, - "termination_doc": false, - "title": false, - "in_amendment": false, - "metadata": true, - "agreement": false, - "reference_number_year": true, - "end": false, - "created": true, - "prc_review_attachment": false, - "country_programme": false, - "sections_present": false - } - }, - "partner_id": "1496", - "sections": [], - "planned_visits": [], - "locations": [], - "location_names": [], - "cluster_names": [], - "flat_locations": [], - "flagged_sections": [], - "section_names": [], - "in_amendment": false, - "prc_review_attachment": null, - "signed_pd_attachment": null, - "donors": [], - "donor_codes": [], - "grants": [], - "cfei_number": "", - "location_p_codes": [], - "days_from_submission_to_signed": "Not fully signed", - "days_from_review_to_signed": "Not Reviewed", - "partner_vendor": null, - "reference_number_year": 2019, - "activation_letter_file": null, - "activation_letter_attachment": null, - "termination_doc_file": null, - "termination_doc_attachment": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index ea0d790b19..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,275 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "5699" - ] - }, - "data": { - "id": 101, - "frs": [], - "partner": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "prc_review_document_file": null, - "frs_details": { - "frs": [], - "total_frs_amt": 0, - "total_outstanding_amt": 0, - "total_intervention_amt": 0, - "total_actual_amt": 0, - "earliest_start_date": null, - "latest_end_date": null, - "currencies_match": false, - "multi_curr_flag": false - }, - "signed_pd_document_file": null, - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date_prc": null, - "review_date_prc": null, - "submission_date": "2019-07-01", - "prc_review_document": null, - "submitted_to_prc": false, - "signed_pd_document": null, - "signed_by_unicef_date": null, - "unicef_signatory": null, - "unicef_focal_points": [], - "partner_focal_points": [], - "partner_authorized_officer_signatory": null, - "offices": [], - "population_focus": null, - "signed_by_partner_date": null, - "created": "2019-07-01T20:32:43.418000Z", - "modified": "2019-07-01T20:32:43.421000Z", - "planned_budget": null, - "result_links": [], - "country_programme": null, - "metadata": {}, - "contingency_pd": false, - "amendments": [], - "attachments": [], - "permissions": { - "edit": { - "partner_focal_points": false, - "country_programme_id": true, - "prc_review_document": false, - "signed_by_partner_date": false, - "unicef_signatory_id": true, - "activation_letter": false, - "activation_letter_attachment": false, - "offices": false, - "unicef_focal_points": false, - "document_type": false, - "submission_date_prc": false, - "actionpoint": true, - "termination_doc": false, - "special_reporting_requirements": true, - "status": true, - "reporting_periods": true, - "modified": true, - "result_links": false, - "population_focus": true, - "planned_visits": false, - "id": true, - "number": false, - "activity": true, - "signed_by_unicef_date": false, - "cfei_number": true, - "termination_doc_attachment": true, - "country_programme": false, - "submission_date": false, - "travel_activities": true, - "frs": false, - "engagement": true, - "prc_review_attachment": false, - "reference_number_year": true, - "review_date_prc": false, - "created": true, - "reporting_requirements": false, - "title": false, - "agreement": false, - "contingency_pd": false, - "metadata": true, - "signed_pd_attachment": false, - "partner_authorized_officer_signatory_id": true, - "monitoring_activities": true, - "attachments": true, - "start": false, - "amendments": false, - "flat_locations": true, - "unicef_signatory": false, - "in_amendment": false, - "signed_pd_document": false, - "planned_budget": false, - "end": false, - "agreement_id": true, - "partner_authorized_officer_signatory": false, - "sections": false, - "sections_present": true - }, - "required": { - "partner_focal_points": false, - "country_programme_id": false, - "prc_review_document": false, - "signed_by_partner_date": false, - "unicef_signatory_id": false, - "activation_letter": false, - "activation_letter_attachment": false, - "offices": false, - "unicef_focal_points": false, - "document_type": true, - "submission_date_prc": false, - "actionpoint": false, - "termination_doc": false, - "special_reporting_requirements": false, - "status": false, - "reporting_periods": false, - "modified": false, - "result_links": false, - "population_focus": false, - "planned_visits": false, - "id": false, - "number": true, - "activity": false, - "signed_by_unicef_date": false, - "cfei_number": false, - "termination_doc_attachment": false, - "country_programme": false, - "submission_date": false, - "travel_activities": false, - "frs": false, - "engagement": false, - "prc_review_attachment": false, - "reference_number_year": true, - "review_date_prc": false, - "created": false, - "reporting_requirements": false, - "title": true, - "agreement": true, - "contingency_pd": false, - "metadata": false, - "signed_pd_attachment": false, - "partner_authorized_officer_signatory_id": false, - "monitoring_activities": false, - "attachments": false, - "start": false, - "amendments": false, - "flat_locations": false, - "unicef_signatory": false, - "in_amendment": false, - "signed_pd_document": false, - "planned_budget": false, - "end": false, - "agreement_id": false, - "partner_authorized_officer_signatory": false, - "sections": false, - "sections_present": false - }, - "view": { - "partner_focal_points": false, - "country_programme_id": true, - "prc_review_document": false, - "signed_by_partner_date": false, - "unicef_signatory_id": true, - "activation_letter": false, - "activation_letter_attachment": false, - "offices": false, - "unicef_focal_points": false, - "document_type": false, - "submission_date_prc": false, - "actionpoint": true, - "termination_doc": false, - "special_reporting_requirements": true, - "status": true, - "reporting_periods": true, - "modified": true, - "result_links": true, - "population_focus": true, - "planned_visits": false, - "id": true, - "number": false, - "activity": true, - "signed_by_unicef_date": false, - "cfei_number": true, - "termination_doc_attachment": true, - "country_programme": false, - "submission_date": false, - "travel_activities": true, - "frs": false, - "engagement": true, - "prc_review_attachment": false, - "reference_number_year": true, - "review_date_prc": false, - "created": true, - "reporting_requirements": false, - "title": false, - "agreement": false, - "contingency_pd": false, - "metadata": true, - "signed_pd_attachment": false, - "partner_authorized_officer_signatory_id": true, - "monitoring_activities": true, - "attachments": true, - "start": false, - "amendments": false, - "flat_locations": false, - "unicef_signatory": false, - "in_amendment": false, - "signed_pd_document": false, - "planned_budget": false, - "end": false, - "agreement_id": true, - "partner_authorized_officer_signatory": false, - "sections": false, - "sections_present": false - } - }, - "partner_id": "1496", - "sections": [], - "planned_visits": [], - "locations": [], - "location_names": [], - "cluster_names": [], - "flat_locations": [], - "flagged_sections": [], - "section_names": [], - "in_amendment": false, - "prc_review_attachment": null, - "signed_pd_attachment": null, - "donors": [], - "donor_codes": [], - "grants": [], - "cfei_number": "", - "location_p_codes": [], - "days_from_submission_to_signed": "Not fully signed", - "days_from_review_to_signed": "Not Reviewed", - "partner_vendor": null, - "reference_number_year": 2019, - "activation_letter_file": null, - "activation_letter_attachment": null, - "termination_doc_file": null, - "termination_doc_attachment": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/None.response.json deleted file mode 100644 index f5e618e5ba..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/None.response.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "666" - ] - }, - "data": [ - { - "id": 42, - "amendment_number": "1", - "signed_amendment_file": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "signed_amendment_attachment": null, - "internal_prc_review": null, - "created": "2019-07-01T20:32:43.465000Z", - "modified": "2019-07-01T20:32:43.501000Z", - "types": [ - "Change authorized officer" - ], - "other_description": "pxRKBufTiSdqiGAOyXwghKOpNAMJCXkyyvpGCFZerSqsemMYaY", - "signed_date": "2019-07-01", - "signed_amendment": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "intervention": 1455 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index f5e618e5ba..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_amendments_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "666" - ] - }, - "data": [ - { - "id": 42, - "amendment_number": "1", - "signed_amendment_file": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "signed_amendment_attachment": null, - "internal_prc_review": null, - "created": "2019-07-01T20:32:43.465000Z", - "modified": "2019-07-01T20:32:43.501000Z", - "types": [ - "Change authorized officer" - ], - "other_description": "pxRKBufTiSdqiGAOyXwghKOpNAMJCXkyyvpGCFZerSqsemMYaY", - "signed_date": "2019-07-01", - "signed_amendment": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "intervention": 1455 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/None.response.json deleted file mode 100644 index fe26545715..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/None.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "458" - ] - }, - "data": [ - { - "id": 1456, - "title": "Intervention Title 2", - "number": "TST/PCA20191574/20191456", - "partner_name": "Partner 2", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 1455, - "title": "Intervention Title 1", - "number": "TST/PCA20191573/20191455", - "partner_name": "Partner 1", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 101, - "title": "Intervention Title 0", - "number": "TST/PCA20191572/2019101", - "partner_name": "Partner 0", - "status": "draft", - "indicators": [], - "sections": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index fe26545715..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_applied-indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "458" - ] - }, - "data": [ - { - "id": 1456, - "title": "Intervention Title 2", - "number": "TST/PCA20191574/20191456", - "partner_name": "Partner 2", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 1455, - "title": "Intervention Title 1", - "number": "TST/PCA20191573/20191455", - "partner_name": "Partner 1", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 101, - "title": "Intervention Title 0", - "number": "TST/PCA20191572/2019101", - "partner_name": "Partner 0", - "status": "draft", - "indicators": [], - "sections": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/None.response.json deleted file mode 100644 index 72bca7da1e..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/None.response.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "43" - ] - }, - "data": [ - { - "intervention": 1456, - "ram_indicators": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 72bca7da1e..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_indicators_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "43" - ] - }, - "data": [ - { - "intervention": 1456, - "ram_indicators": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/None.response.json deleted file mode 100644 index 7214c79013..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/None.response.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "931" - ] - }, - "data": [ - { - "id": 1456, - "partner_id": "1498", - "partner_name": "Partner 2", - "agreement": 1574, - "document_type": "", - "number": "TST/PCA20191574/20191456", - "title": "Intervention Title 2", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "Result 0", - "clusters": null, - "frs": [] - }, - { - "id": 1455, - "partner_id": "1497", - "partner_name": "Partner 1", - "agreement": 1573, - "document_type": "", - "number": "TST/PCA20191573/20191455", - "title": "Intervention Title 1", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - }, - { - "id": 101, - "partner_id": "1496", - "partner_name": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 7214c79013..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/_api_v2_interventions_map_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "931" - ] - }, - "data": [ - { - "id": 1456, - "partner_id": "1498", - "partner_name": "Partner 2", - "agreement": 1574, - "document_type": "", - "number": "TST/PCA20191574/20191456", - "title": "Intervention Title 2", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "Result 0", - "clusters": null, - "frs": [] - }, - { - "id": 1455, - "partner_id": "1497", - "partner_name": "Partner 1", - "agreement": 1573, - "document_type": "", - "number": "TST/PCA20191573/20191455", - "title": "Intervention Title 1", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - }, - { - "id": 101, - "partner_id": "1496", - "partner_name": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/fixtures.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/fixtures.json deleted file mode 100644 index e58ec5c14d..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/fixtures.json +++ /dev/null @@ -1,517 +0,0 @@ -{ - "intervention": { - "master": { - "model": "partners.intervention", - "pk": 101, - "fields": { - "created": "2019-07-01T20:32:43.418Z", - "modified": "2019-07-01T20:32:43.421Z", - "document_type": "", - "agreement": 1572, - "country_programme": null, - "number": "TST/PCA20191572/2019101", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-07-01", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - "deps": [ - { - "model": "partners.agreement", - "pk": 1572, - "fields": { - "created": "2019-07-01T20:32:43.395Z", - "modified": "2019-07-01T20:32:43.417Z", - "partner": 1496, - "country_programme": 1448, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191572", - "attached_agreement": "", - "start": "2019-07-01", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-07-01", - "signed_by": null, - "signed_by_partner_date": "2019-07-01", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 1496, - "fields": { - "created": "2019-07-01T20:32:43.381Z", - "modified": "2019-07-01T20:32:43.387Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 0", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1448, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "amendment": { - "master": { - "model": "partners.interventionamendment", - "pk": 42, - "fields": { - "created": "2019-07-01T20:32:43.465Z", - "modified": "2019-07-01T20:32:43.501Z", - "intervention": 1455, - "types": "[\"Change authorized officer\"]", - "other_description": "pxRKBufTiSdqiGAOyXwghKOpNAMJCXkyyvpGCFZerSqsemMYaY", - "signed_date": "2019-07-01", - "amendment_number": 1, - "signed_amendment": "test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf" - } - }, - "deps": [ - { - "model": "partners.intervention", - "pk": 1455, - "fields": { - "created": "2019-07-01T20:32:43.453Z", - "modified": "2019-07-01T20:32:43.497Z", - "document_type": "", - "agreement": 1573, - "country_programme": null, - "number": "TST/PCA20191573/20191455", - "title": "Intervention Title 1", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-07-01", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": true, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1573, - "fields": { - "created": "2019-07-01T20:32:43.437Z", - "modified": "2019-07-01T20:32:43.451Z", - "partner": 1497, - "country_programme": 1449, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191573", - "attached_agreement": "", - "start": "2019-07-01", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-07-01", - "signed_by": null, - "signed_by_partner_date": "2019-07-01", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 1497, - "fields": { - "created": "2019-07-01T20:32:43.426Z", - "modified": "2019-07-01T20:32:43.432Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1449, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "result": { - "master": { - "model": "partners.interventionresultlink", - "pk": 889, - "fields": { - "created": "2019-07-01T20:32:43.555Z", - "modified": "2019-07-01T20:32:43.555Z", - "intervention": 1456, - "cp_output": 953, - "ram_indicators": [] - } - }, - "deps": [ - { - "model": "partners.intervention", - "pk": 1456, - "fields": { - "created": "2019-07-01T20:32:43.538Z", - "modified": "2019-07-01T20:32:43.541Z", - "document_type": "", - "agreement": 1574, - "country_programme": null, - "number": "TST/PCA20191574/20191456", - "title": "Intervention Title 2", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-07-01", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1574, - "fields": { - "created": "2019-07-01T20:32:43.510Z", - "modified": "2019-07-01T20:32:43.537Z", - "partner": 1498, - "country_programme": 1450, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191574", - "attached_agreement": "", - "start": "2019-07-01", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-07-01", - "signed_by": null, - "signed_by_partner_date": "2019-07-01", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 1498, - "fields": { - "created": "2019-07-01T20:32:43.504Z", - "modified": "2019-07-01T20:32:43.507Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1450, - "fields": { - "name": "Country Programme 2", - "wbs": "0000/A0/02", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "reports.result", - "pk": 953, - "fields": { - "country_programme": null, - "result_type": 915, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-07-01T20:32:43.549Z", - "modified": "2019-07-01T20:32:43.552Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "reports.resulttype", - "pk": 915, - "fields": { - "name": "ResultType 0" - } - } - ] - } -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_.response.json deleted file mode 100644 index fddeeabe97..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_.response.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2411" - ] - }, - "data": [ - { - "id": 1456, - "number": "TST/PCA20191574/20191456", - "document_type": "", - "partner_name": "Partner 2", - "status": "draft", - "title": "Intervention Title 2", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [ - 953 - ], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 1455, - "number": "TST/PCA20191573/20191455", - "document_type": "", - "partner_name": "Partner 1", - "status": "draft", - "title": "Intervention Title 1", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 101, - "number": "TST/PCA20191572/2019101", - "document_type": "", - "partner_name": "Partner 0", - "status": "draft", - "title": "Intervention Title 0", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101_.response.json deleted file mode 100644 index cc4f91c2f7..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101_.response.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "5536" - ] - }, - "data": { - "id": 101, - "frs": [], - "partner": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "prc_review_document_file": null, - "frs_details": { - "frs": [], - "total_frs_amt": 0, - "total_outstanding_amt": 0, - "total_intervention_amt": 0, - "total_actual_amt": 0, - "earliest_start_date": null, - "latest_end_date": null, - "currencies_match": false, - "multi_curr_flag": false - }, - "signed_pd_document_file": null, - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date_prc": null, - "review_date_prc": null, - "submission_date": "2019-07-01", - "prc_review_document": null, - "submitted_to_prc": false, - "signed_pd_document": null, - "signed_by_unicef_date": null, - "unicef_signatory": null, - "unicef_focal_points": [], - "partner_focal_points": [], - "partner_authorized_officer_signatory": null, - "offices": [], - "population_focus": null, - "signed_by_partner_date": null, - "created": "2019-07-01T20:32:43.418000Z", - "modified": "2019-07-01T20:32:43.421000Z", - "planned_budget": null, - "result_links": [], - "country_programme": null, - "metadata": {}, - "contingency_pd": false, - "amendments": [], - "attachments": [], - "permissions": { - "edit": { - "start": false, - "document_type": false, - "activation_letter": false, - "offices": false, - "engagement": true, - "agreement": false, - "submission_date": false, - "signed_by_unicef_date": false, - "in_amendment": false, - "planned_budget": false, - "result_links": false, - "number": false, - "prc_review_attachment": false, - "activation_letter_attachment": false, - "submission_date_prc": false, - "id": true, - "unicef_focal_points": false, - "special_reporting_requirements": true, - "reporting_periods": true, - "title": false, - "termination_doc": false, - "frs": false, - "partner_authorized_officer_signatory": false, - "sections": false, - "signed_pd_document": false, - "unicef_signatory": false, - "termination_doc_attachment": true, - "signed_by_partner_date": false, - "planned_visits": false, - "actionpoint": true, - "created": true, - "contingency_pd": false, - "partner_authorized_officer_signatory_id": true, - "prc_review_document": false, - "end": false, - "activity": true, - "country_programme": false, - "country_programme_id": true, - "amendments": false, - "reference_number_year": true, - "partner_focal_points": false, - "unicef_signatory_id": true, - "travel_activities": true, - "metadata": true, - "modified": true, - "attachments": true, - "agreement_id": true, - "flat_locations": true, - "reporting_requirements": false, - "review_date_prc": false, - "signed_pd_attachment": false, - "status": true, - "population_focus": true, - "sections_present": true - }, - "required": { - "start": false, - "document_type": true, - "activation_letter": false, - "offices": false, - "engagement": false, - "agreement": true, - "submission_date": false, - "signed_by_unicef_date": false, - "in_amendment": false, - "planned_budget": false, - "result_links": false, - "number": true, - "prc_review_attachment": false, - "activation_letter_attachment": false, - "submission_date_prc": false, - "id": false, - "unicef_focal_points": false, - "special_reporting_requirements": false, - "reporting_periods": false, - "title": true, - "termination_doc": false, - "frs": false, - "partner_authorized_officer_signatory": false, - "sections": false, - "signed_pd_document": false, - "unicef_signatory": false, - "termination_doc_attachment": false, - "signed_by_partner_date": false, - "planned_visits": false, - "actionpoint": false, - "created": false, - "contingency_pd": false, - "partner_authorized_officer_signatory_id": false, - "prc_review_document": false, - "end": false, - "activity": false, - "country_programme": false, - "country_programme_id": false, - "amendments": false, - "reference_number_year": true, - "partner_focal_points": false, - "unicef_signatory_id": false, - "travel_activities": false, - "metadata": false, - "modified": false, - "attachments": false, - "agreement_id": false, - "flat_locations": false, - "reporting_requirements": false, - "review_date_prc": false, - "signed_pd_attachment": false, - "status": false, - "population_focus": false, - "sections_present": false - }, - "view": { - "start": false, - "document_type": false, - "activation_letter": false, - "offices": false, - "engagement": true, - "agreement": false, - "submission_date": false, - "signed_by_unicef_date": false, - "in_amendment": false, - "planned_budget": false, - "result_links": true, - "number": false, - "prc_review_attachment": false, - "activation_letter_attachment": false, - "submission_date_prc": false, - "id": true, - "unicef_focal_points": false, - "special_reporting_requirements": true, - "reporting_periods": true, - "title": false, - "termination_doc": false, - "frs": false, - "partner_authorized_officer_signatory": false, - "sections": false, - "signed_pd_document": false, - "unicef_signatory": false, - "termination_doc_attachment": true, - "signed_by_partner_date": false, - "planned_visits": false, - "actionpoint": true, - "created": true, - "contingency_pd": false, - "partner_authorized_officer_signatory_id": true, - "prc_review_document": false, - "end": false, - "activity": true, - "country_programme": false, - "country_programme_id": true, - "amendments": false, - "reference_number_year": true, - "partner_focal_points": false, - "unicef_signatory_id": true, - "travel_activities": true, - "metadata": true, - "modified": true, - "attachments": true, - "agreement_id": true, - "flat_locations": false, - "reporting_requirements": false, - "review_date_prc": false, - "signed_pd_attachment": false, - "status": true, - "population_focus": true, - "sections_present": false - } - }, - "partner_id": "1496", - "sections": [], - "planned_visits": [], - "locations": [], - "location_names": [], - "cluster_names": [], - "flat_locations": [], - "flagged_sections": [], - "section_names": [], - "in_amendment": false, - "prc_review_attachment": null, - "signed_pd_attachment": null, - "donors": [], - "donor_codes": [], - "grants": [], - "location_p_codes": [], - "days_from_submission_to_signed": "Not fully signed", - "days_from_review_to_signed": "Not Reviewed", - "partner_vendor": null, - "reference_number_year": 2019, - "activation_letter_file": null, - "activation_letter_attachment": null, - "termination_doc_file": null, - "termination_doc_attachment": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101__None.response.json deleted file mode 100644 index 6a6f0ed15d..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_101__None.response.json +++ /dev/null @@ -1,268 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "5536" - ] - }, - "data": { - "id": 101, - "frs": [], - "partner": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "prc_review_document_file": null, - "frs_details": { - "frs": [], - "total_frs_amt": 0, - "total_outstanding_amt": 0, - "total_intervention_amt": 0, - "total_actual_amt": 0, - "earliest_start_date": null, - "latest_end_date": null, - "currencies_match": false, - "multi_curr_flag": false - }, - "signed_pd_document_file": null, - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date_prc": null, - "review_date_prc": null, - "submission_date": "2019-07-01", - "prc_review_document": null, - "submitted_to_prc": false, - "signed_pd_document": null, - "signed_by_unicef_date": null, - "unicef_signatory": null, - "unicef_focal_points": [], - "partner_focal_points": [], - "partner_authorized_officer_signatory": null, - "offices": [], - "population_focus": null, - "signed_by_partner_date": null, - "created": "2019-07-01T20:32:43.418000Z", - "modified": "2019-07-01T20:32:43.421000Z", - "planned_budget": null, - "result_links": [], - "country_programme": null, - "metadata": {}, - "contingency_pd": false, - "amendments": [], - "attachments": [], - "permissions": { - "edit": { - "reference_number_year": true, - "unicef_focal_points": false, - "submission_date_prc": false, - "actionpoint": true, - "contingency_pd": false, - "activation_letter_attachment": false, - "created": true, - "start": false, - "partner_focal_points": false, - "country_programme_id": true, - "amendments": false, - "planned_budget": false, - "unicef_signatory_id": true, - "reporting_requirements": false, - "metadata": true, - "modified": true, - "number": false, - "unicef_signatory": false, - "partner_authorized_officer_signatory": false, - "prc_review_attachment": false, - "activity": true, - "termination_doc": false, - "signed_by_partner_date": false, - "result_links": false, - "end": false, - "signed_pd_attachment": false, - "special_reporting_requirements": true, - "document_type": false, - "agreement_id": true, - "attachments": true, - "submission_date": false, - "agreement": false, - "population_focus": true, - "id": true, - "signed_by_unicef_date": false, - "planned_visits": false, - "frs": false, - "partner_authorized_officer_signatory_id": true, - "signed_pd_document": false, - "status": true, - "flat_locations": true, - "review_date_prc": false, - "title": false, - "termination_doc_attachment": true, - "reporting_periods": true, - "sections": false, - "offices": false, - "country_programme": false, - "prc_review_document": false, - "travel_activities": true, - "activation_letter": false, - "engagement": true, - "in_amendment": false, - "sections_present": true - }, - "required": { - "reference_number_year": true, - "unicef_focal_points": false, - "submission_date_prc": false, - "actionpoint": false, - "contingency_pd": false, - "activation_letter_attachment": false, - "created": false, - "start": false, - "partner_focal_points": false, - "country_programme_id": false, - "amendments": false, - "planned_budget": false, - "unicef_signatory_id": false, - "reporting_requirements": false, - "metadata": false, - "modified": false, - "number": true, - "unicef_signatory": false, - "partner_authorized_officer_signatory": false, - "prc_review_attachment": false, - "activity": false, - "termination_doc": false, - "signed_by_partner_date": false, - "result_links": false, - "end": false, - "signed_pd_attachment": false, - "special_reporting_requirements": false, - "document_type": true, - "agreement_id": false, - "attachments": false, - "submission_date": false, - "agreement": true, - "population_focus": false, - "id": false, - "signed_by_unicef_date": false, - "planned_visits": false, - "frs": false, - "partner_authorized_officer_signatory_id": false, - "signed_pd_document": false, - "status": false, - "flat_locations": false, - "review_date_prc": false, - "title": true, - "termination_doc_attachment": false, - "reporting_periods": false, - "sections": false, - "offices": false, - "country_programme": false, - "prc_review_document": false, - "travel_activities": false, - "activation_letter": false, - "engagement": false, - "in_amendment": false, - "sections_present": false - }, - "view": { - "reference_number_year": true, - "unicef_focal_points": false, - "submission_date_prc": false, - "actionpoint": true, - "contingency_pd": false, - "activation_letter_attachment": false, - "created": true, - "start": false, - "partner_focal_points": false, - "country_programme_id": true, - "amendments": false, - "planned_budget": false, - "unicef_signatory_id": true, - "reporting_requirements": false, - "metadata": true, - "modified": true, - "number": false, - "unicef_signatory": false, - "partner_authorized_officer_signatory": false, - "prc_review_attachment": false, - "activity": true, - "termination_doc": false, - "signed_by_partner_date": false, - "result_links": true, - "end": false, - "signed_pd_attachment": false, - "special_reporting_requirements": true, - "document_type": false, - "agreement_id": true, - "attachments": true, - "submission_date": false, - "agreement": false, - "population_focus": true, - "id": true, - "signed_by_unicef_date": false, - "planned_visits": false, - "frs": false, - "partner_authorized_officer_signatory_id": true, - "signed_pd_document": false, - "status": true, - "flat_locations": false, - "review_date_prc": false, - "title": false, - "termination_doc_attachment": true, - "reporting_periods": true, - "sections": false, - "offices": false, - "country_programme": false, - "prc_review_document": false, - "travel_activities": true, - "activation_letter": false, - "engagement": true, - "in_amendment": false, - "sections_present": false - } - }, - "partner_id": "1496", - "sections": [], - "planned_visits": [], - "locations": [], - "location_names": [], - "cluster_names": [], - "flat_locations": [], - "flagged_sections": [], - "section_names": [], - "in_amendment": false, - "prc_review_attachment": null, - "signed_pd_attachment": null, - "donors": [], - "donor_codes": [], - "grants": [], - "location_p_codes": [], - "days_from_submission_to_signed": "Not fully signed", - "days_from_review_to_signed": "Not Reviewed", - "partner_vendor": null, - "reference_number_year": 2019, - "activation_letter_file": null, - "activation_letter_attachment": null, - "termination_doc_file": null, - "termination_doc_attachment": null - }, - "content_type": null -} diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions__None.response.json deleted file mode 100644 index fddeeabe97..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions__None.response.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "2411" - ] - }, - "data": [ - { - "id": 1456, - "number": "TST/PCA20191574/20191456", - "document_type": "", - "partner_name": "Partner 2", - "status": "draft", - "title": "Intervention Title 2", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [ - 953 - ], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 1455, - "number": "TST/PCA20191573/20191455", - "document_type": "", - "partner_name": "Partner 1", - "status": "draft", - "title": "Intervention Title 1", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - }, - { - "id": 101, - "number": "TST/PCA20191572/2019101", - "document_type": "", - "partner_name": "Partner 0", - "status": "draft", - "title": "Intervention Title 0", - "start": null, - "end": null, - "frs_total_frs_amt": null, - "unicef_cash": "0.00", - "cso_contribution": "0.00", - "country_programme": null, - "frs_earliest_start_date": null, - "frs_latest_end_date": null, - "sections": [], - "section_names": [], - "cp_outputs": [], - "unicef_focal_points": [], - "frs_total_intervention_amt": null, - "frs_total_outstanding_amt": null, - "offices": [], - "actual_amount": null, - "offices_names": [], - "total_unicef_budget": "0.00", - "total_budget": "0.00", - "metadata": {}, - "flagged_sections": [], - "budget_currency": null, - "fr_currencies_are_consistent": null, - "all_currencies_are_consistent": false, - "fr_currency": "", - "multi_curr_flag": false, - "location_p_codes": [], - "donors": [], - "donor_codes": [], - "grants": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments_.response.json deleted file mode 100644 index f5e618e5ba..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments_.response.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "666" - ] - }, - "data": [ - { - "id": 42, - "amendment_number": "1", - "signed_amendment_file": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "signed_amendment_attachment": null, - "internal_prc_review": null, - "created": "2019-07-01T20:32:43.465000Z", - "modified": "2019-07-01T20:32:43.501000Z", - "types": [ - "Change authorized officer" - ], - "other_description": "pxRKBufTiSdqiGAOyXwghKOpNAMJCXkyyvpGCFZerSqsemMYaY", - "signed_date": "2019-07-01", - "signed_amendment": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "intervention": 1455 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments__None.response.json deleted file mode 100644 index f5e618e5ba..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_amendments__None.response.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "666" - ] - }, - "data": [ - { - "id": 42, - "amendment_number": "1", - "signed_amendment_file": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "signed_amendment_attachment": null, - "internal_prc_review": null, - "created": "2019-07-01T20:32:43.465000Z", - "modified": "2019-07-01T20:32:43.501000Z", - "types": [ - "Change authorized officer" - ], - "other_description": "pxRKBufTiSdqiGAOyXwghKOpNAMJCXkyyvpGCFZerSqsemMYaY", - "signed_date": "2019-07-01", - "signed_amendment": "http://testserver/media/test/file_attachments/partner_organization/1497/1497/agreements/1573/interventions/1455/amendments/None/test_file.pdf", - "intervention": 1455 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators_.response.json deleted file mode 100644 index fe26545715..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators_.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "458" - ] - }, - "data": [ - { - "id": 1456, - "title": "Intervention Title 2", - "number": "TST/PCA20191574/20191456", - "partner_name": "Partner 2", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 1455, - "title": "Intervention Title 1", - "number": "TST/PCA20191573/20191455", - "partner_name": "Partner 1", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 101, - "title": "Intervention Title 0", - "number": "TST/PCA20191572/2019101", - "partner_name": "Partner 0", - "status": "draft", - "indicators": [], - "sections": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators__None.response.json deleted file mode 100644 index fe26545715..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_applied-indicators__None.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "458" - ] - }, - "data": [ - { - "id": 1456, - "title": "Intervention Title 2", - "number": "TST/PCA20191574/20191456", - "partner_name": "Partner 2", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 1455, - "title": "Intervention Title 1", - "number": "TST/PCA20191573/20191455", - "partner_name": "Partner 1", - "status": "draft", - "indicators": [], - "sections": [] - }, - { - "id": 101, - "title": "Intervention Title 0", - "number": "TST/PCA20191572/2019101", - "partner_name": "Partner 0", - "status": "draft", - "indicators": [], - "sections": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators_.response.json deleted file mode 100644 index 72bca7da1e..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators_.response.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "43" - ] - }, - "data": [ - { - "intervention": 1456, - "ram_indicators": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators__None.response.json deleted file mode 100644 index 72bca7da1e..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_indicators__None.response.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "43" - ] - }, - "data": [ - { - "intervention": 1456, - "ram_indicators": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map_.response.json deleted file mode 100644 index 7214c79013..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map_.response.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "931" - ] - }, - "data": [ - { - "id": 1456, - "partner_id": "1498", - "partner_name": "Partner 2", - "agreement": 1574, - "document_type": "", - "number": "TST/PCA20191574/20191456", - "title": "Intervention Title 2", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "Result 0", - "clusters": null, - "frs": [] - }, - { - "id": 1455, - "partner_id": "1497", - "partner_name": "Partner 1", - "agreement": 1573, - "document_type": "", - "number": "TST/PCA20191573/20191455", - "title": "Intervention Title 1", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - }, - { - "id": 101, - "partner_id": "1496", - "partner_name": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map__None.response.json deleted file mode 100644 index 7214c79013..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestAPIIntervention/get__api_v2_interventions_map__None.response.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "931" - ] - }, - "data": [ - { - "id": 1456, - "partner_id": "1498", - "partner_name": "Partner 2", - "agreement": 1574, - "document_type": "", - "number": "TST/PCA20191574/20191456", - "title": "Intervention Title 2", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "Result 0", - "clusters": null, - "frs": [] - }, - { - "id": 1455, - "partner_id": "1497", - "partner_name": "Partner 1", - "agreement": 1573, - "document_type": "", - "number": "TST/PCA20191573/20191455", - "title": "Intervention Title 1", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - }, - { - "id": 101, - "partner_id": "1496", - "partner_name": "Partner 0", - "agreement": 1572, - "document_type": "", - "number": "TST/PCA20191572/2019101", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "offices": [], - "sections": [], - "locations": [], - "unicef_focal_points": [], - "results": "", - "clusters": null, - "frs": [] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/None.response.json deleted file mode 100644 index b46dcea495..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/None.response.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1070" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 101, - "vendor_number": "DDD", - "deleted_flag": false, - "blocked": false, - "name": "Partner 8", - "short_name": "Short name", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - }, - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index b46dcea495..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1070" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 101, - "vendor_number": "DDD", - "deleted_flag": false, - "blocked": false, - "name": "Partner 8", - "short_name": "Short name", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - }, - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/None.response.json deleted file mode 100644 index 743bc17839..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/None.response.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1608" - ] - }, - "data": { - "id": 101, - "staff_members": [], - "assessments": [], - "planned_engagement": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "interventions": [], - "hact_min_requirements": { - "programmatic_visits": 0, - "spot_checks": 0, - "audits": 0 - }, - "hidden": false, - "planned_visits": [], - "core_values_assessments": [], - "partner_type_slug": "CSO", - "flags": { - "expiring_assessment_flag": false, - "approaching_threshold_flag": false - }, - "created": "2018-12-05T16:22:58.948000Z", - "modified": "2018-12-05T16:22:58.954000Z", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "name": "Partner 8", - "short_name": "Short name", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "DDD", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "", - "highest_risk_rating_type": "", - "highest_risk_rating_name": "" - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index e811c94651..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1608" - ] - }, - "data": { - "id": 101, - "staff_members": [], - "assessments": [], - "planned_engagement": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "interventions": [], - "hact_min_requirements": { - "programmatic_visits": 0, - "spot_checks": 0, - "audits": 0 - }, - "hidden": false, - "planned_visits": [], - "core_values_assessments": [], - "partner_type_slug": "CSO", - "flags": { - "expiring_assessment_flag": false, - "approaching_threshold_flag": false - }, - "sea_risk_rating_name": "", - "highest_risk_rating_type": "", - "highest_risk_rating_name": "", - "created": "2018-12-05T16:22:58.948000Z", - "modified": "2018-12-05T16:22:58.954000Z", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "name": "Partner 8", - "short_name": "Short name", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "DDD", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "basis_for_risk_rating": "", - "psea_assessment_date": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/None.response.json deleted file mode 100644 index 3fd9e619b7..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/None.response.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "517" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 3fd9e619b7..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/_api_v2_partners_not_programmatic_visit_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "517" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "", - "psea_assessment_date": null, - "sea_risk_rating_name": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/fixtures.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/fixtures.json deleted file mode 100644 index 21fb15f7bd..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/fixtures.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "partner": { - "master": { - "model": "partners.partnerorganization", - "pk": 101, - "fields": { - "created": "2018-12-05T16:22:58.948Z", - "modified": "2018-12-05T16:22:58.954Z", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "name": "Partner 8", - "short_name": "Short name", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "DDD", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - "deps": [] - }, - "partner_not_programmatic_visit_compliant": { - "master": { - "model": "partners.partnerorganization", - "pk": 575, - "fields": { - "created": "2018-12-05T16:22:58.957Z", - "modified": "2018-12-05T16:22:58.961Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 9", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "programmatic_visits": { - "completed": { - "total": 0 - } - } - }, - "basis_for_risk_rating": "" - } - }, - "deps": [] - } -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_.response.json deleted file mode 100644 index ce214f3ac7..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_.response.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "962" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 101, - "vendor_number": "DDD", - "deleted_flag": false, - "blocked": false, - "name": "Partner 8", - "short_name": "Short name", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - }, - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101_.response.json deleted file mode 100644 index 5386413889..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101_.response.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1491" - ] - }, - "data": { - "id": 101, - "staff_members": [], - "assessments": [], - "planned_engagement": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "interventions": [], - "hact_min_requirements": { - "programme_visits": 0, - "spot_checks": 0, - "audits": 0 - }, - "hidden": false, - "planned_visits": [], - "core_values_assessments": [], - "partner_type_slug": "CSO", - "flags": { - "expiring_assessment_flag": false, - "approaching_threshold_flag": false - }, - "created": "2018-12-05T16:22:58.948000Z", - "modified": "2018-12-05T16:22:58.954000Z", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "name": "Partner 8", - "short_name": "Short name", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "DDD", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "basis_for_risk_rating": "" - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101__None.response.json deleted file mode 100644 index 5386413889..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_101__None.response.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PATCH" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1491" - ] - }, - "data": { - "id": 101, - "staff_members": [], - "assessments": [], - "planned_engagement": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "interventions": [], - "hact_min_requirements": { - "programme_visits": 0, - "spot_checks": 0, - "audits": 0 - }, - "hidden": false, - "planned_visits": [], - "core_values_assessments": [], - "partner_type_slug": "CSO", - "flags": { - "expiring_assessment_flag": false, - "approaching_threshold_flag": false - }, - "created": "2018-12-05T16:22:58.948000Z", - "modified": "2018-12-05T16:22:58.954000Z", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "name": "Partner 8", - "short_name": "Short name", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "DDD", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "basis_for_risk_rating": "" - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners__None.response.json deleted file mode 100644 index ce214f3ac7..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners__None.response.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "962" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 101, - "vendor_number": "DDD", - "deleted_flag": false, - "blocked": false, - "name": "Partner 8", - "short_name": "Short name", - "partner_type": "Civil Society Organization", - "cso_type": "International", - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - }, - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit_.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit_.response.json deleted file mode 100644 index fcd375a378..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit_.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "463" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit__None.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit__None.response.json deleted file mode 100644 index fcd375a378..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api/TestPartners/get__api_v2_partners_not_programmatic_visit__None.response.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "463" - ] - }, - "data": [ - { - "street_address": null, - "last_assessment_date": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 575, - "vendor_number": null, - "deleted_flag": false, - "blocked": false, - "name": "Partner 9", - "short_name": "", - "partner_type": "", - "cso_type": null, - "rating": null, - "shared_with": null, - "email": null, - "phone_number": null, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": "2501.00", - "reported_cy": "10000.00", - "total_ct_ytd": null, - "hidden": false, - "basis_for_risk_rating": "" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/_api_prp_v1_interventions_/get/e836458333544f009737d7093690a86693e2cd1c9cb1e39110be855b5aacbc7d.response.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/_api_prp_v1_interventions_/get/e836458333544f009737d7093690a86693e2cd1c9cb1e39110be855b5aacbc7d.response.json deleted file mode 100644 index 54f4d7a11a..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/_api_prp_v1_interventions_/get/e836458333544f009737d7093690a86693e2cd1c9cb1e39110be855b5aacbc7d.response.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "1991" - ] - }, - "data": { - "count": 1, - "next": null, - "previous": null, - "results": [ - { - "id": 2045, - "title": "Active Intervention", - "document_type": "PD", - "business_area_code": "ZZZ", - "offices": [], - "number": "TST/PCA20191980/PD20192045", - "status": "active", - "partner_org": { - "short_name": "", - "street_address": null, - "last_assessment_date": null, - "partner_type": "", - "cso_type": null, - "total_ct_cp": null, - "total_ct_cy": null, - "address": null, - "city": null, - "postal_code": null, - "country": null, - "id": 2015, - "unicef_vendor_number": null, - "name": "Partner 2", - "alternate_name": null, - "rating": null, - "email": null, - "phone_number": null, - "basis_for_risk_rating": "", - "core_values_assessment_date": null, - "type_of_assessment": null, - "sea_risk_rating_name": "", - "psea_assessment_date": null, - "highest_risk_rating_name": "", - "highest_risk_rating_type": "" - }, - "special_reports": [], - "sections": [], - "agreement": "TST/PCA20191980", - "unicef_focal_points": [], - "agreement_auth_officers": [], - "focal_points": [], - "start_date": "2019-09-05", - "end_date": "2019-12-05", - "cso_budget": "0.00", - "cso_budget_currency": "", - "unicef_budget": "0.00", - "unicef_budget_currency": "", - "reporting_requirements": [ - { - "id": 40, - "start_date": "2001-01-29", - "end_date": "2010-04-07", - "due_date": "2018-05-28", - "report_type": "('HR', 'Humanitarian Report')" - } - ], - "expected_results": [ - { - "id": 109, - "title": "Lower Result 1", - "result_link": 1693, - "cp_output": { - "id": 1871, - "title": "Result 0" - }, - "indicators": [ - { - "id": 108, - "title": "The Blueprint", - "blueprint_id": 109, - "cluster_indicator_id": null, - "means_of_verification": null, - "baseline": { - "d": 1, - "v": 0 - }, - "target": { - "d": 1, - "v": 0 - }, - "locations": [ - { - "id": 1893, - "name": "A Location", - "pcode": "a-p-code", - "location_type": "A Gateway", - "admin_level": 0 - } - ], - "disaggregation": [ - { - "id": 70, - "name": "A Disaggregation", - "disaggregation_values": [] - } - ], - "is_high_frequency": false, - "is_active": true, - "numerator_label": null, - "denominator_label": null, - "unit": "number", - "display_type": "number" - } - ] - } - ], - "update_date": "2019-09-06T09:50:26.874000Z", - "amendments": [], - "locations": [], - "unicef_budget_cash": "0.00", - "unicef_budget_supplies": "0.00", - "disbursement": null, - "disbursement_percent": null - } - ] - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/fixtures.json b/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/fixtures.json deleted file mode 100644 index 5e9190191f..0000000000 --- a/src/etools/applications/partners/tests/_api_checker/etools.applications.partners.tests.test_api_prp/TestAPIPRP/fixtures.json +++ /dev/null @@ -1,2492 +0,0 @@ -{ - "unicef_staff": { - "master": { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - "deps": [ - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - } - ] - }, - "partnership_manager_user": { - "master": { - "model": "users.user", - "pk": 6663, - "fields": { - "created": "2019-09-06T09:50:26.785Z", - "modified": "2019-09-06T09:50:26.801Z", - "username": "HdBYgeVGdsOP", - "email": "partner@unicef.org", - "password": "md5$5iBjdXIbedGz$8c4962c3a7a2637d84054af33c0ba9f7", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.785Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410, - 411 - ], - "user_permissions": [] - } - }, - "deps": [ - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 411, - "fields": { - "name": "Partnership Manager", - "permissions": [] - } - } - ] - }, - "partner": { - "master": { - "model": "partners.partnerorganization", - "pk": 2014, - "fields": { - "created": "2019-09-06T09:50:26.805Z", - "modified": "2019-09-06T09:50:26.809Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "VP1", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - "deps": [] - }, - "partner1": { - "master": { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - "deps": [] - }, - "agreement": { - "master": { - "model": "partners.agreement", - "pk": 1979, - "fields": { - "created": "2019-09-06T09:50:26.816Z", - "modified": "2019-09-06T09:50:26.839Z", - "partner": 2014, - "country_programme": 1979, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191979", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - "deps": [ - { - "model": "partners.partnerorganization", - "pk": 2014, - "fields": { - "created": "2019-09-06T09:50:26.805Z", - "modified": "2019-09-06T09:50:26.809Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "VP1", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1979, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "active_agreement": { - "master": { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - "deps": [ - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "intervention": { - "master": { - "model": "partners.intervention", - "pk": 2044, - "fields": { - "created": "2019-09-06T09:50:26.864Z", - "modified": "2019-09-06T09:50:26.867Z", - "document_type": "", - "agreement": 1979, - "country_programme": null, - "number": "TST/PCA20191979/20192044", - "title": "Intervention 1", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - "deps": [ - { - "model": "partners.agreement", - "pk": 1979, - "fields": { - "created": "2019-09-06T09:50:26.816Z", - "modified": "2019-09-06T09:50:26.839Z", - "partner": 2014, - "country_programme": 1979, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191979", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2014, - "fields": { - "created": "2019-09-06T09:50:26.805Z", - "modified": "2019-09-06T09:50:26.809Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "VP1", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1979, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "intervention_2": { - "master": { - "model": "partners.intervention", - "pk": 2046, - "fields": { - "created": "2019-09-06T09:50:26.915Z", - "modified": "2019-09-06T09:50:26.917Z", - "document_type": "PD", - "agreement": 1979, - "country_programme": null, - "number": "TST/PCA20191979/PD20192046", - "title": "Intervention 2", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - "deps": [ - { - "model": "partners.agreement", - "pk": 1979, - "fields": { - "created": "2019-09-06T09:50:26.816Z", - "modified": "2019-09-06T09:50:26.839Z", - "partner": 2014, - "country_programme": 1979, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191979", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2014, - "fields": { - "created": "2019-09-06T09:50:26.805Z", - "modified": "2019-09-06T09:50:26.809Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "VP1", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1979, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "active_intervention": { - "master": { - "model": "partners.intervention", - "pk": 2045, - "fields": { - "created": "2019-09-06T09:50:26.872Z", - "modified": "2019-09-06T09:50:26.874Z", - "document_type": "PD", - "agreement": 1980, - "country_programme": null, - "number": "TST/PCA20191980/PD20192045", - "title": "Active Intervention", - "status": "active", - "start": "2019-09-05", - "end": "2019-12-05", - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": "2019-09-05", - "signed_by_partner_date": "2019-09-05", - "unicef_signatory": 6664, - "partner_authorized_officer_signatory": 2015, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - "deps": [ - { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "users.user", - "pk": 21119, - "fields": { - "created": "2020-07-06T14:43:28.638Z", - "modified": "2020-07-06T14:43:28.647Z", - "username": "VDehuwVZJsrp1", - "email": "mace01@example.com", - "password": "md5$Sb1yheiteoIY$0f201e1088bcd69234ff733fedb2a3c2", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2020-07-06T14:43:28.638Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [], - "user_permissions": [] - } - }, - { - "model": "partners.partnerstaffmember", - "pk": 2015, - "fields": { - "user": 21119, - "created": "2019-09-06T09:50:26.812Z", - "modified": "2019-09-06T09:50:26.812Z", - "partner": 2015, - "title": "Jedi Master", - "first_name": "Mace", - "last_name": "Windu", - "email": "mace01@example.com", - "phone": "", - "active": true - } - } - ] - }, - "reporting_requirement": { - "master": { - "model": "reports.reportingrequirement", - "pk": 40, - "fields": { - "created": "2019-09-06T09:50:26.919Z", - "modified": "2019-09-06T09:50:26.919Z", - "intervention": 2045, - "start_date": "2001-01-29", - "end_date": "2010-04-07", - "due_date": "2018-05-28", - "report_type": "('HR', 'Humanitarian Report')" - } - }, - "deps": [ - { - "model": "partners.intervention", - "pk": 2045, - "fields": { - "created": "2019-09-06T09:50:26.872Z", - "modified": "2019-09-06T09:50:26.874Z", - "document_type": "PD", - "agreement": 1980, - "country_programme": null, - "number": "TST/PCA20191980/PD20192045", - "title": "Active Intervention", - "status": "active", - "start": "2019-09-05", - "end": "2019-12-05", - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": "2019-09-05", - "signed_by_partner_date": "2019-09-05", - "unicef_signatory": 6664, - "partner_authorized_officer_signatory": 2015, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "users.user", - "pk": 21120, - "fields": { - "created": "2020-07-06T14:43:28.638Z", - "modified": "2020-07-06T14:43:28.647Z", - "username": "VDehuwVZJsrp2", - "email": "mace05@example.com", - "password": "md5$Sb1yheiteoIY$0f201e1088bcd69234ff733fedb2a3c2", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2020-07-06T14:43:28.638Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [], - "user_permissions": [] - } - }, - { - "model": "partners.partnerstaffmember", - "pk": 2015, - "fields": { - "user": 21120, - "created": "2019-09-06T09:50:26.812Z", - "modified": "2019-09-06T09:50:26.812Z", - "partner": 2015, - "title": "Jedi Master", - "first_name": "Mace", - "last_name": "Windu", - "email": "mace05@example.com", - "phone": "", - "active": true - } - } - ] - }, - "result_type": { - "master": { - "model": "reports.resulttype", - "pk": 1871, - "fields": { - "name": "Output" - } - }, - "deps": [] - }, - "result": { - "master": { - "model": "reports.result", - "pk": 1871, - "fields": { - "country_programme": null, - "result_type": 1871, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-09-06T09:50:26.876Z", - "modified": "2019-09-06T09:50:26.876Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - "deps": [ - { - "model": "reports.resulttype", - "pk": 1871, - "fields": { - "name": "Output" - } - } - ] - }, - "partnership_budget": { - "master": { - "model": "partners.interventionbudget", - "pk": 52, - "fields": { - "created": "2019-09-06T09:50:26.919Z", - "modified": "2019-09-06T09:50:26.919Z", - "intervention": 2044, - "partner_contribution": "20.00", - "unicef_cash": "10.00", - "in_kind_amount": "0.00", - "total": "30.00", - "partner_contribution_local": "200.00", - "unicef_cash_local": "100.00", - "in_kind_amount_local": "10.00", - "currency": "", - "total_local": "310.00" - } - }, - "deps": [ - { - "model": "partners.intervention", - "pk": 2044, - "fields": { - "created": "2019-09-06T09:50:26.864Z", - "modified": "2019-09-06T09:50:26.867Z", - "document_type": "", - "agreement": 1979, - "country_programme": null, - "number": "TST/PCA20191979/20192044", - "title": "Intervention 1", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1979, - "fields": { - "created": "2019-09-06T09:50:26.816Z", - "modified": "2019-09-06T09:50:26.839Z", - "partner": 2014, - "country_programme": 1979, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191979", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2014, - "fields": { - "created": "2019-09-06T09:50:26.805Z", - "modified": "2019-09-06T09:50:26.809Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 1", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": "VP1", - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1979, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - } - ] - }, - "fr_1": { - "master": { - "model": "funds.fundsreservationheader", - "pk": 99, - "fields": { - "created": "2019-09-06T09:50:26.921Z", - "modified": "2019-09-06T09:50:26.921Z", - "intervention": null, - "vendor_code": "YuqEOQMFqloxYHrvYjjV", - "fr_number": "qXHQBdgDZdhIYtxNTTtl", - "document_date": "2019-01-01", - "fr_type": "DrCdefpczGOveCknefML", - "currency": "USD", - "document_text": "WKxSRgRxeDYnHtafxIAv", - "intervention_amt": "67.25", - "total_amt": "122.35", - "total_amt_local": "125.88", - "actual_amt": "244.74", - "actual_amt_local": "297.71", - "outstanding_amt": "257.71", - "outstanding_amt_local": "154.74", - "start_date": "2018-12-30", - "end_date": "2020-01-07", - "multi_curr_flag": false, - "completed_flag": false, - "delegated": false - } - }, - "deps": [] - }, - "fr_2": { - "master": { - "model": "funds.fundsreservationheader", - "pk": 100, - "fields": { - "created": "2019-09-06T09:50:26.923Z", - "modified": "2019-09-06T09:50:26.923Z", - "intervention": null, - "vendor_code": "QGixIDUqaperZjhalZle", - "fr_number": "cNgFvaJxSSdeZaaVvffu", - "document_date": "2019-01-01", - "fr_type": "IPAPKYpFMShqPUixmwga", - "currency": "USD", - "document_text": "hZJkBAWDMzouymlggpSz", - "intervention_amt": "210.75", - "total_amt": "35.80", - "total_amt_local": "293.79", - "actual_amt": "274.72", - "actual_amt_local": "245.28", - "outstanding_amt": "166.94", - "outstanding_amt_local": "167.80", - "start_date": "2018-12-30", - "end_date": "2020-01-11", - "multi_curr_flag": false, - "completed_flag": false, - "delegated": false - } - }, - "deps": [] - }, - "result_link": { - "master": { - "model": "partners.interventionresultlink", - "pk": 1693, - "fields": { - "created": "2019-09-06T09:50:26.878Z", - "modified": "2019-09-06T09:50:26.878Z", - "intervention": 2045, - "cp_output": 1871, - "ram_indicators": [] - } - }, - "deps": [ - { - "model": "partners.intervention", - "pk": 2045, - "fields": { - "created": "2019-09-06T09:50:26.872Z", - "modified": "2019-09-06T09:50:26.874Z", - "document_type": "PD", - "agreement": 1980, - "country_programme": null, - "number": "TST/PCA20191980/PD20192045", - "title": "Active Intervention", - "status": "active", - "start": "2019-09-05", - "end": "2019-12-05", - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": "2019-09-05", - "signed_by_partner_date": "2019-09-05", - "unicef_signatory": 6664, - "partner_authorized_officer_signatory": 2015, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "users.user", - "pk": 21121, - "fields": { - "created": "2020-07-06T14:43:28.638Z", - "modified": "2020-07-06T14:43:28.647Z", - "username": "VDehuwVZJsrp6", - "email": "mace06@example.com", - "password": "md5$Sb1yheiteoIY$0f201e1088bcd69234ff733fedb2a3c2", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2020-07-06T14:43:28.638Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [], - "user_permissions": [] - } - }, - { - "model": "partners.partnerstaffmember", - "pk": 2015, - "fields": { - "user": 21121, - "created": "2019-09-06T09:50:26.812Z", - "modified": "2019-09-06T09:50:26.812Z", - "partner": 2015, - "title": "Jedi Master", - "first_name": "Mace", - "last_name": "Windu", - "email": "mace06@example.com", - "phone": "", - "active": true - } - }, - { - "model": "reports.result", - "pk": 1871, - "fields": { - "country_programme": null, - "result_type": 1871, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-09-06T09:50:26.876Z", - "modified": "2019-09-06T09:50:26.876Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "reports.resulttype", - "pk": 1871, - "fields": { - "name": "Output" - } - } - ] - }, - "lower_result": { - "master": { - "model": "reports.lowerresult", - "pk": 109, - "fields": { - "created": "2019-09-06T09:50:26.880Z", - "modified": "2019-09-06T09:50:26.880Z", - "result_link": 1693, - "name": "Lower Result 1", - "code": "2045-1" - } - }, - "deps": [ - { - "model": "partners.interventionresultlink", - "pk": 1693, - "fields": { - "created": "2019-09-06T09:50:26.878Z", - "modified": "2019-09-06T09:50:26.878Z", - "intervention": 2045, - "cp_output": 1871, - "ram_indicators": [] - } - }, - { - "model": "partners.intervention", - "pk": 2045, - "fields": { - "created": "2019-09-06T09:50:26.872Z", - "modified": "2019-09-06T09:50:26.874Z", - "document_type": "PD", - "agreement": 1980, - "country_programme": null, - "number": "TST/PCA20191980/PD20192045", - "title": "Active Intervention", - "status": "active", - "start": "2019-09-05", - "end": "2019-12-05", - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": "2019-09-05", - "signed_by_partner_date": "2019-09-05", - "unicef_signatory": 6664, - "partner_authorized_officer_signatory": 2015, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "users.user", - "pk": 21122, - "fields": { - "created": "2020-07-06T14:43:28.638Z", - "modified": "2020-07-06T14:43:28.647Z", - "username": "VDehuwVZJsrp3", - "email": "mace03@example.com", - "password": "md5$Sb1yheiteoIY$0f201e1088bcd69234ff733fedb2a3c2", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2020-07-06T14:43:28.638Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [], - "user_permissions": [] - } - }, - { - "model": "partners.partnerstaffmember", - "pk": 2015, - "fields": { - "user": 21122, - "created": "2019-09-06T09:50:26.812Z", - "modified": "2019-09-06T09:50:26.812Z", - "partner": 2015, - "title": "Jedi Master", - "first_name": "Mace", - "last_name": "Windu", - "email": "mace03@example.com", - "phone": "", - "active": true - } - }, - { - "model": "reports.result", - "pk": 1871, - "fields": { - "country_programme": null, - "result_type": 1871, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-09-06T09:50:26.876Z", - "modified": "2019-09-06T09:50:26.876Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "reports.resulttype", - "pk": 1871, - "fields": { - "name": "Output" - } - } - ] - }, - "indicator_blueprint": { - "master": { - "model": "reports.indicatorblueprint", - "pk": 109, - "fields": { - "created": "2019-09-06T09:50:26.879Z", - "modified": "2019-09-06T09:50:26.879Z", - "title": "The Blueprint", - "unit": "number", - "description": null, - "code": null, - "subdomain": null, - "disaggregatable": false, - "calculation_formula_across_periods": "sum", - "calculation_formula_across_locations": "sum", - "display_type": "number" - } - }, - "deps": [] - }, - "applied_indicator": { - "master": { - "model": "reports.appliedindicator", - "pk": 108, - "fields": { - "created": "2019-09-06T09:50:26.882Z", - "modified": "2019-09-06T09:50:26.882Z", - "indicator": 109, - "measurement_specifications": null, - "label": null, - "numerator_label": null, - "denominator_label": null, - "section": null, - "cluster_indicator_id": null, - "response_plan_name": null, - "cluster_name": null, - "cluster_indicator_title": null, - "lower_result": 109, - "context_code": null, - "target": { - "d": 1, - "v": 0 - }, - "baseline": { - "d": 1, - "v": 0 - }, - "assumptions": null, - "means_of_verification": null, - "total": 0, - "is_high_frequency": false, - "is_active": true, - "disaggregation": [ - 70 - ], - "locations": [ - 1893 - ] - } - }, - "deps": [ - { - "model": "reports.indicatorblueprint", - "pk": 109, - "fields": { - "created": "2019-09-06T09:50:26.879Z", - "modified": "2019-09-06T09:50:26.879Z", - "title": "The Blueprint", - "unit": "number", - "description": null, - "code": null, - "subdomain": null, - "disaggregatable": false, - "calculation_formula_across_periods": "sum", - "calculation_formula_across_locations": "sum", - "display_type": "number" - } - }, - { - "model": "reports.lowerresult", - "pk": 109, - "fields": { - "created": "2019-09-06T09:50:26.880Z", - "modified": "2019-09-06T09:50:26.880Z", - "result_link": 1693, - "name": "Lower Result 1", - "code": "2045-1" - } - }, - { - "model": "partners.interventionresultlink", - "pk": 1693, - "fields": { - "created": "2019-09-06T09:50:26.878Z", - "modified": "2019-09-06T09:50:26.878Z", - "intervention": 2045, - "cp_output": 1871, - "ram_indicators": [] - } - }, - { - "model": "partners.intervention", - "pk": 2045, - "fields": { - "created": "2019-09-06T09:50:26.872Z", - "modified": "2019-09-06T09:50:26.874Z", - "document_type": "PD", - "agreement": 1980, - "country_programme": null, - "number": "TST/PCA20191980/PD20192045", - "title": "Active Intervention", - "status": "active", - "start": "2019-09-05", - "end": "2019-12-05", - "submission_date": "2019-09-06", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": "2019-09-05", - "signed_by_partner_date": "2019-09-05", - "unicef_signatory": 6664, - "partner_authorized_officer_signatory": 2015, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1980, - "fields": { - "created": "2019-09-06T09:50:26.840Z", - "modified": "2019-09-06T09:50:26.850Z", - "partner": 2015, - "country_programme": 1980, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191980", - "attached_agreement": "", - "start": "2019-09-06", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-06", - "signed_by": null, - "signed_by_partner_date": "2019-09-06", - "partner_manager": null, - "status": "active", - "authorized_officers": [] - } - }, - { - "model": "partners.partnerorganization", - "pk": 2015, - "fields": { - "created": "2019-09-06T09:50:26.810Z", - "modified": "2019-09-06T09:50:26.813Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 2", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "reports.countryprogramme", - "pk": 1980, - "fields": { - "name": "Country Programme 1", - "wbs": "0000/A0/01", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "users.user", - "pk": 6664, - "fields": { - "created": "2019-09-06T09:50:26.851Z", - "modified": "2019-09-06T09:50:26.862Z", - "username": "QvnLzWzvHUSg", - "email": "staff@unicef.org", - "password": "md5$EcJak3vWmN4B$97409c09f89ec7a732d1938241774a34", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-06T09:50:26.851Z", - "last_login": null, - "is_active": true, - "is_staff": true, - "is_superuser": false, - "groups": [ - 410 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 410, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "users.user", - "pk": 21123, - "fields": { - "created": "2020-07-06T14:43:28.638Z", - "modified": "2020-07-06T14:43:28.647Z", - "username": "VDehuwVZJsrp4", - "email": "mace04@example.com", - "password": "md5$Sb1yheiteoIY$0f201e1088bcd69234ff733fedb2a3c2", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2020-07-06T14:43:28.638Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [], - "user_permissions": [] - } - }, - { - "model": "partners.partnerstaffmember", - "pk": 2015, - "fields": { - "user": 21123, - "created": "2019-09-06T09:50:26.812Z", - "modified": "2019-09-06T09:50:26.812Z", - "partner": 2015, - "title": "Jedi Master", - "first_name": "Mace", - "last_name": "Windu", - "email": "mace04@example.com", - "phone": "", - "active": true - } - }, - { - "model": "reports.result", - "pk": 1871, - "fields": { - "country_programme": null, - "result_type": 1871, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-09-06T09:50:26.876Z", - "modified": "2019-09-06T09:50:26.876Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "reports.resulttype", - "pk": 1871, - "fields": { - "name": "Output" - } - }, - { - "model": "reports.disaggregation", - "pk": 70, - "fields": { - "created": "2019-09-06T09:50:26.912Z", - "modified": "2019-09-06T09:50:26.912Z", - "name": "A Disaggregation", - "active": false - } - }, - { - "model": "locations.location", - "pk": 1893, - "fields": { - "name": "A Location", - "gateway": 1893, - "latitude": null, - "longitude": null, - "p_code": "a-p-code", - "parent": null, - "geom": null, - "point": "SRID=4326;POINT (20 20)", - "is_active": true, - "created": "2019-09-06T09:50:26.885Z", - "modified": "2019-09-06T09:50:26.885Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "locations.gatewaytype", - "pk": 1893, - "fields": { - "created": "2019-09-06T09:50:26.884Z", - "modified": "2019-09-06T09:50:26.884Z", - "name": "A Gateway", - "admin_level": 0 - } - } - ] - }, - "file_type_attachment": { - "master": { - "model": "unicef_attachments.filetype", - "pk": 7531, - "fields": { - "order": 2, - "name": "file_type_2", - "label": "", - "code": "partners_intervention_attachment" - } - }, - "deps": [] - }, - "file_type_prc": { - "master": { - "model": "unicef_attachments.filetype", - "pk": 7532, - "fields": { - "order": 3, - "name": "file_type_3", - "label": "", - "code": "partners_intervention_prc_review" - } - }, - "deps": [] - }, - "file_type_pd": { - "master": { - "model": "unicef_attachments.filetype", - "pk": 7533, - "fields": { - "order": 4, - "name": "file_type_4", - "label": "", - "code": "partners_intervention_signed_pd" - } - }, - "deps": [] - }, - "disaggregation": { - "master": { - "model": "reports.disaggregation", - "pk": 70, - "fields": { - "created": "2019-09-06T09:50:26.912Z", - "modified": "2019-09-06T09:50:26.912Z", - "name": "A Disaggregation", - "active": false - } - }, - "deps": [] - } -} \ No newline at end of file diff --git a/src/etools/applications/partners/tests/test_api.py b/src/etools/applications/partners/tests/test_api.py deleted file mode 100644 index b5e20798b6..0000000000 --- a/src/etools/applications/partners/tests/test_api.py +++ /dev/null @@ -1,85 +0,0 @@ -import datetime - -from django.urls import reverse - -from etools.applications.core.tests.cases import BaseTenantTestCase -from etools.applications.partners.models import PartnerOrganization, PartnerType -from etools.applications.partners.tests.factories import ( - AgreementAmendmentFactory, - AgreementFactory, - InterventionAmendmentFactory, - InterventionFactory, - InterventionResultLinkFactory, - PartnerFactory, -) -from etools.libraries.tests.api_checker import ApiCheckerMixin, AssertTimeStampedMixin, ViewSetChecker - - -class TestAPIAgreements(ApiCheckerMixin, AssertTimeStampedMixin, BaseTenantTestCase): - - def get_fixtures(self): - agreement = AgreementFactory(signed_by_unicef_date=datetime.date.today()) - agreement_amendment = AgreementAmendmentFactory(agreement=agreement) - return { - 'agreement': agreement, - 'agreement_amendment': agreement_amendment, - } - - def test_agreement_detail(self): - url = reverse("partners_api:agreement-detail", args=[self.get_fixture('agreement').pk]) - self.assertGET(url) - - def test_agreement_list(self): - url = reverse("partners_api:agreement-list") - self.assertGET(url) - - def test_agreement_amendment_list(self): - url = reverse("partners_api:agreement-amendment-list") - self.assertGET(url) - - -class TestAPIIntervention(BaseTenantTestCase, metaclass=ViewSetChecker): - URLS = [ - reverse("partners_api:intervention-list"), - reverse("partners_api:intervention-detail", args=[101]), - reverse("partners_api:intervention-indicators"), - reverse("partners_api:intervention-amendments"), - reverse("partners_api:intervention-map"), - reverse("partners_api:intervention-applied-indicators-list"), - - ] - - def get_fixtures(cls): - return {'intervention': InterventionFactory(id=101), - 'amendment': InterventionAmendmentFactory(), - 'result': InterventionResultLinkFactory(), - } - - -class TestPartners(BaseTenantTestCase, metaclass=ViewSetChecker): - URLS = [ - reverse("partners_api:partner-list"), - reverse("partners_api:partner-detail", args=[101]), - reverse("partners_api:partner-list-not-programmatic-visit"), - ] - - def get_fixtures(self): - partner = PartnerFactory( - id=101, - hidden=False, - partner_type=PartnerType.CIVIL_SOCIETY_ORGANIZATION, - cso_type="International", - vendor_number="DDD", - short_name="Short name", - modified=datetime.datetime.today() - ) - partner_not_programmatic_visit_compliant = PartnerFactory( - net_ct_cy=PartnerOrganization.CT_MR_AUDIT_TRIGGER_LEVEL + 1, - hact_values={'programmatic_visits': {'completed': {'total': 0}}}, - hidden=False, - reported_cy=10000 - ) - return { - 'partner': partner, - 'partner_not_programmatic_visit_compliant': partner_not_programmatic_visit_compliant, - } diff --git a/src/etools/applications/partners/tests/test_api_prp.py b/src/etools/applications/partners/tests/test_api_prp.py index ba3266e3c6..4f80350323 100644 --- a/src/etools/applications/partners/tests/test_api_prp.py +++ b/src/etools/applications/partners/tests/test_api_prp.py @@ -9,23 +9,15 @@ from rest_framework.test import APIRequestFactory from unicef_locations.tests.factories import GatewayTypeFactory, LocationFactory -from etools.applications.attachments.tests.factories import AttachmentFileTypeFactory from etools.applications.core.tests.cases import BaseTenantTestCase from etools.applications.core.tests.mixins import WorkspaceRequiredAPITestMixIn -from etools.applications.funds.tests.factories import FundsReservationHeaderFactory -from etools.applications.partners.models import ( - Intervention, - InterventionBudget, - InterventionResultLink, - PartnerOrganization, -) +from etools.applications.partners.models import InterventionResultLink, PartnerOrganization from etools.applications.partners.permissions import READ_ONLY_API_GROUP_NAME -from etools.applications.partners.tests.factories import AgreementFactory, InterventionFactory, PartnerFactory +from etools.applications.partners.tests.factories import InterventionFactory from etools.applications.partners.tests.test_utils import setup_intervention_test_data -from etools.applications.reports.models import AppliedIndicator, IndicatorBlueprint, LowerResult, ResultType -from etools.applications.reports.tests.factories import ReportingRequirementFactory, ResultFactory +from etools.applications.reports.models import AppliedIndicator, IndicatorBlueprint, LowerResult +from etools.applications.reports.tests.factories import ResultFactory from etools.applications.users.tests.factories import GroupFactory, UserFactory -from etools.libraries.tests.api_checker import ApiCheckerMixin, AssertTimeStampedMixin class TestInterventionsAPI(WorkspaceRequiredAPITestMixIn, BaseTenantTestCase): @@ -193,91 +185,3 @@ def test_staff_has_access(self): """Ensure a staff user has access""" response = self.forced_auth_req('get', self.url, user=UserFactory(is_staff=True), data=self.query_param_data) self.assertEquals(response.status_code, status.HTTP_200_OK) - - -class TestAPIPRP(ApiCheckerMixin, AssertTimeStampedMixin, WorkspaceRequiredAPITestMixIn, BaseTenantTestCase): - - def assert_results(self, response, expected, path=''): - extepted_results = json.loads(json.dumps(expected['results'][0])) - response_results = json.loads(json.dumps(response['results'][0])) - assert sorted(response_results.keys()) == sorted(extepted_results.keys()) - - def get_fixtures(self): - today = datetime.date.today() - - partnership_user = UserFactory(is_staff=True, email='partner@unicef.org') - partnership_user.groups.add(GroupFactory()) - - partner = PartnerFactory(name='Partner 1', vendor_number="VP1") - partner1 = PartnerFactory(name='Partner 2') - agreement = AgreementFactory(partner=partner, signed_by_unicef_date=datetime.date.today()) - active_agreement = AgreementFactory( - partner=partner1, - status='active', - signed_by_unicef_date=datetime.date.today(), - signed_by_partner_date=datetime.date.today()) - unicef_staff = UserFactory(is_staff=True, email='staff@unicef.org') - result_type = ResultType.objects.get_or_create(name=ResultType.OUTPUT)[0] - intervention = InterventionFactory(agreement=agreement, title='Intervention 1') - active_intervention = InterventionFactory( - agreement=active_agreement, title='Active Intervention', - document_type=Intervention.PD, start=today - datetime.timedelta(days=1), - end=today + datetime.timedelta(days=90), - status='active', - signed_by_unicef_date=today - datetime.timedelta(days=1), - signed_by_partner_date=today - datetime.timedelta(days=1), - unicef_signatory=unicef_staff, - partner_authorized_officer_signatory=partner1.staff_members.all().first() - ) - result = ResultFactory(result_type=result_type) - result_link = InterventionResultLink.objects.create(intervention=active_intervention, cp_output=result) - indicator_blueprint = IndicatorBlueprint.objects.create(title='The Blueprint') - lower_result = LowerResult.objects.create(result_link=result_link, name='Lower Result 1') - applied_indicator = AppliedIndicator.objects.create(indicator=indicator_blueprint, lower_result=lower_result, ) - applied_indicator.locations.add(LocationFactory( - name='A Location', gateway=GatewayTypeFactory(name='A Gateway'), p_code='a-p-code')) - disaggregation = applied_indicator.disaggregation.create(name='A Disaggregation') - - return { - "unicef_staff": unicef_staff, - "partnership_manager_user": partnership_user, - "partner": partner, - "partner1": partner1, - "agreement": agreement, - "active_agreement": active_agreement, - "intervention": intervention, - "intervention_2": InterventionFactory(agreement=agreement, title='Intervention 2', - document_type=Intervention.PD), - "active_intervention": active_intervention, - "reporting_requirement": ReportingRequirementFactory(intervention=active_intervention), - "result_type": result_type, - "result": result, - "partnership_budget": InterventionBudget.objects.create( - intervention=intervention, - unicef_cash=10, - unicef_cash_local=100, - partner_contribution=20, - partner_contribution_local=200, - in_kind_amount_local=10, - ), - "fr_1": FundsReservationHeaderFactory(intervention=None, currency='USD'), - "fr_2": FundsReservationHeaderFactory(intervention=None, currency='USD'), - "result_link": result_link, - "lower_result": lower_result, - "indicator_blueprint": indicator_blueprint, - "applied_indicator": applied_indicator, - "file_type_attachment": AttachmentFileTypeFactory( - group=["partners_intervention_attachment"], - ), - "file_type_prc": AttachmentFileTypeFactory( - group=["partners_intervention_prc_review"], - ), - "file_type_pd": AttachmentFileTypeFactory( - group=["partners_intervention_signed_pd"], - ), - "disaggregation": disaggregation - } - - def test_prp_api(self): - url = reverse('prp_api_v1:prp-intervention-list') - self.assertGET(url, data={'workspace': self.tenant.business_area_code}) diff --git a/src/etools/applications/partners/tests/test_export_partner.py b/src/etools/applications/partners/tests/test_export_partner.py index 23f5d07c38..e844eff277 100644 --- a/src/etools/applications/partners/tests/test_export_partner.py +++ b/src/etools/applications/partners/tests/test_export_partner.py @@ -79,7 +79,11 @@ def test_csv_export_api(self): 'Address', 'Phone Number', 'Email Address', - 'Risk Rating', + 'HACT Risk Rating', + 'SEA Risk Rating', + 'Last PSEA Assess. Date', + 'Highest Risk Rating Type', + 'Highest Risk Rating Name', 'Date Last Assessed Against Core Values', 'Actual Cash Transfer for CP (USD)', 'Actual Cash Transfer for Current Year (USD)', @@ -101,7 +105,7 @@ def test_csv_export_api(self): # so just ensuring that all relevant staff members are in the results for sm in self.partner.staff_members.filter(active=True).all(): member = "{} ({})".format(sm.get_full_name(), sm.email) - self.assertIn(member, test_option[18]) + self.assertIn(member, test_option[22]) self.assertEqual(test_option, ( self.partner.vendor_number, @@ -114,6 +118,10 @@ def test_csv_export_api(self): self.partner.phone_number, self.partner.email, self.partner.rating, + '', + '', + '', + '', '{}'.format(self.partner.core_values_assessment_date), '{:.2f}'.format(self.partner.total_ct_cp), '{:.2f}'.format(self.partner.total_ct_ytd), @@ -122,7 +130,7 @@ def test_csv_export_api(self): self.partner.type_of_assessment, '{}'.format(self.partner.last_assessment_date), '', - test_option[18], + test_option[22], 'https://testserver/pmp/partners/{}/details/'.format(self.partner.id), '{} (Q1:{} Q2:{}, Q3:{}, Q4:{})'.format( self.planned_visit.year, diff --git a/src/etools/applications/partners/tests/test_exports.py b/src/etools/applications/partners/tests/test_exports.py index 740ffa6773..4656a888a0 100644 --- a/src/etools/applications/partners/tests/test_exports.py +++ b/src/etools/applications/partners/tests/test_exports.py @@ -276,7 +276,11 @@ def test_partners_export_api(self): 'Address', 'Phone Number', 'Email Address', - 'Risk Rating', + 'HACT Risk Rating', + 'SEA Risk Rating', + 'Last PSEA Assess. Date', + 'Highest Risk Rating Type', + 'Highest Risk Rating Name', 'Date Last Assessed Against Core Values', 'Actual Cash Transfer for CP (USD)', 'Actual Cash Transfer for Current Year (USD)', @@ -304,6 +308,10 @@ def test_partners_export_api(self): self.partner.phone_number, self.partner.email, self.partner.rating, + '', + '', + '', + '', '{}'.format(self.partner.core_values_assessment_date), '{:.2f}'.format(self.partner.total_ct_cp), '{:.2f}'.format(self.partner.total_ct_ytd), diff --git a/src/etools/applications/partners/views/v1.py b/src/etools/applications/partners/views/v1.py index 7e8bd2d830..5e9bfe0dfb 100644 --- a/src/etools/applications/partners/views/v1.py +++ b/src/etools/applications/partners/views/v1.py @@ -15,6 +15,7 @@ class PCAPDFView(LoginRequiredMixin, PDFTemplateView): + agreement = None template_name = "pca/english_pdf.html" # TODO add proper templates for different languages language_templates_mapping = { @@ -29,7 +30,9 @@ class PCAPDFView(LoginRequiredMixin, PDFTemplateView): } def get_pdf_filename(self): - return '{0.reference_number}-{0.partner}.pdf'.format(self.agreement) + if self.agreement: + return '{0.reference_number}-{0.partner}.pdf'.format(self.agreement) + return 'export.pdf' def get_context_data(self, **kwargs): agr_id = self.kwargs.get('agr') @@ -52,9 +55,13 @@ def get_context_data(self, **kwargs): if not self.agreement.authorized_officers.exists(): return {"error": 'Partner Organization has no "Authorized Officers selected" selected'} - valid_response, response = get_data_from_insight('partners/?vendor={vendor_code}', - {"vendor_code": self.agreement.partner.vendor_number}) + url = 'partners/?vendor={vendor_code}' + data = {"vendor_code": self.agreement.partner.vendor_number} + if settings.INSIGHT_BANK_KEY: + url += '&key={key}' + data["key"] = settings.INSIGHT_BANK_KEY + valid_response, response = get_data_from_insight(url, data) if not valid_response: return {"error": response} try: @@ -71,15 +78,22 @@ def get_context_data(self, **kwargs): ('routing_details', "SWIFT_CODE"), ('account_number', "BANK_ACCOUNT_NO"), ('account_currency', "BANK_ACCOUNT_CURRENCY"), + ('tax_number_5', "TAX_NUMBER_5"), ] Bank = namedtuple('Bank', ' '.join([i[0] for i in bank_key_values])) bank_objects = [] + + tax_number_5 = None + if self.request.tenant.business_area_code == '3920' and response["ROWSET"]["ROW"]['TAX_NUMBER_5']: + tax_number_5 = response["ROWSET"]["ROW"]['TAX_NUMBER_5'] for b in banks_records: if isinstance(b, dict): b["BANK_ADDRESS"] = ', '.join(b[key] for key in ['STREET', 'CITY'] if key in b) b["ACCT_HOLDER"] = b["ACCT_HOLDER"] if "ACCT_HOLDER" in b else "" # TODO: fix currency field name when we have it b["BANK_ACCOUNT_CURRENCY"] = b["BANK_ACCOUNT_CURRENCY"] if "BANK_ACCOUNT_CURRENCY" in b else "" + b["TAX_NUMBER_5"] = tax_number_5 + bank_objects.append(Bank(*[b[i[1]] for i in bank_key_values])) officers_list = [] diff --git a/src/etools/applications/psea/models.py b/src/etools/applications/psea/models.py index 41d07f9b2c..54cc8885b2 100644 --- a/src/etools/applications/psea/models.py +++ b/src/etools/applications/psea/models.py @@ -102,6 +102,10 @@ class Assessment(TimeStampedModel): STATUS_FINAL: [assessment_final], } + LOW_RATING = "Low" + MODERATE_RATING = "Moderate" + HIGH_RATING = "High" + reference_number = models.CharField( max_length=100, verbose_name=_("Reference Number"), @@ -171,11 +175,11 @@ def overall_rating_display(self): if not self.overall_rating: display = "" elif self.overall_rating <= 8: - display = "High" + display = Assessment.HIGH_RATING elif 8 < self.overall_rating <= 14: - display = "Moderate" + display = Assessment.MODERATE_RATING elif self.overall_rating >= 15: - display = "Low" + display = Assessment.LOW_RATING return display def get_assessor_recipients(self): diff --git a/src/etools/applications/psea/serializers.py b/src/etools/applications/psea/serializers.py index ce039466cf..58b596d563 100644 --- a/src/etools/applications/psea/serializers.py +++ b/src/etools/applications/psea/serializers.py @@ -161,7 +161,37 @@ class Meta(AssessmentSerializer.Meta): class AssessmentExportSerializer(AssessmentSerializer): focal_points = serializers.SerializerMethodField() - overall_rating_display = serializers.ReadOnlyField() + overall_rating_display = serializers.ReadOnlyField(label='SEA Risk Rating') + + cs1 = serializers.SerializerMethodField() + cs2 = serializers.SerializerMethodField() + cs3 = serializers.SerializerMethodField() + cs4 = serializers.SerializerMethodField() + cs5 = serializers.SerializerMethodField() + cs6 = serializers.SerializerMethodField() + + @staticmethod + def cs(obj, pk): + if obj.status == Assessment.STATUS_FINAL: + return obj.answers.get(indicator__pk=pk).rating.label + + def get_cs1(self, obj): + return self.cs(obj, 1) + + def get_cs2(self, obj): + return self.cs(obj, 2) + + def get_cs3(self, obj): + return self.cs(obj, 3) + + def get_cs4(self, obj): + return self.cs(obj, 4) + + def get_cs5(self, obj): + return self.cs(obj, 5) + + def get_cs6(self, obj): + return self.cs(obj, 6) class Meta(AssessmentSerializer.Meta): fields = [ @@ -174,6 +204,12 @@ class Meta(AssessmentSerializer.Meta): "overall_rating_display", "assessor", "focal_points", + "cs1", + "cs2", + "cs3", + "cs4", + "cs5", + "cs6", ] def get_focal_points(self, obj): diff --git a/src/etools/applications/psea/views.py b/src/etools/applications/psea/views.py index 60b7cf3365..47e900cb5e 100644 --- a/src/etools/applications/psea/views.py +++ b/src/etools/applications/psea/views.py @@ -77,6 +77,11 @@ class AssessmentViewSet( 'assessor__user__last_name__icontains', ]), ('partner', 'partner_id__in'), + ('sea_risk_rating', { + 'high': [('overall_rating__gte', 0), ('overall_rating__lte', 8)], + 'moderate': [('overall_rating__gte', 9), ('overall_rating__lte', 14)], + 'low': [('overall_rating__gte', 15), ], + }), ('status', 'status__in'), ('unicef_focal_point', 'focal_points__pk__in'), ('assessment_date__lt', 'assessment_date__lt'), diff --git a/src/etools/applications/reports/migrations/0023_auto_20191014_1546.py b/src/etools/applications/reports/migrations/0023_auto_20191014_1546.py index 11adbbefb7..9636041696 100644 --- a/src/etools/applications/reports/migrations/0023_auto_20191014_1546.py +++ b/src/etools/applications/reports/migrations/0023_auto_20191014_1546.py @@ -3,31 +3,31 @@ from django.db import connection, migrations -def convert_tenant_profile_data(apps, schema): - """For each UserProfile setup office relation in ProfileOffice - for each country that UserProfile has available - Use the connection to determine the current country - """ - if connection.tenant.schema_name not in ["test", "public"]: - UserProfile = apps.get_model("users", "userprofile") - UserTenantProfile = apps.get_model("reports", "usertenantprofile") - Office = apps.get_model("reports", "office") - Country = apps.get_model("users", "country") - country = Country.objects.get( - schema_name=connection.tenant.schema_name, - ) - for profile in UserProfile.objects.all(): - if profile.office and country in profile.countries_available.all(): - try: - office = Office.objects.get(pk=profile.office.pk) - except Office.DoesNotExist: - # assume that office is from another schema - pass - else: - UserTenantProfile.objects.create( - profile=profile, - office=office, - ) +# def convert_tenant_profile_data(apps, schema): +# """For each UserProfile setup office relation in ProfileOffice +# for each country that UserProfile has available +# Use the connection to determine the current country +# """ +# if connection.tenant.schema_name not in ["test", "public"]: +# UserProfile = apps.get_model("users", "userprofile") +# UserTenantProfile = apps.get_model("reports", "usertenantprofile") +# Office = apps.get_model("reports", "office") +# Country = apps.get_model("users", "country") +# country = Country.objects.get( +# schema_name=connection.tenant.schema_name, +# ) +# for profile in UserProfile.objects.all(): +# if profile.office and country in profile.countries_available.all(): +# try: +# office = Office.objects.get(pk=profile.office.pk) +# except Office.DoesNotExist: +# # assume that office is from another schema +# pass +# else: +# UserTenantProfile.objects.create( +# profile=profile, +# office=office, +# ) class Migration(migrations.Migration): @@ -37,8 +37,4 @@ class Migration(migrations.Migration): ] operations = [ - migrations.RunPython( - convert_tenant_profile_data, - reverse_code=migrations.RunPython.noop, - ) ] diff --git a/src/etools/applications/reports/synchronizers.py b/src/etools/applications/reports/synchronizers.py index 361ac4c7c4..7d923012b0 100644 --- a/src/etools/applications/reports/synchronizers.py +++ b/src/etools/applications/reports/synchronizers.py @@ -316,7 +316,6 @@ class RAMSynchronizer(VisionDataTenantSynchronizer): "INDICATOR_CODE", "WBS_ELEMENT_CODE", "INDICATOR_BASELINE", - "INDICATOR_TARGET", ) def _save_records(self, records): @@ -326,7 +325,8 @@ def _save_records(self, records): def _filter_records(self, records): def is_valid_record(record): for key in self.REQUIRED_KEYS: - if key not in record: + # previous API wasn't returning keys with null value + if key not in record or not record[key]: return False if record['INDICATOR_DESCRIPTION'] in ['', None] or record["INDICATOR_CODE"] in ['undefined', '', None]: return False @@ -344,7 +344,7 @@ def _clean_records(self, records): 'name': r['INDICATOR_DESCRIPTION'][:1024], 'baseline': r['INDICATOR_BASELINE'][:255] if r['INDICATOR_BASELINE'] else '', 'code': code, - 'target': r['INDICATOR_TARGET'][:255], + 'target': r['INDICATOR_TARGET'][:255] if r['INDICATOR_TARGET'] else '', 'ram_indicator': True, 'result__wbs': '/'.join([a[0:4], a[4:6], a[6:8], a[8:11], a[11:14]]) } diff --git a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/None.response.json b/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/None.response.json deleted file mode 100644 index 721707045d..0000000000 --- a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/None.response.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "696" - ] - }, - "data": [ - { - "id": 1049, - "description": "Task #1049 for Visit (Pierce, Davis and Parsons to Partner 0 at 2019-09-26 - 2019-09-26)", - "date": "2019-09-26", - "tpm_visit": 460, - "visit_reference": "TST/2019/460/TPM", - "is_pv": false, - "partner": 1484, - "partner_name": "Partner 0", - "tpm_partner_name": "Pierce, Davis and Parsons", - "status": "TPM Accepted", - "intervention": 1482, - "cp_output": 1195, - "section": 1175, - "unicef_focal_points": [], - "additional_information": "", - "offices": [], - "locations": [ - 1169 - ], - "locations_details": [ - { - "id": "1169", - "name": "Location 1 [GatewayType 1 - PCODE1]", - "p_code": "PCODE1", - "gateway": { - "id": 1169, - "created": "2019-09-25T14:45:19.761336Z", - "modified": "2019-09-25T14:45:19.761336Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 2023f587be..0000000000 --- a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/_api_tpm_activities_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "696" - ] - }, - "data": [ - { - "id": 1049, - "description": "Task #1049 for Visit (Pierce, Davis and Parsons to Partner 0 at 2019-09-26 - 2019-09-26)", - "date": "2019-09-26", - "tpm_visit": 460, - "visit_reference": "TST/2019/460/TPM", - "is_pv": false, - "partner": 1484, - "partner_name": "Partner 0", - "tpm_partner_name": "Pierce, Davis and Parsons", - "status": "TPM Accepted", - "intervention": 1482, - "cp_output": 1195, - "section": 1175, - "unicef_focal_points": [], - "additional_information": "", - "offices": [], - "locations": [ - 1169 - ], - "locations_details": [ - { - "id": "1169", - "name": "Location 1 [GatewayType 1 - PCODE1]", - "p_code": "PCODE1", - "gateway": { - "id": 1169, - "created": "2019-09-25T14:45:19.761000Z", - "modified": "2019-09-25T14:45:19.761000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/fixtures.json b/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/fixtures.json deleted file mode 100644 index 15437d56a3..0000000000 --- a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/fixtures.json +++ /dev/null @@ -1,763 +0,0 @@ -{ - "tpm_partner": { - "master": { - "model": "tpmpartners.tpmpartner", - "pk": 322, - "fields": { - "created": "2019-09-25T14:45:19.611Z", - "modified": "2019-09-25T14:45:19.633Z", - "vendor_number": "2019/1", - "name": "Pierce, Davis and Parsons", - "street_address": "0797 Jackson Summit", - "city": "Sarahfort", - "postal_code": "17902", - "country": "Finland", - "email": "jimmy79@hotmail.com", - "phone_number": "+1-112-145-0698x81424", - "vision_synced": false, - "blocked": false, - "hidden": false, - "deleted_flag": false, - "countries": [ - 1 - ] - } - }, - "deps": [ - { - "model": "users.country", - "pk": 1, - "fields": { - "schema_name": "test", - "name": "", - "country_short_code": "TST", - "long_name": "", - "business_area_code": "ZZZ", - "latitude": null, - "longitude": null, - "initial_zoom": 8, - "vision_sync_enabled": true, - "vision_last_synced": null, - "local_currency": null, - "offices": [ - 7275, - 7276, - 7277 - ] - } - }, - { - "model": "users.office", - "pk": 7275, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7276, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7277, - "fields": { - "name": "An Office", - "zonal_chief": null - } - } - ] - }, - "tpm_user": { - "master": { - "model": "users.user", - "pk": 4416, - "fields": { - "created": "2019-09-25T14:45:19.634Z", - "modified": "2019-09-25T14:45:19.646Z", - "username": "OPaDOKLzmcUM", - "email": "macioce@unicef.org", - "password": "md5$6QCpOPM7Uogf$770b2b4243a7e51b3f7ea6e55b3f4c95", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-25T14:45:19.634Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [ - 1 - ], - "user_permissions": [] - } - }, - "deps": [ - { - "model": "auth.group", - "pk": 1, - "fields": { - "name": "Third Party Monitor", - "permissions": [] - } - } - ] - }, - "location": { - "master": { - "model": "locations.location", - "pk": 1168, - "fields": { - "name": "Location 0", - "gateway": 1168, - "latitude": null, - "longitude": null, - "p_code": "PCODE0", - "parent": null, - "geom": null, - "point": "SRID=4326;POINT (20 20)", - "is_active": true, - "created": "2019-09-25T14:45:19.648Z", - "modified": "2019-09-25T14:45:19.648Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - "deps": [ - { - "model": "locations.gatewaytype", - "pk": 1168, - "fields": { - "created": "2019-09-25T14:45:19.647Z", - "modified": "2019-09-25T14:45:19.647Z", - "name": "GatewayType 0", - "admin_level": 0 - } - } - ] - }, - "visit": { - "master": { - "model": "tpm.tpmvisit", - "pk": 460, - "fields": { - "created": "2019-09-25T14:45:19.681Z", - "modified": "2019-09-25T14:45:19.696Z", - "deleted_at": "1970-01-01T00:00:00Z", - "author": 4417, - "tpm_partner": 322, - "status": "tpm_accepted", - "cancel_comment": "", - "reject_comment": "", - "approval_comment": "", - "visit_information": "", - "date_of_assigned": "2019-09-25", - "date_of_cancelled": null, - "date_of_tpm_accepted": "2019-09-25", - "date_of_tpm_rejected": null, - "date_of_tpm_reported": null, - "date_of_tpm_report_rejected": null, - "date_of_unicef_approved": null, - "tpm_partner_focal_points": [ - 924 - ] - } - }, - "deps": [ - { - "model": "users.user", - "pk": 4417, - "fields": { - "created": "2019-09-25T14:45:19.666Z", - "modified": "2019-09-25T14:45:19.679Z", - "username": "QJTKmTgbXTeQ", - "email": "user1@example.com", - "password": "md5$scStdjLFpZVC$42b0bc5bf0cdf3f4cf619424ba3e7e91", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-25T14:45:19.667Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [ - 274, - 275 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 274, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 275, - "fields": { - "name": "PME", - "permissions": [] - } - }, - { - "model": "tpmpartners.tpmpartner", - "pk": 322, - "fields": { - "created": "2019-09-25T14:45:19.611Z", - "modified": "2019-09-25T14:45:19.633Z", - "vendor_number": "2019/1", - "name": "Pierce, Davis and Parsons", - "street_address": "0797 Jackson Summit", - "city": "Sarahfort", - "postal_code": "17902", - "country": "Finland", - "email": "jimmy79@hotmail.com", - "phone_number": "+1-112-145-0698x81424", - "vision_synced": false, - "blocked": false, - "hidden": false, - "deleted_flag": false, - "countries": [ - 1 - ] - } - }, - { - "model": "users.country", - "pk": 1, - "fields": { - "schema_name": "test", - "name": "", - "country_short_code": "TST", - "long_name": "", - "business_area_code": "ZZZ", - "latitude": null, - "longitude": null, - "initial_zoom": 8, - "vision_sync_enabled": true, - "vision_last_synced": null, - "local_currency": null, - "offices": [ - 7275, - 7276, - 7277 - ] - } - }, - { - "model": "users.office", - "pk": 7275, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7276, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7277, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "tpmpartners.tpmpartnerstaffmember", - "pk": 924, - "fields": { - "user": 4416, - "tpm_partner": 322, - "receive_tpm_notifications": false - } - }, - { - "model": "users.user", - "pk": 4416, - "fields": { - "created": "2019-09-25T14:45:19.634Z", - "modified": "2019-09-25T14:45:19.646Z", - "username": "OPaDOKLzmcUM", - "email": "macioce@unicef.org", - "password": "md5$6QCpOPM7Uogf$770b2b4243a7e51b3f7ea6e55b3f4c95", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-25T14:45:19.634Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [ - 1 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 1, - "fields": { - "name": "Third Party Monitor", - "permissions": [] - } - } - ] - }, - "activity": { - "master": { - "model": "tpm.tpmactivity", - "pk": 1049, - "fields": { - "tpm_visit": 460, - "section": 1175, - "additional_information": "", - "is_pv": false, - "locations": [ - 1169 - ], - "unicef_focal_points": [], - "offices": [] - } - }, - "deps": [ - { - "model": "partners.partnerorganization", - "pk": 1484, - "fields": { - "created": "2019-09-25T14:45:19.698Z", - "modified": "2019-09-25T14:45:19.701Z", - "partner_type": "", - "cso_type": null, - "name": "Partner 0", - "short_name": "", - "description": "", - "shared_with": null, - "street_address": null, - "city": null, - "postal_code": null, - "country": null, - "address": null, - "email": null, - "phone_number": null, - "vendor_number": null, - "alternate_id": null, - "alternate_name": null, - "rating": null, - "type_of_assessment": null, - "last_assessment_date": null, - "core_values_assessment_date": null, - "vision_synced": false, - "blocked": false, - "deleted_flag": false, - "manually_blocked": false, - "hidden": false, - "total_ct_cp": null, - "total_ct_cy": null, - "net_ct_cy": null, - "reported_cy": null, - "total_ct_ytd": null, - "outstanding_dct_amount_6_to_9_months_usd": null, - "outstanding_dct_amount_more_than_9_months_usd": null, - "hact_values": { - "audits": { - "completed": 0, - "minimum_requirements": 0 - }, - "spot_checks": { - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "follow_up_required": 0 - }, - "assurance_coverage": "void", - "programmatic_visits": { - "planned": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - }, - "completed": { - "q1": 0, - "q2": 0, - "q3": 0, - "q4": 0, - "total": 0 - } - }, - "outstanding_findings": 0 - }, - "basis_for_risk_rating": "" - } - }, - { - "model": "partners.intervention", - "pk": 1482, - "fields": { - "created": "2019-09-25T14:45:19.727Z", - "modified": "2019-09-25T14:45:19.754Z", - "document_type": "", - "agreement": 1482, - "country_programme": null, - "number": "TST/PCA20191482/20191482", - "title": "Intervention Title 0", - "status": "draft", - "start": null, - "end": null, - "submission_date": "2019-09-25", - "submission_date_prc": null, - "reference_number_year": 2019, - "review_date_prc": null, - "prc_review_document": "", - "signed_pd_document": "", - "signed_by_unicef_date": null, - "signed_by_partner_date": null, - "unicef_signatory": null, - "partner_authorized_officer_signatory": null, - "contingency_pd": false, - "activation_letter": "", - "termination_doc": "", - "population_focus": null, - "in_amendment": false, - "metadata": {}, - "unicef_focal_points": [], - "partner_focal_points": [], - "sections": [], - "offices": [], - "flat_locations": [] - } - }, - { - "model": "partners.agreement", - "pk": 1482, - "fields": { - "created": "2019-09-25T14:45:19.704Z", - "modified": "2019-09-25T14:45:19.726Z", - "partner": 1484, - "country_programme": 1482, - "agreement_type": "PCA", - "agreement_number": "TST/PCA20191482", - "attached_agreement": "", - "start": "2019-09-25", - "end": "2019-12-31", - "reference_number_year": 2019, - "special_conditions_pca": false, - "signed_by_unicef_date": "2019-09-25", - "signed_by": null, - "signed_by_partner_date": "2019-09-25", - "partner_manager": null, - "status": "signed", - "authorized_officers": [] - } - }, - { - "model": "reports.countryprogramme", - "pk": 1482, - "fields": { - "name": "Country Programme 0", - "wbs": "0000/A0/00", - "invalid": false, - "from_date": "2019-01-01", - "to_date": "2019-12-31" - } - }, - { - "model": "reports.result", - "pk": 1195, - "fields": { - "country_programme": null, - "result_type": 1195, - "sector": null, - "name": "Result 0", - "code": null, - "from_date": "2019-01-01", - "to_date": "2019-12-31", - "parent": null, - "humanitarian_tag": false, - "humanitarian_marker_code": null, - "humanitarian_marker_name": null, - "wbs": null, - "vision_id": null, - "gic_code": null, - "gic_name": null, - "sic_code": null, - "sic_name": null, - "activity_focus_code": null, - "activity_focus_name": null, - "hidden": false, - "ram": false, - "created": "2019-09-25T14:45:19.732Z", - "modified": "2019-09-25T14:45:19.732Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - { - "model": "reports.resulttype", - "pk": 1195, - "fields": { - "name": "ResultType 0" - } - }, - { - "model": "activities.activity", - "pk": 1049, - "fields": { - "partner": 1484, - "intervention": 1482, - "cp_output": 1195, - "date": "2019-09-26", - "locations": [ - 1169 - ] - } - }, - { - "model": "locations.location", - "pk": 1169, - "fields": { - "name": "Location 1", - "gateway": 1169, - "latitude": null, - "longitude": null, - "p_code": "PCODE1", - "parent": null, - "geom": null, - "point": "SRID=4326;POINT (20 20)", - "is_active": true, - "created": "2019-09-25T14:45:19.762Z", - "modified": "2019-09-25T14:45:19.762Z", - "lft": 1, - "rght": 2, - "tree_id": 2, - "level": 0 - } - }, - { - "model": "locations.gatewaytype", - "pk": 1169, - "fields": { - "created": "2019-09-25T14:45:19.761Z", - "modified": "2019-09-25T14:45:19.761Z", - "name": "GatewayType 1", - "admin_level": 1 - } - }, - { - "model": "tpm.tpmvisit", - "pk": 460, - "fields": { - "created": "2019-09-25T14:45:19.681Z", - "modified": "2019-09-25T14:45:19.696Z", - "deleted_at": "1970-01-01T00:00:00Z", - "author": 4417, - "tpm_partner": 322, - "status": "tpm_accepted", - "cancel_comment": "", - "reject_comment": "", - "approval_comment": "", - "visit_information": "", - "date_of_assigned": "2019-09-25", - "date_of_cancelled": null, - "date_of_tpm_accepted": "2019-09-25", - "date_of_tpm_rejected": null, - "date_of_tpm_reported": null, - "date_of_tpm_report_rejected": null, - "date_of_unicef_approved": null, - "tpm_partner_focal_points": [ - 924 - ] - } - }, - { - "model": "users.user", - "pk": 4417, - "fields": { - "created": "2019-09-25T14:45:19.666Z", - "modified": "2019-09-25T14:45:19.679Z", - "username": "QJTKmTgbXTeQ", - "email": "user1@example.com", - "password": "md5$scStdjLFpZVC$42b0bc5bf0cdf3f4cf619424ba3e7e91", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-25T14:45:19.667Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [ - 274, - 275 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 274, - "fields": { - "name": "UNICEF User", - "permissions": [] - } - }, - { - "model": "auth.group", - "pk": 275, - "fields": { - "name": "PME", - "permissions": [] - } - }, - { - "model": "tpmpartners.tpmpartner", - "pk": 322, - "fields": { - "created": "2019-09-25T14:45:19.611Z", - "modified": "2019-09-25T14:45:19.633Z", - "vendor_number": "2019/1", - "name": "Pierce, Davis and Parsons", - "street_address": "0797 Jackson Summit", - "city": "Sarahfort", - "postal_code": "17902", - "country": "Finland", - "email": "jimmy79@hotmail.com", - "phone_number": "+1-112-145-0698x81424", - "vision_synced": false, - "blocked": false, - "hidden": false, - "deleted_flag": false, - "countries": [ - 1 - ] - } - }, - { - "model": "users.country", - "pk": 1, - "fields": { - "schema_name": "test", - "name": "", - "country_short_code": "TST", - "long_name": "", - "business_area_code": "ZZZ", - "latitude": null, - "longitude": null, - "initial_zoom": 8, - "vision_sync_enabled": true, - "vision_last_synced": null, - "local_currency": null, - "offices": [ - 7275, - 7276, - 7277 - ] - } - }, - { - "model": "users.office", - "pk": 7275, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7276, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "users.office", - "pk": 7277, - "fields": { - "name": "An Office", - "zonal_chief": null - } - }, - { - "model": "tpmpartners.tpmpartnerstaffmember", - "pk": 924, - "fields": { - "user": 4416, - "tpm_partner": 322, - "receive_tpm_notifications": false - } - }, - { - "model": "users.user", - "pk": 4416, - "fields": { - "created": "2019-09-25T14:45:19.634Z", - "modified": "2019-09-25T14:45:19.646Z", - "username": "OPaDOKLzmcUM", - "email": "macioce@unicef.org", - "password": "md5$6QCpOPM7Uogf$770b2b4243a7e51b3f7ea6e55b3f4c95", - "first_name": "", - "middle_name": "", - "last_name": "", - "date_joined": "2019-09-25T14:45:19.634Z", - "last_login": null, - "is_active": true, - "is_staff": false, - "is_superuser": false, - "groups": [ - 1 - ], - "user_permissions": [] - } - }, - { - "model": "auth.group", - "pk": 1, - "fields": { - "name": "Third Party Monitor", - "permissions": [] - } - }, - { - "model": "reports.section", - "pk": 1175, - "fields": { - "created": "2019-09-25T14:45:19.756Z", - "modified": "2019-09-25T14:45:19.756Z", - "name": "Section 0", - "description": null, - "alternate_id": null, - "alternate_name": "", - "dashboard": false, - "color": null, - "active": true - } - } - ] - } -} \ No newline at end of file diff --git a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities_.response.json b/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities_.response.json deleted file mode 100644 index 2023f587be..0000000000 --- a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities_.response.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "696" - ] - }, - "data": [ - { - "id": 1049, - "description": "Task #1049 for Visit (Pierce, Davis and Parsons to Partner 0 at 2019-09-26 - 2019-09-26)", - "date": "2019-09-26", - "tpm_visit": 460, - "visit_reference": "TST/2019/460/TPM", - "is_pv": false, - "partner": 1484, - "partner_name": "Partner 0", - "tpm_partner_name": "Pierce, Davis and Parsons", - "status": "TPM Accepted", - "intervention": 1482, - "cp_output": 1195, - "section": 1175, - "unicef_focal_points": [], - "additional_information": "", - "offices": [], - "locations": [ - 1169 - ], - "locations_details": [ - { - "id": "1169", - "name": "Location 1 [GatewayType 1 - PCODE1]", - "p_code": "PCODE1", - "gateway": { - "id": 1169, - "created": "2019-09-25T14:45:19.761000Z", - "modified": "2019-09-25T14:45:19.761000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities__None.response.json b/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities__None.response.json deleted file mode 100644 index 2023f587be..0000000000 --- a/src/etools/applications/tpm/tests/_api_checker/etools.applications.tpm.tests.test_api/TestAPIActivities/get__api_tpm_activities__None.response.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "696" - ] - }, - "data": [ - { - "id": 1049, - "description": "Task #1049 for Visit (Pierce, Davis and Parsons to Partner 0 at 2019-09-26 - 2019-09-26)", - "date": "2019-09-26", - "tpm_visit": 460, - "visit_reference": "TST/2019/460/TPM", - "is_pv": false, - "partner": 1484, - "partner_name": "Partner 0", - "tpm_partner_name": "Pierce, Davis and Parsons", - "status": "TPM Accepted", - "intervention": 1482, - "cp_output": 1195, - "section": 1175, - "unicef_focal_points": [], - "additional_information": "", - "offices": [], - "locations": [ - 1169 - ], - "locations_details": [ - { - "id": "1169", - "name": "Location 1 [GatewayType 1 - PCODE1]", - "p_code": "PCODE1", - "gateway": { - "id": 1169, - "created": "2019-09-25T14:45:19.761000Z", - "modified": "2019-09-25T14:45:19.761000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ] - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/applications/tpm/tests/test_api.py b/src/etools/applications/tpm/tests/test_api.py deleted file mode 100644 index 952a1bea5a..0000000000 --- a/src/etools/applications/tpm/tests/test_api.py +++ /dev/null @@ -1,36 +0,0 @@ -from django.urls import reverse - -from unicef_locations.tests.factories import LocationFactory - -from etools.applications.core.tests.cases import BaseTenantTestCase -from etools.applications.tpm.tests.factories import ( - TPMActivityFactory, - TPMPartnerFactory, - TPMUserFactory, - TPMVisitFactory, -) -from etools.libraries.tests.api_checker import AssertTimeStampedMixin, ViewSetChecker - - -class TestAPIActivities(AssertTimeStampedMixin, BaseTenantTestCase, metaclass=ViewSetChecker): - URLS = [ - reverse('tpm:activities-list'), - ] - - def get_fixtures(cls): - tpm_partner = TPMPartnerFactory() - tpm_user = TPMUserFactory(tpm_partner=tpm_partner, email='macioce@example.com') - location = LocationFactory() - visit = TPMVisitFactory(status='tpm_accepted', - tpm_partner=tpm_user.tpmpartners_tpmpartnerstaffmember.tpm_partner, - tpm_partner_focal_points=[tpm_user.tpmpartners_tpmpartnerstaffmember], - tpm_activities__count=0) - activity = TPMActivityFactory(tpm_visit=visit, locations=[location]) - - return { - 'tpm_partner': tpm_partner, - 'tpm_user': tpm_user, - 'location': location, - 'visit': visit, - 'activity': activity, - } diff --git a/src/etools/applications/tpm/tpmpartners/admin.py b/src/etools/applications/tpm/tpmpartners/admin.py index ce3b120fad..e0abe292e1 100644 --- a/src/etools/applications/tpm/tpmpartners/admin.py +++ b/src/etools/applications/tpm/tpmpartners/admin.py @@ -33,6 +33,7 @@ class TPMPartnerStaffMemberAdmin(admin.ModelAdmin): 'email', 'first_name', 'last_name', 'phone', 'active', 'tpm_partner', 'receive_tpm_notifications', ] + readonly_fields = 'history', list_filter = ['receive_tpm_notifications', 'user__is_active', 'tpm_partner'] search_fields = ['user__email', 'user__first_name', 'user__last_name', 'user__profile__phone_number', 'tpm_partner__name'] diff --git a/src/etools/applications/tpm/tpmpartners/migrations/0006_auto_20210415_1546.py b/src/etools/applications/tpm/tpmpartners/migrations/0006_auto_20210415_1546.py new file mode 100644 index 0000000000..d758543507 --- /dev/null +++ b/src/etools/applications/tpm/tpmpartners/migrations/0006_auto_20210415_1546.py @@ -0,0 +1,31 @@ +# Generated by Django 2.2.20 on 2021-04-15 15:46 + +import django.contrib.postgres.fields +from django.db import migrations, models +import django.utils.timezone +import model_utils.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('tpmpartners', '0005_auto_20190625_1437'), + ] + + operations = [ + migrations.AddField( + model_name='tpmpartnerstaffmember', + name='created', + field=model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created'), + ), + migrations.AddField( + model_name='tpmpartnerstaffmember', + name='history', + field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=50, verbose_name='History'), blank=True, default=list, size=None), + ), + migrations.AddField( + model_name='tpmpartnerstaffmember', + name='modified', + field=model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified'), + ), + ] diff --git a/src/etools/applications/tpm/tpmpartners/migrations/0007_auto_20210421_1745.py b/src/etools/applications/tpm/tpmpartners/migrations/0007_auto_20210421_1745.py new file mode 100644 index 0000000000..74cb82b9ae --- /dev/null +++ b/src/etools/applications/tpm/tpmpartners/migrations/0007_auto_20210421_1745.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.20 on 2021-04-21 17:45 + +import django.contrib.postgres.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tpmpartners', '0006_auto_20210415_1546'), + ] + + operations = [ + migrations.AlterField( + model_name='tpmpartnerstaffmember', + name='history', + field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128, verbose_name='History'), blank=True, default=list, size=None), + ), + ] diff --git a/src/etools/applications/users/admin.py b/src/etools/applications/users/admin.py index a72091a00c..bc3a2b3cbe 100644 --- a/src/etools/applications/users/admin.py +++ b/src/etools/applications/users/admin.py @@ -295,7 +295,7 @@ def wrapper(*args, **kwargs): return custom_urls + urls def sync_fund_commitment(self, request, pk): - return self.execute_sync(pk, 'fund_commitment') + return self.execute_sync(pk, 'fund_commitment', request) def sync_fund_reservation_delegated(self, request, pk): country = Country.objects.get(pk=pk) @@ -303,30 +303,32 @@ def sync_fund_reservation_delegated(self, request, pk): sync_all_delegated_frs.delay() else: sync_country_delegated_fr.delay(country.business_area_code) + messages.info(request, "Task fund reservation delegated scheduled") return HttpResponseRedirect(reverse('admin:users_country_change', args=[country.pk])) def sync_fund_reservation(self, request, pk): - return self.execute_sync(pk, 'fund_reservation') + return self.execute_sync(pk, 'fund_reservation', request) def sync_partners(self, request, pk): - return self.execute_sync(pk, 'partner') + return self.execute_sync(pk, 'partner', request) def sync_programme(self, request, pk): - return self.execute_sync(pk, 'programme') + return self.execute_sync(pk, 'programme', request) def sync_ram(self, request, pk): - return self.execute_sync(pk, 'ram') + return self.execute_sync(pk, 'ram', request) def sync_dct(self, request, pk): - return self.execute_sync(pk, 'dct') + return self.execute_sync(pk, 'dct', request) @staticmethod - def execute_sync(country_pk, synchronizer): + def execute_sync(country_pk, synchronizer, request): country = Country.objects.get(pk=country_pk) if country.schema_name == get_public_schema_name(): vision_sync_task(synchronizers=[synchronizer, ]) else: sync_handler.delay(country.business_area_code, synchronizer) + messages.info(request, f"Task {synchronizer} scheduled") return HttpResponseRedirect(reverse('admin:users_country_change', args=[country.pk])) def update_hact(self, request, pk): diff --git a/src/etools/applications/users/serializers.py b/src/etools/applications/users/serializers.py index 5a9828bf5f..4aecf6aea6 100644 --- a/src/etools/applications/users/serializers.py +++ b/src/etools/applications/users/serializers.py @@ -248,4 +248,5 @@ class Meta: 'business_area_code', 'country_short_code', 'iso3_code', + 'schema_name', ) diff --git a/src/etools/applications/users/templates/admin/users/country/change_form.html b/src/etools/applications/users/templates/admin/users/country/change_form.html index cf179ef6af..7494503cf3 100644 --- a/src/etools/applications/users/templates/admin/users/country/change_form.html +++ b/src/etools/applications/users/templates/admin/users/country/change_form.html @@ -2,13 +2,6 @@ {% load i18n etools %} {% block object-tools-items %} {{ block.super }} -
  • {% trans "API Partner" %}
  • -
  • {% trans "API Programme" %}
  • -
  • {% trans "API RAM" %}
  • -
  • {% trans "API Fund Reservation" %}
  • -
  • {% trans "API Fund Commitment" %}
  • -
  • {% trans "API DCT" %}
  • -
  • {% trans "Sync Partners" %}
  • {% trans "Sync Programme" %}
  • {% trans "Sync RAM" %}
  • diff --git a/src/etools/applications/users/views.py b/src/etools/applications/users/views.py index 12a0425307..60b9504976 100644 --- a/src/etools/applications/users/views.py +++ b/src/etools/applications/users/views.py @@ -3,7 +3,6 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.core.exceptions import ValidationError as DjangoValidationError -from django.db.models import Q from django.db.transaction import atomic from django.http import Http404, HttpResponseForbidden, HttpResponseRedirect, JsonResponse from django.shortcuts import get_object_or_404 @@ -18,9 +17,6 @@ from rest_framework.views import APIView from unicef_restlib.permissions import IsSuperUser -from etools.applications.audit.models import Auditor, Engagement -from etools.applications.psea.models import Assessment -from etools.applications.tpm.models import ThirdPartyMonitor from etools.applications.users.models import Country, UserProfile from etools.applications.users.permissions import IsServiceNowUser from etools.applications.users.serializers import ( @@ -361,38 +357,37 @@ def get_queryset(self): class ModuleRedirectView(RedirectView): - url = '/dash/' + url = '/menu/' permanent = False - def get_redirect_url(self, *args, **kwargs): - if not self.request.user.is_staff: - if ThirdPartyMonitor.as_group() in self.request.user.groups.all(): - return '/tpm/' - - elif Auditor.as_group() in self.request.user.groups.all(): - - if Engagement.objects.filter( - status__in=[Engagement.PARTNER_CONTACTED, Engagement.REPORT_SUBMITTED], - staff_members__user=self.request.user, - ): - return '/ap/' - elif Assessment.objects.filter( - Q(partner__psea_assessment__assessor__user=self.request.user) | - Q(partner__psea_assessment__assessor__auditor_firm_staff__user=self.request.user), - status__in=[ - Assessment.STATUS_DRAFT, - Assessment.STATUS_ASSIGNED, - Assessment.STATUS_IN_PROGRESS, - Assessment.STATUS_SUBMITTED, - Assessment.STATUS_REJECTED, - ], - ): - return '/psea/' - elif Engagement.objects.filter( - agreement__auditor_firm__staff_members__user=self.request.user, - ): - return '/ap/' - else: - return '/psea/' - - return super().get_redirect_url(*args, **kwargs) + # def get_redirect_url(self, *args, **kwargs): + # if not self.request.user.is_staff: + # if ThirdPartyMonitor.as_group() in self.request.user.groups.all(): + # return '/tpm/' + # + # elif Auditor.as_group() in self.request.user.groups.all(): + # if Engagement.objects.filter( + # status__in=[Engagement.PARTNER_CONTACTED, Engagement.REPORT_SUBMITTED], + # staff_members__user=self.request.user, + # ): + # return '/ap/' + # elif Assessment.objects.filter( + # Q(partner__psea_assessment__assessor__user=self.request.user) | + # Q(partner__psea_assessment__assessor__auditor_firm_staff__user=self.request.user), + # status__in=[ + # Assessment.STATUS_DRAFT, + # Assessment.STATUS_ASSIGNED, + # Assessment.STATUS_IN_PROGRESS, + # Assessment.STATUS_SUBMITTED, + # Assessment.STATUS_REJECTED, + # ], + # ): + # return '/psea/' + # elif Engagement.objects.filter( + # agreement__auditor_firm__staff_members__user=self.request.user, + # ): + # return '/ap/' + # else: + # return '/psea/' + # + # return super().get_redirect_url(*args, **kwargs) diff --git a/src/etools/config/settings/base.py b/src/etools/config/settings/base.py index 572709be7a..9b9db7d70d 100644 --- a/src/etools/config/settings/base.py +++ b/src/etools/config/settings/base.py @@ -479,6 +479,7 @@ def before_send(event, hint): INSIGHT_LOGGER_MODEL = "vision.VisionSyncLog" INSIGHT_SUB_KEY = get_from_secrets_or_env('INSIGHT_SUB_KEY', 'invalid_key') INSIGHT_URL = get_from_secrets_or_env('INSIGHT_URL', 'http://invalid_vision_url') +INSIGHT_BANK_KEY = get_from_secrets_or_env('INSIGHT_BANK_KEY', None) # ALLOW BASIC AUTH FOR DEMO SITE diff --git a/src/etools/libraries/azure_graph_api/utils.py b/src/etools/libraries/azure_graph_api/utils.py index e9148826c1..0d3f4d3950 100644 --- a/src/etools/libraries/azure_graph_api/utils.py +++ b/src/etools/libraries/azure_graph_api/utils.py @@ -29,7 +29,7 @@ def handle_record(record): record_dict = { 'Username*': record.get('userPrincipalName', '-'), - 'Email*': record.get('mail', '-').lower(), + 'Email*': record['mail'].lower() if record.get('mail', None) else '', 'Name*': record.get('givenName', '-'), 'Surname*': record.get('surname', '-'), 'Type*': record.get('userType', '-'), @@ -38,7 +38,8 @@ def handle_record(record): 'Phone': record.get('businessPhones', '-'), 'Mobile': record.get('mobilePhone', '-'), 'Department': record.get('department', '-'), - 'Country Code [Business Area Code]': record.get('extension_f4805b4021f643d0aa596e1367d432f1_extensionAttribute1', '-'), + 'Country Code [Business Area Code]': record.get( + 'extension_f4805b4021f643d0aa596e1367d432f1_extensionAttribute1', '-'), 'Country': record.get('country', '-'), 'Index Number': record.get('extension_f4805b4021f643d0aa596e1367d432f1_extensionAttribute2', '-'), 'Nationality': record.get('extension_f4805b4021f643d0aa596e1367d432f1_extensionAttribute3', '-'), diff --git a/src/etools/libraries/locations/admin.py b/src/etools/libraries/locations/admin.py index 3f0b1ff1f8..5f79f9f267 100644 --- a/src/etools/libraries/locations/admin.py +++ b/src/etools/libraries/locations/admin.py @@ -7,6 +7,7 @@ from etools.libraries.locations.tasks import ( cleanup_obsolete_locations, + notify_import_site_completed, update_sites_from_cartodb, validate_locations_in_use, ) @@ -34,7 +35,10 @@ def import_sites(self, request, queryset): # clean up locations from bottom to top, it's easier to validate parents this way for table in reversed(carto_tables): - task_list += [cleanup_obsolete_locations.si(table)] + task_list.extend([ + cleanup_obsolete_locations.si(table), + notify_import_site_completed.si(table, request.user.pk) + ]) if task_list: # Trying to force the tasks to execute in correct sequence diff --git a/src/etools/libraries/locations/task_utils.py b/src/etools/libraries/locations/task_utils.py index f86c3dc9ff..898b13eee5 100644 --- a/src/etools/libraries/locations/task_utils.py +++ b/src/etools/libraries/locations/task_utils.py @@ -438,8 +438,8 @@ def update_model_locations(remapped_locations, model, related_object, related_pr ThroughModel.objects.filter(**filter_args).delete() # update through table only after it was cleaned up from duplicates - for loc in remapped_locations: - ThroughModel.objects.filter(location=loc[1]).update(location=loc[0]) + for new_loc, old_loc in remapped_locations: + ThroughModel.objects.filter(location=old_loc).update(location=new_loc) def save_location_remap_history(remapped_location_pairs): @@ -455,8 +455,8 @@ def save_location_remap_history(remapped_location_pairs): return multiples = defaultdict(list) - for loc_tp in remapped_locations: - multiples[loc_tp[0]].append(loc_tp[1]) + for new_loc, old_loc in remapped_locations: + multiples[new_loc].append(old_loc) for model, related_object, related_property in [(AppliedIndicator, "appliedindicator", "locations"), (TravelActivity, "travelactivity", "locations"), @@ -465,12 +465,12 @@ def save_location_remap_history(remapped_location_pairs): update_model_locations(remapped_locations, model, related_object, related_property, multiples) # action points - for loc_tp in remapped_locations: - ActionPoint.objects.filter(location=loc_tp[1]).update(location=loc_tp[0]) + for new_loc, old_loc in remapped_locations: + ActionPoint.objects.filter(location=old_loc).update(location=new_loc) - for loc_tp in remapped_locations: + for new_loc, old_loc in remapped_locations: LocationRemapHistory.objects.create( - old_location=Location.objects.all_locations().get(id=loc_tp[1]), - new_location=Location.objects.all_locations().get(id=loc_tp[0]), - comments="Remapped location id {} to id {}".format(loc_tp[1], loc_tp[0]) + old_location=Location.objects.all_locations().get(id=old_loc), + new_location=Location.objects.all_locations().get(id=new_loc), + comments="Remapped location id {} to id {}".format(old_loc, new_loc) ) diff --git a/src/etools/libraries/locations/tasks.py b/src/etools/libraries/locations/tasks.py index a4a484266a..e0e7352dec 100644 --- a/src/etools/libraries/locations/tasks.py +++ b/src/etools/libraries/locations/tasks.py @@ -1,4 +1,5 @@ -from django.db import transaction +from django.contrib.auth import get_user_model +from django.db import IntegrityError, transaction from django.db.models import Q from django.utils.encoding import force_text @@ -8,7 +9,10 @@ from celery.utils.log import get_task_logger from unicef_locations.auth import LocationsCartoNoAuthClient from unicef_locations.models import CartoDBTable, Location, LocationRemapHistory +from unicef_notification.utils import send_notification_with_template +from unicef_vision.utils import get_vision_logger_domain_model +from etools.applications.users.models import Country from etools.libraries.locations.task_utils import ( create_location, duplicate_pcodes_exist, @@ -23,16 +27,22 @@ logger = get_task_logger(__name__) -@celery.current_app.task -def validate_locations_in_use(carto_table_pk): - try: - carto_table = CartoDBTable.objects.get(pk=carto_table_pk) - except CartoDBTable.DoesNotExist as e: - logger.exception('Cannot retrieve CartoDBTable with pk: %s', carto_table_pk) - raise e +@celery.current_app.task(bind=True) +def validate_locations_in_use(self, carto_table_pk): + carto_table = CartoDBTable.objects.get(pk=carto_table_pk) + country = Country.objects.get(schema_name=self.request.headers.get('_schema_name', None)) + log, _ = get_vision_logger_domain_model().objects.get_or_create( + handler_name=f'LocationsHandler ({carto_table.location_type.admin_level})', + business_area_code=getattr(country, 'business_area_code', ''), + country=country + + ) + log.details = self.__class__.__name__ database_pcodes = [] - for row in Location.objects.all_locations().filter(gateway=carto_table.location_type).values('p_code'): + rows = Location.objects.all_locations().filter(gateway=carto_table.location_type).values('p_code') + log.total_records = rows.count() + for row in rows: database_pcodes.append(row['p_code']) auth_client = LocationsCartoNoAuthClient(base_url="https://{}.carto.com/".format(carto_table.domain)) @@ -52,7 +62,10 @@ def validate_locations_in_use(carto_table_pk): remap_table_pcode_pairs = sql_client.send(remap_qry)['rows'] except CartoException as e: - logger.exception("CartoDB exception occured during the data validation.") + message = "CartoDB exception occured during the data validation." + logger.exception(message) + log.exception_message = message + log.save() raise e remap_old_pcodes = [remap_row['old_pcode'] for remap_row in remap_table_pcode_pairs] @@ -62,22 +75,28 @@ def validate_locations_in_use(carto_table_pk): # if location ids with no remap in use are found, do not continue the import location_ids_bnriu = get_location_ids_in_use(orphaned_location_ids) if location_ids_bnriu: - msg = "Location ids in use without remap found: {}". format(','.join([str(iu) for iu in location_ids_bnriu])) - logger.exception(msg) - raise NoRemapInUseException(msg) + message = "Location ids in use without remap found: {}". format(','.join([str(iu) for iu in location_ids_bnriu])) + logger.exception(message) + log.exception_message = message + log.save() + raise NoRemapInUseException(message) + log.save() return True -@celery.current_app.task # noqa: ignore=C901 -def update_sites_from_cartodb(carto_table_pk): - results = [] +@celery.current_app.task(bind=True) # noqa: ignore=C901 +def update_sites_from_cartodb(self, carto_table_pk): - try: - carto_table = CartoDBTable.objects.get(pk=carto_table_pk) - except CartoDBTable.DoesNotExist: - logger.exception('Cannot retrieve CartoDBTable with pk: %s', carto_table_pk) - return results + carto_table = CartoDBTable.objects.get(pk=carto_table_pk) + country = Country.objects.get(schema_name=self.request.headers.get('_schema_name', None)) + log, _ = get_vision_logger_domain_model().objects.get_or_create( + handler_name=f'LocationsHandler ({carto_table.location_type.admin_level})', + business_area_code=getattr(country, 'business_area_code', ''), + country=country + ) + log.details = self.__class__.__name__ + results = [] auth_client = LocationsCartoNoAuthClient(base_url="https://{}.carto.com/".format(carto_table.domain)) sql_client = SQLClient(auth_client) @@ -90,12 +109,17 @@ def update_sites_from_cartodb(carto_table_pk): if not carto_succesfully_queried: return results except CartoException: # pragma: no-cover - logger.exception("CartoDB exception occured") + message = "CartoDB exception occured" + logger.exception(message) + log.exception_message = message + log.save() else: # validations # get the list of the existing Pcodes and previous Pcodes from the database database_pcodes = [] - for row in Location.objects.filter(gateway=carto_table.location_type).values('p_code'): + lrows = Location.objects.filter(gateway=carto_table.location_type).values('p_code') + log.total_records = lrows.count() + for row in lrows: database_pcodes.append(row['p_code']) # get the list of the new Pcodes from the Carto data @@ -113,121 +137,132 @@ def update_sites_from_cartodb(carto_table_pk): return results # wrap Location tree updates in a transaction, to prevent an invalid tree state due to errors - with transaction.atomic(): - # should write lock the locations table until the tree is rebuilt - Location.objects.all_locations().select_for_update().only('id') - - # disable tree 'generation' during single row updates, rebuild the tree after the rows are updated. - with Location.objects.disable_mptt_updates(): - # update locations in two steps: first remap, then update the data. The reason of this approach is that - # a remapped 'old' pcode can appear as a newly inserted pcode. Remapping before updating/inserting - # should prevent the problem of archiving locations when remapping and updating in the same step. - - # REMAP locations - if carto_table.remap_table_name and len(remap_table_pcode_pairs) > 0: - # remapped_pcode_pairs ex.: {'old_pcode': 'ET0721', 'new_pcode': 'ET0714'} - remap_table_pcode_pairs = list(filter( - filter_remapped_locations_cb, - remap_table_pcode_pairs - )) - - aggregated_remapped_pcode_pairs = {} + try: + with transaction.atomic(): + # should write lock the locations table until the tree is rebuilt + Location.objects.all_locations().select_for_update().only('id') + + # disable tree 'generation' during single row updates, rebuild the tree after the rows are updated. + with Location.objects.disable_mptt_updates(): + # update locations in two steps: first remap, then update the data. The reason of this approach is that + # a remapped 'old' pcode can appear as a newly inserted pcode. Remapping before updating/inserting + # should prevent the problem of archiving locations when remapping and updating in the same step. + + # REMAP locations + if carto_table.remap_table_name and len(remap_table_pcode_pairs) > 0: + # remapped_pcode_pairs ex.: {'old_pcode': 'ET0721', 'new_pcode': 'ET0714'} + remap_table_pcode_pairs = list(filter( + filter_remapped_locations_cb, + remap_table_pcode_pairs + )) + + aggregated_remapped_pcode_pairs = {} + for row in rows: + carto_pcode = str(row[carto_table.pcode_col]).strip() + for remap_row in remap_table_pcode_pairs: + # create the location or update the existing based on type and code + if carto_pcode == remap_row['new_pcode']: + if carto_pcode not in aggregated_remapped_pcode_pairs: + aggregated_remapped_pcode_pairs[carto_pcode] = [] + aggregated_remapped_pcode_pairs[carto_pcode].append(remap_row['old_pcode']) + + # aggregated_remapped_pcode_pairs - {'new_pcode': ['old_pcode_1', old_pcode_2, ...], ...} + for remapped_new_pcode, remapped_old_pcodes in aggregated_remapped_pcode_pairs.items(): + remapped_location_id_pairs = remap_location( + carto_table, + remapped_new_pcode, + remapped_old_pcodes + ) + # create remap history, and remap relevant models to the new location + if remapped_location_id_pairs: + save_location_remap_history(remapped_location_id_pairs) + sites_remapped += 1 + + # UPDATE locations for row in rows: carto_pcode = str(row[carto_table.pcode_col]).strip() - for remap_row in remap_table_pcode_pairs: - # create the location or update the existing based on type and code - if carto_pcode == remap_row['new_pcode']: - if carto_pcode not in aggregated_remapped_pcode_pairs: - aggregated_remapped_pcode_pairs[carto_pcode] = [] - aggregated_remapped_pcode_pairs[carto_pcode].append(remap_row['old_pcode']) - - # aggregated_remapped_pcode_pairs - {'new_pcode': ['old_pcode_1', old_pcode_2, ...], ...} - for remapped_new_pcode, remapped_old_pcodes in aggregated_remapped_pcode_pairs.items(): - remapped_location_id_pairs = remap_location( - carto_table, - remapped_new_pcode, - remapped_old_pcodes - ) - # create remap history, and remap relevant models to the new location - if remapped_location_id_pairs: - save_location_remap_history(remapped_location_id_pairs) - sites_remapped += 1 - - # UPDATE locations - for row in rows: - carto_pcode = str(row[carto_table.pcode_col]).strip() - site_name = row[carto_table.name_col] - - if not site_name or site_name.isspace(): - logger.warning("No name for location with PCode: {}".format(carto_pcode)) - sites_not_added += 1 - continue - - parent = None - parent_code = None - parent_instance = None - - # attempt to reference the parent of this location - if carto_table.parent_code_col and carto_table.parent: - msg = None - parent = carto_table.parent.__class__ - parent_code = row[carto_table.parent_code_col] - try: - parent_instance = Location.objects.get(p_code=parent_code) - except Location.MultipleObjectsReturned: - msg = "Multiple locations found for parent code: {}".format( - parent_code - ) - except Location.DoesNotExist: - msg = "No locations found for parent code: {}".format( - parent_code - ) - except Exception as exp: - msg = force_text(exp) + site_name = row[carto_table.name_col] - if msg is not None: - logger.warning(msg) + if not site_name or site_name.isspace(): + logger.warning("No name for location with PCode: {}".format(carto_pcode)) sites_not_added += 1 continue - # create the location or update the existing based on type and code - success, sites_not_added, sites_created, sites_updated = create_location( - carto_pcode, carto_table, - parent, parent_instance, - site_name, row, - sites_not_added, sites_created, sites_updated - ) - if success: - logger.warning("Location level {} imported with success".format(carto_table.location_type)) - - orphaned_old_pcodes = set(database_pcodes) - (set(new_carto_pcodes) | set(remap_old_pcodes)) - if orphaned_old_pcodes: # pragma: no-cover - logger.warning("Archiving unused pcodes: {}".format(','.join(orphaned_old_pcodes))) - Location.objects.filter( - p_code__in=list(orphaned_old_pcodes), - is_active=True, - ).update( - is_active=False - ) - - # rebuild location tree - Location.objects.rebuild() + parent = parent_instance = None + + # attempt to reference the parent of this location + if carto_table.parent_code_col and carto_table.parent: + msg = None + parent = carto_table.parent.__class__ + parent_code = row[carto_table.parent_code_col] + try: + parent_instance = Location.objects.get(p_code=parent_code) + except Location.MultipleObjectsReturned: + msg = "Multiple locations found for parent code: {}".format( + parent_code + ) + except Location.DoesNotExist: + msg = "No locations found for parent code: {}".format( + parent_code + ) + except Exception as exp: + msg = force_text(exp) + + if msg is not None: + logger.warning(msg) + sites_not_added += 1 + continue + + # create the location or update the existing based on type and code + success, sites_not_added, sites_created, sites_updated = create_location( + carto_pcode, carto_table, + parent, parent_instance, + site_name, row, + sites_not_added, sites_created, sites_updated + ) + if success: + logger.warning("Location level {} imported with success".format(carto_table.location_type)) + + orphaned_old_pcodes = set(database_pcodes) - (set(new_carto_pcodes) | set(remap_old_pcodes)) + if orphaned_old_pcodes: # pragma: no-cover + logger.warning("Archiving unused pcodes: {}".format(','.join(orphaned_old_pcodes))) + Location.objects.filter( + p_code__in=list(orphaned_old_pcodes), + is_active=True, + ).update( + is_active=False + ) + + # rebuild location tree + Location.objects.rebuild() + + except IntegrityError as e: + logger.exception(str(e)) + log.exception_message = str(e) + log.save() + raise e logger.warning("Table name {}: {} sites created, {} sites updated, {} sites remapped, {} sites skipped".format( carto_table.table_name, sites_created, sites_updated, sites_remapped, sites_not_added)) + log.save() + return True -@celery.current_app.task -def cleanup_obsolete_locations(carto_table_pk): - - try: - carto_table = CartoDBTable.objects.get(pk=carto_table_pk) - except CartoDBTable.DoesNotExist as e: - logger.exception('Cannot retrieve CartoDBTable with pk: %s', carto_table_pk) - raise e +@celery.current_app.task(bind=True) +def cleanup_obsolete_locations(self, carto_table_pk): + carto_table = CartoDBTable.objects.get(pk=carto_table_pk) + country = Country.objects.get(schema_name=self.request.headers.get('_schema_name', None)) + log, _ = get_vision_logger_domain_model().objects.get_or_create( + handler_name=f'LocationsHandler ({carto_table.location_type.admin_level})', + business_area_code=getattr(country, 'business_area_code', ''), + country=country + ) + log.details = self.__class__.__name__ database_pcodes = [] - for row in Location.objects.all_locations().filter(gateway=carto_table.location_type).values('p_code'): + rows = Location.objects.all_locations().filter(gateway=carto_table.location_type).values('p_code') + log.total_processed = rows.count() + for row in rows: database_pcodes.append(row['p_code']) auth_client = LocationsCartoNoAuthClient(base_url="https://{}.carto.com/".format(carto_table.domain)) @@ -247,7 +282,10 @@ def cleanup_obsolete_locations(carto_table_pk): remap_table_pcode_pairs = sql_client.send(remap_qry)['rows'] except CartoException as e: - logger.exception("CartoDB exception occured during the data validation.") + message = "CartoDB exception occured during the data validation." + logger.exception(message) + log.exception_message = message + log.save() raise e remapped_pcodes = [remap_row['old_pcode'] for remap_row in remap_table_pcode_pairs] @@ -291,6 +329,23 @@ def cleanup_obsolete_locations(carto_table_pk): # rebuild location tree after the unneeded locations are cleaned up, because it seems deleting locations # sometimes leaves the location tree in a `bugged` state Location.objects.rebuild() + log.successful = True + log.save() + return True + + +@celery.current_app.task +def notify_import_site_completed(carto_table_pk, user_pk): + user = get_user_model().objects.get(pk=user_pk) + context = { + 'table': CartoDBTable.objects.get(pk=carto_table_pk), + 'recipient': user.get_full_name(), + } + send_notification_with_template( + recipients=[user.email], + template_name='locations/import_completed', + context=context + ) class NoRemapInUseException(Exception): diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/None.response.json deleted file mode 100644 index caf310e4cc..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/None.response.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "177" - ] - }, - "data": [ - { - "id": "34", - "domain": "Domain 0", - "api_key": "API Key 0", - "table_name": "table_name_0", - "display_name": "", - "pcode_col": "pcode", - "color": "#3B0710", - "location_type": 216, - "name_col": "name" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index caf310e4cc..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/_locations_cartodbtables_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "177" - ] - }, - "data": [ - { - "id": "34", - "domain": "Domain 0", - "api_key": "API Key 0", - "table_name": "table_name_0", - "display_name": "", - "pcode_col": "pcode", - "color": "#3B0710", - "location_type": 216, - "name_col": "name" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/fixtures.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/fixtures.json deleted file mode 100644 index 8672875e57..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/fixtures.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "locationtype": { - "master": { - "model": "locations.cartodbtable", - "pk": 34, - "fields": { - "created": "2019-01-11T16:16:52.406Z", - "modified": "2019-01-11T16:16:52.407Z", - "domain": "Domain 0", - "api_key": "API Key 0", - "table_name": "table_name_0", - "display_name": "", - "location_type": 216, - "name_col": "name", - "pcode_col": "pcode", - "remap_table_name": null, - "parent_code_col": "", - "parent": null, - "color": "#3B0710", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - "deps": [ - { - "model": "locations.gatewaytype", - "pk": 216, - "fields": { - "created": "2019-01-11T16:16:52.405Z", - "modified": "2019-01-11T16:16:52.405Z", - "name": "GatewayType 0", - "admin_level": 0 - } - } - ] - } -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables_.response.json deleted file mode 100644 index caf310e4cc..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables_.response.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "177" - ] - }, - "data": [ - { - "id": "34", - "domain": "Domain 0", - "api_key": "API Key 0", - "table_name": "table_name_0", - "display_name": "", - "pcode_col": "pcode", - "color": "#3B0710", - "location_type": 216, - "name_col": "name" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables__None.response.json deleted file mode 100644 index caf310e4cc..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPICartoDB/get__locations_cartodbtables__None.response.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "177" - ] - }, - "data": [ - { - "id": "34", - "domain": "Domain 0", - "api_key": "API Key 0", - "table_name": "table_name_0", - "display_name": "", - "pcode_col": "pcode", - "color": "#3B0710", - "location_type": 216, - "name_col": "name" - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/None.response.json deleted file mode 100644 index fdaf5f03e7..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/None.response.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"c2b09d2667504f349b35be08c54e7ea4\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index e981bf28c1..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-light_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"e109737ade0b45fb88af93c6e31c3f38\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/None.response.json deleted file mode 100644 index 49416d2eb1..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/None.response.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "263" - ] - }, - "data": [ - { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - { - "id": 218, - "created": "2019-01-11T16:16:52.964000Z", - "modified": "2019-01-11T16:16:52.964000Z", - "name": "GatewayType 2", - "admin_level": 2 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 49416d2eb1..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations-types_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "263" - ] - }, - "data": [ - { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - { - "id": 218, - "created": "2019-01-11T16:16:52.964000Z", - "modified": "2019-01-11T16:16:52.964000Z", - "name": "GatewayType 2", - "admin_level": 2 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/None.response.json deleted file mode 100644 index 800d65ae09..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/None.response.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"16354fc7eb294555a1b28beb8856e3cc\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "264" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index af40c3f9cb..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"f1a11a85adb04413b6cc10bfce1ab9db\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "264" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/None.response.json deleted file mode 100644 index d5f6463fac..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PUT, PATCH, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index d5f6463fac..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_101_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PUT, PATCH, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/None.response.json deleted file mode 100644 index 7157186b47..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index 7157186b47..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_api_locations_pcode_abc_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/None.response.json deleted file mode 100644 index ed770a3ce7..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json deleted file mode 100644 index ed770a3ce7..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/_locations_autocomplete_/get/dc937b59892604f5a86ac96936cd7ff09e25f18ae6b758e8014a24c7fa039e91.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/fixtures.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/fixtures.json deleted file mode 100644 index 880ee1c09b..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/fixtures.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "location": { - "master": { - "model": "locations.location", - "pk": 101, - "fields": { - "name": "Location 0", - "gateway": 217, - "latitude": null, - "longitude": null, - "p_code": "abc", - "parent": null, - "geom": null, - "point": "SRID=4326;POINT (20 20)", - "is_active": true, - "created": "2019-01-11T16:16:52.944Z", - "modified": "2019-01-11T16:16:52.946Z", - "lft": 1, - "rght": 2, - "tree_id": 1, - "level": 0 - } - }, - "deps": [ - { - "model": "locations.gatewaytype", - "pk": 217, - "fields": { - "created": "2019-01-11T16:16:52.942Z", - "modified": "2019-01-11T16:16:52.942Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ] - }, - "locationtype": { - "master": { - "model": "locations.gatewaytype", - "pk": 218, - "fields": { - "created": "2019-01-11T16:16:52.964Z", - "modified": "2019-01-11T16:16:52.964Z", - "name": "GatewayType 2", - "admin_level": 2 - } - }, - "deps": [] - } -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light_.response.json deleted file mode 100644 index e427d0c6cf..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light_.response.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"5580686f04214be0b62b1d6e7e1536ec\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942511Z", - "modified": "2019-01-11T16:16:52.942797Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light__None.response.json deleted file mode 100644 index c5ead31a86..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-light__None.response.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"005aa2d48ccc47c4b1ec1c2d95fe344b\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types_.response.json deleted file mode 100644 index 49416d2eb1..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types_.response.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "263" - ] - }, - "data": [ - { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - { - "id": 218, - "created": "2019-01-11T16:16:52.964000Z", - "modified": "2019-01-11T16:16:52.964000Z", - "name": "GatewayType 2", - "admin_level": 2 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types__None.response.json deleted file mode 100644 index 49416d2eb1..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations-types__None.response.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "263" - ] - }, - "data": [ - { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - { - "id": 218, - "created": "2019-01-11T16:16:52.964000Z", - "modified": "2019-01-11T16:16:52.964000Z", - "name": "GatewayType 2", - "admin_level": 2 - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_.response.json deleted file mode 100644 index ad0b031931..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_.response.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"b20f1fd430d1464b8c51a6f253658f0e\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "264" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101_.response.json deleted file mode 100644 index d5f6463fac..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101_.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PUT, PATCH, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101__None.response.json deleted file mode 100644 index d5f6463fac..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_101__None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, PUT, PATCH, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations__None.response.json deleted file mode 100644 index 25b3055d57..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations__None.response.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "etag": [ - "ETag", - "\"3f1b5a140d494751b45a6fca9f796d54\"" - ], - "cache-control": [ - "Cache-Control", - "private, must-revalidate" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, POST, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "264" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - } - ], - "content_type": null -} diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc_.response.json deleted file mode 100644 index 7157186b47..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc_.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc__None.response.json deleted file mode 100644 index 7157186b47..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__api_locations_pcode_abc__None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "262" - ] - }, - "data": { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - }, - "geo_point": "SRID=4326;POINT (20 20)", - "parent": null - }, - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete_.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete_.response.json deleted file mode 100644 index ed770a3ce7..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete_.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete__None.response.json b/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete__None.response.json deleted file mode 100644 index ed770a3ce7..0000000000 --- a/src/etools/libraries/locations/tests/_api_checker/etools.libraries.locations.tests.test_api/TestAPILocations/get__locations_autocomplete__None.response.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "status_code": 200, - "headers": { - "content-type": [ - "Content-Type", - "application/json" - ], - "vary": [ - "Vary", - "Accept, Origin, Cookie" - ], - "allow": [ - "Allow", - "GET, HEAD, OPTIONS" - ], - "x-frame-options": [ - "X-Frame-Options", - "SAMEORIGIN" - ], - "content-length": [ - "Content-Length", - "212" - ] - }, - "data": [ - { - "id": "101", - "name": "Location 0 [GatewayType 1 - abc]", - "p_code": "abc", - "gateway": { - "id": 217, - "created": "2019-01-11T16:16:52.942000Z", - "modified": "2019-01-11T16:16:52.942000Z", - "name": "GatewayType 1", - "admin_level": 1 - } - } - ], - "content_type": null -} \ No newline at end of file diff --git a/src/etools/libraries/locations/tests/test_api.py b/src/etools/libraries/locations/tests/test_api.py deleted file mode 100644 index 6d7f323908..0000000000 --- a/src/etools/libraries/locations/tests/test_api.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.urls import reverse - -from unicef_locations.tests.factories import CartoDBTableFactory, GatewayTypeFactory, LocationFactory - -from etools.applications.core.tests.cases import BaseTenantTestCase -from etools.libraries.tests.api_checker import AssertTimeStampedMixin, ViewSetChecker - - -class TestAPILocations(AssertTimeStampedMixin, BaseTenantTestCase, metaclass=ViewSetChecker): - URLS = [ - reverse("locations-light-list"), - reverse("locationtypes-list"), - reverse("locations-list"), - reverse("locations-detail", args=[101]), - reverse("locationtypes-list"), - reverse("locations_detail_pcode", args=['abc']), - reverse("locations:locations_autocomplete"), - ] - - def get_fixtures(cls): - return {'location': LocationFactory(id=101, p_code='abc'), - 'locationtype': GatewayTypeFactory(), - } - - -class TestAPICartoDB(BaseTenantTestCase, metaclass=ViewSetChecker): - URLS = [ - reverse("locations:cartodbtables"), - ] - - def get_fixtures(cls): - return {'locationtype': CartoDBTableFactory()} diff --git a/src/etools/libraries/locations/tests/test_tasks.py b/src/etools/libraries/locations/tests/test_tasks.py index 87f5f8309a..f687ce087a 100644 --- a/src/etools/libraries/locations/tests/test_tasks.py +++ b/src/etools/libraries/locations/tests/test_tasks.py @@ -29,18 +29,21 @@ def setUp(self): def _run_validation(self, carto_table_pk): with patch("unicef_locations.tasks.SQLClient.send", self.mock_sql): - return tasks.validate_locations_in_use(carto_table_pk) + tasks.validate_locations_in_use.push_request(headers={'_schema_name': 'test'}) + return tasks.validate_locations_in_use.run(carto_table_pk) def _run_update(self, carto_table_pk): # IMPORTANT mock the actual function loaded in tasks, it doesn't work by mocking the function in task_utils with patch( "etools.libraries.locations.tasks.validate_remap_table", self.mock_remap_data), patch( "etools.libraries.locations.tasks.get_cartodb_locations", self.mock_carto_data): - return tasks.update_sites_from_cartodb(carto_table_pk) + tasks.update_sites_from_cartodb.push_request(headers={'_schema_name': 'test'}) + return tasks.update_sites_from_cartodb.run(carto_table_pk) def _run_cleanup(self, carto_table_pk): with patch("unicef_locations.tasks.SQLClient.send", self.mock_sql): - return tasks.cleanup_obsolete_locations(carto_table_pk) + tasks.cleanup_obsolete_locations.push_request(headers={'_schema_name': 'test'}) + return tasks.cleanup_obsolete_locations.run(carto_table_pk) def _assert_response(self, response, expected_result): self.assertEqual(response, expected_result) diff --git a/src/etools/libraries/tests/api_checker.py b/src/etools/libraries/tests/api_checker.py deleted file mode 100644 index 9e7dbf06a6..0000000000 --- a/src/etools/libraries/tests/api_checker.py +++ /dev/null @@ -1,35 +0,0 @@ -import datetime - -from django.conf import settings - -from drf_api_checker.unittest import ApiCheckerBase, ApiCheckerMixin as BaseApiCheckerMixin -from rest_framework.response import Response - -from etools.applications.users.tests.factories import UserFactory - - -class ApiCheckerMixin(BaseApiCheckerMixin): - def setUp(self): - super().setUp() - self.user = UserFactory( - username='user', - is_staff=True, - email=f"me{settings.UNICEF_USER_EMAIL}", - ) - self.client.login(username='user', password='test') - - -class ViewSetChecker(ApiCheckerBase): - mixin = ApiCheckerMixin - - -class AssertTimeStampedMixin: - def assert_modified(self, response: Response, stored: Response, path: str): - if not path: - value = response['modified'] - assert datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S.%fZ') - - def assert_created(self, response: Response, stored: Response, path: str): - if not path: - value = response['created'] - assert datetime.datetime.strptime(value, '%Y-%m-%dT%H:%M:%S.%fZ')