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')