clinicedc 2.0.24__py3-none-any.whl → 2.0.26__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of clinicedc might be problematic. Click here for more details.
- {clinicedc-2.0.24.dist-info → clinicedc-2.0.26.dist-info}/METADATA +1 -1
- {clinicedc-2.0.24.dist-info → clinicedc-2.0.26.dist-info}/RECORD +58 -57
- edc_action_item/site_action_items.py +2 -2
- edc_appointment/view_utils/appointment_button.py +1 -1
- edc_consent/modeladmin_mixins/consent_model_admin_mixin.py +14 -12
- edc_consent/models/__init__.py +2 -2
- edc_consent/models/signals.py +26 -28
- edc_dashboard/view_mixins/message_view_mixin.py +3 -4
- edc_identifier/admin.py +3 -2
- edc_identifier/identifier.py +5 -5
- edc_identifier/model_mixins.py +1 -1
- edc_identifier/models.py +7 -6
- edc_identifier/research_identifier.py +1 -1
- edc_identifier/short_identifier.py +1 -1
- edc_identifier/simple_identifier.py +15 -5
- edc_identifier/subject_identifier.py +2 -2
- edc_identifier/utils.py +13 -14
- edc_listboard/view_mixins/search_listboard_view_mixin.py +6 -7
- edc_metadata/view_mixins/metadata_view_mixin.py +7 -4
- edc_navbar/navbar.py +2 -2
- edc_randomization/admin.py +3 -1
- edc_randomization/apps.py +8 -11
- edc_randomization/auth_objects.py +9 -0
- edc_randomization/blinding.py +6 -12
- edc_randomization/decorators.py +2 -3
- edc_randomization/exceptions.py +73 -0
- edc_randomization/model_mixins.py +2 -3
- edc_randomization/randomization_list_importer.py +35 -36
- edc_randomization/randomization_list_verifier.py +19 -21
- edc_randomization/randomizer.py +12 -28
- edc_randomization/site_randomizers.py +2 -16
- edc_randomization/system_checks.py +1 -1
- edc_randomization/utils.py +3 -10
- edc_review_dashboard/middleware.py +4 -4
- edc_review_dashboard/views/subject_review_listboard_view.py +3 -3
- edc_screening/age_evaluator.py +1 -1
- edc_screening/eligibility.py +5 -5
- edc_screening/exceptions.py +3 -3
- edc_screening/gender_evaluator.py +1 -1
- edc_screening/modelform_mixins.py +1 -1
- edc_screening/screening_eligibility.py +30 -35
- edc_screening/utils.py +10 -12
- edc_sites/admin/list_filters.py +2 -2
- edc_sites/admin/site_model_admin_mixin.py +8 -8
- edc_sites/exceptions.py +1 -1
- edc_sites/forms.py +3 -1
- edc_sites/management/commands/sync_sites.py +11 -17
- edc_sites/models/site_profile.py +6 -4
- edc_sites/post_migrate_signals.py +2 -2
- edc_sites/site.py +8 -8
- edc_sites/utils/add_or_update_django_sites.py +3 -3
- edc_sites/utils/valid_site_for_subject_or_raise.py +7 -4
- edc_sites/view_mixins.py +2 -2
- edc_subject_dashboard/view_utils/subject_screening_button.py +5 -3
- edc_view_utils/dashboard_model_button.py +3 -3
- edc_visit_schedule/site_visit_schedules.py +2 -1
- {clinicedc-2.0.24.dist-info → clinicedc-2.0.26.dist-info}/WHEEL +0 -0
- {clinicedc-2.0.24.dist-info → clinicedc-2.0.26.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clinicedc
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.26
|
|
4
4
|
Summary: A clinical trials data management framework built on Django
|
|
5
5
|
Keywords: django,clinicedc,edc,clinical trials,research,data management,esource
|
|
6
6
|
Author: Erik van Widenfelt, Jonathan Willitts
|
|
@@ -83,7 +83,7 @@ edc_action_item/models/signals.py,sha256=UtJEGw1oP479zhZ77q5L2wGBA92TUk4FpC2UDeS
|
|
|
83
83
|
edc_action_item/offline_models.py,sha256=qPls5N0KfA9A-xX9ycbw5H9NuLpnRA4TFR6QES_exCw,961
|
|
84
84
|
edc_action_item/post_migrate_signals.py,sha256=V82WIPGPOS15jvveUnjPYA8JJRyJNGLvgwnkAkgDTVk,387
|
|
85
85
|
edc_action_item/send_email.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
-
edc_action_item/site_action_items.py,sha256=
|
|
86
|
+
edc_action_item/site_action_items.py,sha256=AhxUcsZoqxPVNJUCUAO_-4Mbz80KoP06a5A9Oixzvok,6555
|
|
87
87
|
edc_action_item/stubs.py,sha256=sXdo0mWuPqldxLVHoPA8fRF4tgZzrarjUVfL2ZcKj4k,1859
|
|
88
88
|
edc_action_item/system_checks.py,sha256=zV8LPgwCpU9i_nQfB7HLsqiEPxy7mNFPPNRfDM-K9Eg,814
|
|
89
89
|
edc_action_item/templates/edc_action_item/action_item_admin_additional_instructions.html,sha256=uw4LCaxio14fRdPywBqU0p-wQDgsfgBkpSNj6wCWu00,181
|
|
@@ -443,7 +443,7 @@ edc_appointment/utils.py,sha256=6K0GkLdUJtVxvmHcRNOnLNeFNgAcCtn6pjeVtFmNBzw,3132
|
|
|
443
443
|
edc_appointment/view_mixins/__init__.py,sha256=2EubqlkD0BWqdKyOGRroFqirvBDk7oolMAa7fmmz_S8,57
|
|
444
444
|
edc_appointment/view_mixins/appointment_view_mixin.py,sha256=0ajpPcVcOHZkXsTUvYS_kI3W0zJItGca5Gab7ORjceg,4469
|
|
445
445
|
edc_appointment/view_utils/__init__.py,sha256=r44ui0AWLVhW2CzDg_2d-9Hu92xHa7miMWvyt8IG23s,50
|
|
446
|
-
edc_appointment/view_utils/appointment_button.py,sha256=
|
|
446
|
+
edc_appointment/view_utils/appointment_button.py,sha256=T5NrYwnNxG9II9MAaLH1UPfrKsfLoGTzy7anjl__8Dw,2159
|
|
447
447
|
edc_appointment/views/__init__.py,sha256=qIHZEVVzTMCaW7LgFZ5LJeTK5iJtfHTIcPfYWclnxQM,101
|
|
448
448
|
edc_appointment/views/home_view.py,sha256=rkstpwqRwQ89pjTSJOsy9vwAJ4xQHHeRWZOOpGs8w50,197
|
|
449
449
|
edc_appointment/views/unscheduled_appointment_view.py,sha256=BSRR40ocxk7YmoaqicpPv2NMwfFZDGpN6BvG7kWC7XQ,2981
|
|
@@ -584,7 +584,7 @@ edc_consent/model_mixins/consent_model_mixin.py,sha256=b_RjN1LY9n-eGfr4cCeZFOXw_
|
|
|
584
584
|
edc_consent/model_mixins/consent_version_model_mixin.py,sha256=8kXPjMU8RcgWjAYltuqPVCwRDvgAp1b6Ic1SGWsU8BU,3139
|
|
585
585
|
edc_consent/model_mixins/requires_consent_fields_model_mixin.py,sha256=NAQtakqj3WpVMbWRBQqCpF7pzrQeUOfFtaGkSDoRVZg,347
|
|
586
586
|
edc_consent/modeladmin_mixins/__init__.py,sha256=2tPZOwJXTDUoU5UFUcJbptFm9hK_SE7-h_L1CttD5zw,278
|
|
587
|
-
edc_consent/modeladmin_mixins/consent_model_admin_mixin.py,sha256=
|
|
587
|
+
edc_consent/modeladmin_mixins/consent_model_admin_mixin.py,sha256=nf5RP84lq6G9oZpfEwDGKsKQ7B-oqYxaafWyC-S2ww8,7590
|
|
588
588
|
edc_consent/modeladmin_mixins/requires_consent_model_admin_mixin.py,sha256=qpxsud704sXx6MzeZ-TBNIFzrAWS07DOwdtx8G0c0yk,764
|
|
589
589
|
edc_consent/modelform_mixins/__init__.py,sha256=Z5bXi8FIka147nV0VLjb2PHCzJDaI4lYloQixkyGJcE,278
|
|
590
590
|
edc_consent/modelform_mixins/consent_modelform_mixin/__init__.py,sha256=qg__oajqZP9ktA4BvoevB-hoYfAXTKCmhQyO4g-Dk04,196
|
|
@@ -593,9 +593,9 @@ edc_consent/modelform_mixins/consent_modelform_mixin/consent_modelform_mixin.py,
|
|
|
593
593
|
edc_consent/modelform_mixins/consent_modelform_mixin/consent_modelform_validation_mixin.py,sha256=Wwo3l-pdFlLkK8q50GkaCyPUXtuPJXODqYfb3HF1jDw,9613
|
|
594
594
|
edc_consent/modelform_mixins/consent_modelform_mixin/review_fields_modelform_mixin.py,sha256=HOiWpf8SnPaGMtRbKM6uAglbV1HmQWdzxSoyQW1ab2U,1922
|
|
595
595
|
edc_consent/modelform_mixins/requires_consent_modelform_mixin.py,sha256=-rQAmOvl1fx8-lEUB6M4V7tqaTqDRxtid002EWYPIxM,2340
|
|
596
|
-
edc_consent/models/__init__.py,sha256=
|
|
596
|
+
edc_consent/models/__init__.py,sha256=hBdNWnac5MtlZATkOKZHUelMRn2M6jPCgGktCio5Wgk,282
|
|
597
597
|
edc_consent/models/edc_permissions.py,sha256=f9PWQ1ZFz4rKT7wFpfr8anQ7mV6sCdNaWNMimPLGae8,338
|
|
598
|
-
edc_consent/models/signals.py,sha256=
|
|
598
|
+
edc_consent/models/signals.py,sha256=vhLiZPwSinm_CXh-r9Ty_Xaja5okvqrSFCkDp6DHylc,3020
|
|
599
599
|
edc_consent/navbars.py,sha256=Bqb2UfOCLL6yuT_fSvKYQymbBj7V6q9CwvmI-VdUmls,334
|
|
600
600
|
edc_consent/site_consents.py,sha256=jQYufDBievxoyOlC0Q1Llxv9xYqCEyk58Q1Fg_cu3mY,16882
|
|
601
601
|
edc_consent/stubs.py,sha256=ZXjNqT6nBHRFHCB5tCOzBC3ZdiiBR3IitygO3FldTZA,513
|
|
@@ -732,7 +732,7 @@ edc_dashboard/utils.py,sha256=iGVPtEUXzG5_MU5SvgjbA5qQ4aZOF226ENpApAB5Xg4,1447
|
|
|
732
732
|
edc_dashboard/view_mixins/__init__.py,sha256=B7ZVw0KOZ0cPkJRv40r0jG3Nwyb2uUjDbjz-e4JKT7o,287
|
|
733
733
|
edc_dashboard/view_mixins/administration_view_mixin.py,sha256=6kubyQ3UuPYCf2A3bt9XH33EUGu8zRoLRZYiHMFOXVA,3671
|
|
734
734
|
edc_dashboard/view_mixins/edc_view_mixin.py,sha256=8bFVBJAgbydluu8kvpcNGFTOE_xeJs1wROrzmvCuzvU,2957
|
|
735
|
-
edc_dashboard/view_mixins/message_view_mixin.py,sha256=
|
|
735
|
+
edc_dashboard/view_mixins/message_view_mixin.py,sha256=09qg6KcpUvd8jb0z9I7665O82-TvsYsTrG8k0GbQOdM,1420
|
|
736
736
|
edc_dashboard/view_mixins/template_request_context_mixin.py,sha256=NMvboUNf0L23QRYgaXXH9Na6ZGgsymuEp_LB3rt59AU,1013
|
|
737
737
|
edc_dashboard/view_mixins/url_request_context_mixin.py,sha256=KynhaGsRzsquvtxXN1oqK3cNWto6oF3nZMM5HJCDGus,2116
|
|
738
738
|
edc_dashboard/views/__init__.py,sha256=QLp3TlaQutQYjqAjR38EqCAr10evzZcW1ikzZC27enc,201
|
|
@@ -1184,12 +1184,12 @@ edc_glucose/model_mixins/ogtt_model_mixin.py,sha256=O4EwgHyVTGnA0POdD95CDWJ6Mi6y
|
|
|
1184
1184
|
edc_glucose/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1185
1185
|
edc_glucose/utils.py,sha256=-v_0y24hSNKhcZ4wOK-2Qei4sgqVzPuJPXIs1Zo50sk,1420
|
|
1186
1186
|
edc_identifier/__init__.py,sha256=kkhaH8PAtHEohoVF2VENZfZmXeKyAnHWJHS1NEWuLyM,97
|
|
1187
|
-
edc_identifier/admin.py,sha256=
|
|
1187
|
+
edc_identifier/admin.py,sha256=OTkIrDEQW4nfcDyKkWKm-s6qKWUBiuquELUErbf48gs,1786
|
|
1188
1188
|
edc_identifier/admin_site.py,sha256=Aev8xku-hX60RlijUe5IJrpxEdiceLbnc4kdLN7uX3g,173
|
|
1189
1189
|
edc_identifier/apps.py,sha256=kuK5x7h3i3k6aFrSnHIPmgkHrcPaIvXif5dVnbbiq-8,584
|
|
1190
1190
|
edc_identifier/checkdigit_mixins.py,sha256=GxnOjfkwEzfoV1bQyJGDW5y-O8wmzvSVziQCqMMC4Eg,850
|
|
1191
1191
|
edc_identifier/exceptions.py,sha256=ByPaQlE9XHGaIhK37yNn2vMRbfbOcI4hqu4AG9cY-Ko,451
|
|
1192
|
-
edc_identifier/identifier.py,sha256=
|
|
1192
|
+
edc_identifier/identifier.py,sha256=NGL19KsOHSyLpPmiR1ky2lJWn5Bul6Wxt2z-Byp36ek,4579
|
|
1193
1193
|
edc_identifier/managers.py,sha256=JbjunoJnb8PRTGycJXSrfhqzajitb7m1k0a-EOirADs,362
|
|
1194
1194
|
edc_identifier/migrations/0001_initial.py,sha256=d1NniUjz-ZyZeXlFrAEBYB5VUBhMCJsn6nblOWWGJ-A,10487
|
|
1195
1195
|
edc_identifier/migrations/0001_squashed_0018_auto_20180128_1054.py,sha256=RCIPCLsIj4R0y7ozBiz5hHWbM85WBNatIVDseDEMFmA,8216
|
|
@@ -1222,16 +1222,16 @@ edc_identifier/migrations/0016_auto_20180116_1411.py,sha256=c16cIRyB_1kI28ZMiera
|
|
|
1222
1222
|
edc_identifier/migrations/0017_identifiermodel_subject_identifier.py,sha256=vOmgbP9nCNjVVNQ4WS50pEuCbYMSqQHQI8bqhiPA_Fk,406
|
|
1223
1223
|
edc_identifier/migrations/0018_auto_20180128_1054.py,sha256=PqOVF8PuAiUIlVIulVt4q2TlAreKiVeyZE2ynsoI8Zs,421
|
|
1224
1224
|
edc_identifier/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1225
|
-
edc_identifier/model_mixins.py,sha256=
|
|
1226
|
-
edc_identifier/models.py,sha256=
|
|
1225
|
+
edc_identifier/model_mixins.py,sha256=9N75xdk1TZ-qipyMhKDB6dnIKsF0RnG3ihHbWM9p4jI,5170
|
|
1226
|
+
edc_identifier/models.py,sha256=O8RxeiKYXneQ5Kd22jWlaU7JWCLBc6ou4mInPvbaDDg,1802
|
|
1227
1227
|
edc_identifier/offline_models.py,sha256=Wp4XmewC6gi1MCBq0q0W0Z6gdgJyXBhOQR_DZkfP9tw,131
|
|
1228
|
-
edc_identifier/research_identifier.py,sha256=
|
|
1229
|
-
edc_identifier/short_identifier.py,sha256=
|
|
1230
|
-
edc_identifier/simple_identifier.py,sha256=
|
|
1231
|
-
edc_identifier/subject_identifier.py,sha256=
|
|
1228
|
+
edc_identifier/research_identifier.py,sha256=Qd-bBzOxiXZfyK967XZRhD5PPMnZsvUzZ9j4uBQU1e4,5504
|
|
1229
|
+
edc_identifier/short_identifier.py,sha256=0v1ICpRLzWjPVLrIdu2csaeGr-BrTjz6RFmCG03LvG4,4387
|
|
1230
|
+
edc_identifier/simple_identifier.py,sha256=blnHsN8BPFUKt3A0NlOUMGJCLu5kA7uKsCLcFS6BxX4,8070
|
|
1231
|
+
edc_identifier/subject_identifier.py,sha256=90gR-G_TeOPhUopgsOIZLHjKHjEzTzvZCwpxw_WZUEc,959
|
|
1232
1232
|
edc_identifier/templates/edc_identifier/home.html,sha256=2yWn5pkbOjJoWlEe4FnydQ8m1ZpV1c1wRYHWqpMaBWI,50
|
|
1233
1233
|
edc_identifier/urls.py,sha256=2v7PVFXITlK1hgmbVOg081MIcBUNrdHdAQmnStWoU0w,309
|
|
1234
|
-
edc_identifier/utils.py,sha256=
|
|
1234
|
+
edc_identifier/utils.py,sha256=kKcafKQsrJWuQJpq1mXpqf9CNDGisItZYW4Rmzmive4,1661
|
|
1235
1235
|
edc_identifier/views.py,sha256=eLbe2d25DMB4xdHSQDGoI4kJtE8R1PSYyDvw2tduHL8,436
|
|
1236
1236
|
edc_lab/__init__.py,sha256=q0295ZgI17zE6gG-dGlQq72k1edortYGFM-JEZpU8Q0,548
|
|
1237
1237
|
edc_lab/admin/__init__.py,sha256=Gyps9t4SaJWHjqjvjxZt-MWe63JleYCWTp6IEltfTIo,764
|
|
@@ -1620,7 +1620,7 @@ edc_listboard/view_mixins/__init__.py,sha256=aDbmIyoHkifzkK5DAfMJ-365NCnNGs-Ocwk
|
|
|
1620
1620
|
edc_listboard/view_mixins/listboard_filter_view_mixin.py,sha256=pApr0k8a6FKzJXTjpejO1QluV-7_p6CT_QWqEdLnPbE,2811
|
|
1621
1621
|
edc_listboard/view_mixins/querystring_view_mixin.py,sha256=T4O3i6-A2-jZdK863fjf0NFWv2mCXICb6YMQ2qJTfSk,938
|
|
1622
1622
|
edc_listboard/view_mixins/search_form_view_mixin.py,sha256=6uitlsgTtUhVCH33a4gxrqBckiCLOt3N8sPY8yGB_jo,1154
|
|
1623
|
-
edc_listboard/view_mixins/search_listboard_view_mixin.py,sha256=
|
|
1623
|
+
edc_listboard/view_mixins/search_listboard_view_mixin.py,sha256=JpaokTmoChgr3HE2-UhI8vMd6Vfxl0estr_CMQb-WWI,2953
|
|
1624
1624
|
edc_listboard/views/__init__.py,sha256=IqobRNiACZF8HApUabAHhCUqoGJhzmHxApaTqFxVkPY,127
|
|
1625
1625
|
edc_listboard/views/listboard_view.py,sha256=-3g3umgXCTw0u07TWSptQJpIaUfGfqLxB3WLrzErSus,8360
|
|
1626
1626
|
edc_listboard/views/screen/__init__.py,sha256=oEl02vybLD26Ph-4wJgYhTyuh5C6zowqVLz8680olo4,105
|
|
@@ -1832,7 +1832,7 @@ edc_metadata/update_metadata_on_schedule_change.py,sha256=YOvZlF2FZS4AxVulzR_hsi
|
|
|
1832
1832
|
edc_metadata/urls.py,sha256=K98KOcuIuLJn6j3-qalILJsZMvpQmc_nWgw0HqLEOQU,296
|
|
1833
1833
|
edc_metadata/utils.py,sha256=tzx2l65DjRh--IvAFLizTmhCReX_ZA40YFan-GJpU9Y,4340
|
|
1834
1834
|
edc_metadata/view_mixins/__init__.py,sha256=CCQC81_bpGBpDYl7FInMwbjOcyyu5ng9MFFTzMiwEMQ,51
|
|
1835
|
-
edc_metadata/view_mixins/metadata_view_mixin.py,sha256=
|
|
1835
|
+
edc_metadata/view_mixins/metadata_view_mixin.py,sha256=wiYn23cjSKLtrPRJZw-aT1bYsTDTSERI_iO0V3KyvVQ,1736
|
|
1836
1836
|
edc_metadata/views/__init__.py,sha256=c7YFXwUJ3jN7usyMBG61eS6DI9MziY0lo9mu3eR1908,102
|
|
1837
1837
|
edc_metadata/views/home_view.py,sha256=JFrMLb3x_O3LA0o1XR1SpE1gyLLm6qCGPSMm6U4kkpQ,434
|
|
1838
1838
|
edc_metadata/views/refresh_metadata_actions_view.py,sha256=R5bWBTrri3yJetiP90k-d8UYYxRLs40bHcSbmGtRYRY,2672
|
|
@@ -1987,7 +1987,7 @@ edc_navbar/migrations/0009_alter_edcpermissions_device_created_and_more.py,sha25
|
|
|
1987
1987
|
edc_navbar/migrations/0010_alter_edcpermissions_revision.py,sha256=fbma4ZbSTYMqZug7ZJJ_D2ckFO2A8Koqwp1sn_BxJws,789
|
|
1988
1988
|
edc_navbar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1989
1989
|
edc_navbar/models.py,sha256=K4enndi4ov-N--3LQWeez3yuCMzmbaVGd7J72q_f73Q,306
|
|
1990
|
-
edc_navbar/navbar.py,sha256=
|
|
1990
|
+
edc_navbar/navbar.py,sha256=rtB6t9h1etGahyYIFMVLVy_1s9FYL3dfvxUXI73bAJY,1705
|
|
1991
1991
|
edc_navbar/navbar_item.py,sha256=bCj301HLa1ECzlFm_U1kYw4NPuBlyfWMovQQraI6iB0,1782
|
|
1992
1992
|
edc_navbar/navbars.py,sha256=gyEgEowvluQheEVfejWzLbog7FwUl-oRu8KvTG3oEO4,1157
|
|
1993
1993
|
edc_navbar/site_navbars.py,sha256=OcutGzhI2uyEqi8eGhhihId8mmZFRSIFcjpTKPszvyY,4220
|
|
@@ -2764,15 +2764,16 @@ edc_qareports/templates/edc_qareports/qa_report_note.html,sha256=FnHwiHvucF90gnQ
|
|
|
2764
2764
|
edc_qareports/urls.py,sha256=2QK5ajM8JPflnnp-nPybb9n_SxUZF-tzoW0WpcpFFZs,296
|
|
2765
2765
|
edc_qareports/utils.py,sha256=yy_gHhLgKabU_lfVTU4QTE1hSBfipy7yny2WD2-dZBE,4058
|
|
2766
2766
|
edc_randomization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2767
|
-
edc_randomization/admin.py,sha256=
|
|
2767
|
+
edc_randomization/admin.py,sha256=g9x71IyTXgcrg8dNL_kJ1lSU2asfC-GqlMv62jofFuM,5939
|
|
2768
2768
|
edc_randomization/admin_site.py,sha256=FC1NwilwEAiUkD8ZrXARElDHugMrzmfL_CPrKR8_MP8,185
|
|
2769
|
-
edc_randomization/apps.py,sha256=
|
|
2770
|
-
edc_randomization/auth_objects.py,sha256=
|
|
2769
|
+
edc_randomization/apps.py,sha256=QKnAPbUF_PNkUjadujqWD8FvgQW0HhMV1TCHfHXHCIM,728
|
|
2770
|
+
edc_randomization/auth_objects.py,sha256=wfQZyQNKBcQNs5kVIfmm5enWbn9NPScz4s_IYu63RIM,3200
|
|
2771
2771
|
edc_randomization/auths.py,sha256=SxhYd1vZkjgblT2_YoabhcLIroi-A0VJ7IExnlFNpr8,860
|
|
2772
|
-
edc_randomization/blinding.py,sha256=
|
|
2772
|
+
edc_randomization/blinding.py,sha256=Lo2XKlBwqobOsw0EoCe3CxU3Byfzy47AdRKiLAeAd-M,2198
|
|
2773
2773
|
edc_randomization/choices.py,sha256=OZWHp-QqeEoLSr0R4XhJpscPy9k1HCBeyVvWMLB13kk,137
|
|
2774
2774
|
edc_randomization/constants.py,sha256=WcbX-XPWydixQ6jBwk2rs1xEXAfEvcdBEyU7w5vUtI8,385
|
|
2775
|
-
edc_randomization/decorators.py,sha256=
|
|
2775
|
+
edc_randomization/decorators.py,sha256=X9BbD3RZLmbshOLZHRKWg1mM9biNYvC9zoLQLmi7zUE,676
|
|
2776
|
+
edc_randomization/exceptions.py,sha256=l7LWBVWFiMIb1IiWh0PLamazqTVXG4SlvkW28ABVYqA,1141
|
|
2776
2777
|
edc_randomization/migrations/0001_initial.py,sha256=AIwB1QuiIdnBqLXcJRTTRvR98IRuWuj5LCGhn_xt9kA,6098
|
|
2777
2778
|
edc_randomization/migrations/0002_historicalrandomizationlist.py,sha256=6ucmdv3E1FoWYvl4XPs5EhQKRIcBkjMiQQS4EXCGMaY,7191
|
|
2778
2779
|
edc_randomization/migrations/0003_auto_20191024_0426.py,sha256=H0ezbsuy80W5RyilNhWLqGHMjni9mPvHKQrwVdGhzdw,485
|
|
@@ -2789,18 +2790,18 @@ edc_randomization/migrations/0013_alter_edcpermissions_revision_and_more.py,sha2
|
|
|
2789
2790
|
edc_randomization/migrations/0014_alter_edcpermissions_device_created_and_more.py,sha256=oLNjuC-TkyTZNsos10e1GOisepx4X-r4P4yGnwu-95U,4771
|
|
2790
2791
|
edc_randomization/migrations/0015_alter_edcpermissions_revision_and_more.py,sha256=cPhN0Lh_MBe7e2CkprclFIyj-110FZ3waZULUeCt-Jg,1806
|
|
2791
2792
|
edc_randomization/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2792
|
-
edc_randomization/model_mixins.py,sha256=
|
|
2793
|
+
edc_randomization/model_mixins.py,sha256=BJe7eLxveTFNPIS7hz7796hSL0DFvTml03HmNih3tQs,3809
|
|
2793
2794
|
edc_randomization/models/__init__.py,sha256=iaJ6FM7VVqLpp8M-OjVWjohp4ELdxtPXqbEiT3iN5Tw,94
|
|
2794
2795
|
edc_randomization/models/edc_permissions.py,sha256=f6P4zXxLQdTAbn2KnFlwfE86Lmzj7Ecp4JJ2F8mrwTc,286
|
|
2795
2796
|
edc_randomization/models/randomization_list.py,sha256=Hd5yUSZ5HBKhNzYdlbJufab8U2x3Dzw8n4WXnYzJxyc,253
|
|
2796
|
-
edc_randomization/randomization_list_importer.py,sha256=
|
|
2797
|
-
edc_randomization/randomization_list_verifier.py,sha256=
|
|
2798
|
-
edc_randomization/randomizer.py,sha256=
|
|
2797
|
+
edc_randomization/randomization_list_importer.py,sha256=YZG5Z0faOD85UpIFLkwt9Hq-2IAyI43xGINdhzI5YKQ,12815
|
|
2798
|
+
edc_randomization/randomization_list_verifier.py,sha256=A0LRQkI-pMt9TaJ3kps5LncMJZaz5eMdRFDeI35fIGo,6918
|
|
2799
|
+
edc_randomization/randomizer.py,sha256=_LYZp7gmpOIkovCs7TfAt78wb_Kl4iV6I85YIxgQ5pg,12729
|
|
2799
2800
|
edc_randomization/randomizers.py,sha256=JvMDAnsgvRZkl50Bawm2iLsyw3bfWfGwBafn54K5g44,297
|
|
2800
|
-
edc_randomization/site_randomizers.py,sha256=
|
|
2801
|
-
edc_randomization/system_checks.py,sha256=
|
|
2801
|
+
edc_randomization/site_randomizers.py,sha256=CcHRz_J6OlJ64-iNul_LOHM0ai6SbcX5AMDrFFMewDA,4390
|
|
2802
|
+
edc_randomization/system_checks.py,sha256=ryGqND9mS0u05MSU-wBBfX-HaOdoFMdWok25uM2Mcdo,3039
|
|
2802
2803
|
edc_randomization/urls.py,sha256=yQnOoy5U5uL00f7_JJcZk7toskmZunG_kJdl-epCV9U,223
|
|
2803
|
-
edc_randomization/utils.py,sha256=
|
|
2804
|
+
edc_randomization/utils.py,sha256=Os5YtrI4RDGnudmE5nuTxXiuBWqekObipWfF79etkmE,5697
|
|
2804
2805
|
edc_randomization/views.py,sha256=mQnAoYzIbqXFXablJbPY3NdJc4K3fD4le-GOF2kpMmE,340
|
|
2805
2806
|
edc_refusal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2806
2807
|
edc_refusal/admin.py,sha256=upce4HEPyPYKTe_R_krQ9TaLufcJN50c0lw4JrzbTwE,2151
|
|
@@ -2953,7 +2954,7 @@ edc_review_dashboard/apps.py,sha256=oE7NrIwzeRqMzLbWe_6Mt-CqzDAw5zASwZDbdaqJP1o,
|
|
|
2953
2954
|
edc_review_dashboard/auths.py,sha256=3Xe7yNnuOx4Kc8fwVGte0xmDYsaCZUevJQUSbRL55mU,1148
|
|
2954
2955
|
edc_review_dashboard/dashboard_templates.py,sha256=hzHXLHoOjZTR0gScZkna8qAHY7yotK4QVByfPtWY_p8,174
|
|
2955
2956
|
edc_review_dashboard/locale/sw/LC_MESSAGES/django.po,sha256=NQNFg4l5mpOCUwe9dkKYZ6VMS822ZiaSEAD5g4gPgEk,930
|
|
2956
|
-
edc_review_dashboard/middleware.py,sha256=
|
|
2957
|
+
edc_review_dashboard/middleware.py,sha256=OYzEnaLViv7Ir1tVwscq5-jMc8Rr5MP-1ju84R1tU1A,767
|
|
2957
2958
|
edc_review_dashboard/migrations/0001_initial.py,sha256=2vQfWw_dXF2tm55w3iUTgyvp_Xl54rmYuimyhr1wJAM,3884
|
|
2958
2959
|
edc_review_dashboard/migrations/0002_auto_20220825_0451.py,sha256=i9aOYzLQs5ql2L1muL19OEF9-ZRC2kjaWWXuodTzd5Y,579
|
|
2959
2960
|
edc_review_dashboard/migrations/0003_alter_edcpermissions_device_created_and_more.py,sha256=fwRe2loBVqpl5oAzggeV1sD4hRVr-3eqOOII691lvEg,1554
|
|
@@ -2970,19 +2971,19 @@ edc_review_dashboard/templates/edc_review_dashboard/subject_review_button.html,s
|
|
|
2970
2971
|
edc_review_dashboard/templates/edc_review_dashboard/subject_review_listboard.html,sha256=UKar7ZSkUYo9kosBpB0YQ5gz1UIawWX-oyhvXjOsaYA,4539
|
|
2971
2972
|
edc_review_dashboard/urls.py,sha256=W_a0EsvqNTut0Ji7Oi32RPDgxqAtg3CuG8snI9Qy5UY,558
|
|
2972
2973
|
edc_review_dashboard/views/__init__.py,sha256=SPOYk6ibkFyId4iVtMR62pQpJ0Lpa77AUVg4naRqYRk,70
|
|
2973
|
-
edc_review_dashboard/views/subject_review_listboard_view.py,sha256=
|
|
2974
|
+
edc_review_dashboard/views/subject_review_listboard_view.py,sha256=TUL9__RAwckpBMxjd1L3LWqVjzBfRPaKBJKUrpaR2d4,2684
|
|
2974
2975
|
edc_screening/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2975
|
-
edc_screening/age_evaluator.py,sha256=
|
|
2976
|
+
edc_screening/age_evaluator.py,sha256=PwhHilXyvl222fYgfn-dCfMAI4EeVuQxdCdDNWh_NSo,1265
|
|
2976
2977
|
edc_screening/apps.py,sha256=O2ZdsusCjy7LOrv2BWm3vX_l32FsL4HHlaz6iUiMQyw,151
|
|
2977
2978
|
edc_screening/auth_objects.py,sha256=tNks5_2gexmVmUtKh5FQY8jPwNXgfdTD3H_yzmOhCys,128
|
|
2978
2979
|
edc_screening/auths.py,sha256=NwJREYHgMBkuvCo43PZXtzEcwnFK13EB_peHqdPAh4U,1592
|
|
2979
2980
|
edc_screening/choices.py,sha256=e8qx6dPCqTcgCTSRmzhciueOWxHPP1dbvvV0kpd2-P4,325
|
|
2980
2981
|
edc_screening/constants.py,sha256=0oIMMeCJdhsVqlVTUQx4doLZVChyLYWNnCxqC3Cnm8E,52
|
|
2981
|
-
edc_screening/eligibility.py,sha256=
|
|
2982
|
-
edc_screening/exceptions.py,sha256=
|
|
2982
|
+
edc_screening/eligibility.py,sha256=nY3mNUOCr4NEaofAw8PLlSnU9TpaATou5jiEIkNBd1s,2941
|
|
2983
|
+
edc_screening/exceptions.py,sha256=QWkbDF7kh1XVVDWRcIJW0V7hVZTkeXsvQxmsWI98HJA,669
|
|
2983
2984
|
edc_screening/fc.py,sha256=KSAKKORJhUept2a9Mq9mAdUeQQbpfvHPSiMTOdSgzuc,894
|
|
2984
2985
|
edc_screening/form_validator_mixins.py,sha256=DBU3ewkzxTtO4lKtRGvhiWbDdtVcUS6vr5SEmMS1D20,1903
|
|
2985
|
-
edc_screening/gender_evaluator.py,sha256=
|
|
2986
|
+
edc_screening/gender_evaluator.py,sha256=RqHwcXDTZibdM16NwEnNeMmRok3djyOknb8-7rEV3bU,399
|
|
2986
2987
|
edc_screening/migrations/0001_initial.py,sha256=HNLX2wzHJRZOUeJONktV6LcqMX3ANacbY7QBTSuqcXU,3657
|
|
2987
2988
|
edc_screening/migrations/0002_alter_edcpermissions_device_created_and_more.py,sha256=0iV-Bl2i4eKCmqgb3VgG8eYUmljDvUmNDFbKgPqyfRo,1536
|
|
2988
2989
|
edc_screening/migrations/0003_alter_edcpermissions_options_and_more.py,sha256=DahSnLRqkQ7FN4wHFGhgl2ILXjpb8y9FdudAl2GXtJE,1949
|
|
@@ -2996,12 +2997,12 @@ edc_screening/model_mixins/screening_fields_model_mixin.py,sha256=KsVwIYuFFNx_2y
|
|
|
2996
2997
|
edc_screening/model_mixins/screening_identifier_model_mixin.py,sha256=2lkd0KmBWSFf_68U609voFP_97AKwp6HKQuud5zzBT0,1728
|
|
2997
2998
|
edc_screening/model_mixins/screening_methods_model_mixin.py,sha256=N6VDi6Sq0TVshvERY61Su3qL2hi7uBScvSYDj9mbBpE,840
|
|
2998
2999
|
edc_screening/model_mixins/screening_model_mixin.py,sha256=P8ZDj0NIb93ItKJNumU5Xxz_oUhVLVN6jhvjqAyCVfU,1459
|
|
2999
|
-
edc_screening/modelform_mixins.py,sha256=
|
|
3000
|
+
edc_screening/modelform_mixins.py,sha256=EAhiEs9N4Wn1w5r_vgEUVtl8A_vBl6py58_MzncyFYg,1508
|
|
3000
3001
|
edc_screening/models.py,sha256=K4enndi4ov-N--3LQWeez3yuCMzmbaVGd7J72q_f73Q,306
|
|
3001
|
-
edc_screening/screening_eligibility.py,sha256=
|
|
3002
|
+
edc_screening/screening_eligibility.py,sha256=o_AVtJL16TiC7UBKBzm7v4_CbzUYmpIEwZvB1d-VkmI,9361
|
|
3002
3003
|
edc_screening/screening_identifier.py,sha256=EeQGCCj8eSFKR50GKYPG2ZB_utDcKjpUhcafYvcLMDk,318
|
|
3003
3004
|
edc_screening/stubs.py,sha256=eFNCW8LQrN8LIYtTIvivvt8tGCSd7GZ92MJuXLo363Q,608
|
|
3004
|
-
edc_screening/utils.py,sha256=
|
|
3005
|
+
edc_screening/utils.py,sha256=E5sMZHHq5HwsP6EMWKlz4_Ic6S17_XC8dzJfA9T422I,4722
|
|
3005
3006
|
edc_search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3006
3007
|
edc_search/apps.py,sha256=FVRplFa-i0FIYsFB0g4fRruRVlykiwnRRtEkoJmU_yI,113
|
|
3007
3008
|
edc_search/generate_slug.py,sha256=FXatw6FWfSuwqYtpTffJ_ESeUiI47MV11dnnOc-HWG8,817
|
|
@@ -3009,19 +3010,19 @@ edc_search/model_mixins.py,sha256=LHPFV-rlVTtnqqSN8ZF3V1Umbv31oUBSPYf-KqgMnwc,95
|
|
|
3009
3010
|
edc_search/urls.py,sha256=_sVCnQeiAFRYKhxga3_DjoKj_4bgs1s2gjcynDiapvA,111
|
|
3010
3011
|
edc_sites/__init__.py,sha256=IwBGYTNMywiVvkVOJLfxAvUeIpBiAR0DBjSgvy15Gf8,64
|
|
3011
3012
|
edc_sites/admin/__init__.py,sha256=WSOdF91qWcdhb4EUqmbKw7yaFMtljf5YWu-K8fdvBAs,214
|
|
3012
|
-
edc_sites/admin/list_filters.py,sha256=
|
|
3013
|
+
edc_sites/admin/list_filters.py,sha256=P5HE6WYLXOQkgBwGMmsln6eCGu4pBDKCJ9jdcikmKKk,923
|
|
3013
3014
|
edc_sites/admin/site_admin.py,sha256=haNSrz3WiP_cMLv2SHRrKphVo316Z-RKJUORCPtBC5k,351
|
|
3014
3015
|
edc_sites/admin/site_fieldset_tuple.py,sha256=s_TbpCBrM2DBATFmKf6OwnDiDWvcTWc2gfl8EEUNpG8,224
|
|
3015
|
-
edc_sites/admin/site_model_admin_mixin.py,sha256=
|
|
3016
|
+
edc_sites/admin/site_model_admin_mixin.py,sha256=WhcJsQMOcosYfXP05xDm18vBZ9eD0iILj_O-4AWJhB0,8927
|
|
3016
3017
|
edc_sites/admin_site.py,sha256=AINI5Kxx8_KimVIhpPWz_9PAvMcXGzkLWnEHKAFL-6E,163
|
|
3017
3018
|
edc_sites/apps.py,sha256=MbE5MfmP676ZfwUI9Jsuf6M-KiZSmYvMqJ3zhI8BN-o,2115
|
|
3018
3019
|
edc_sites/auths.py,sha256=oda_eUVL9cyfsVqUK7vpz3X5N4aGqAupVtV_nBY44-E,299
|
|
3019
|
-
edc_sites/exceptions.py,sha256=
|
|
3020
|
+
edc_sites/exceptions.py,sha256=tONByk2eadKijHSzVLTYjgieTmUGypv8KgUP3UI3SsE,162
|
|
3020
3021
|
edc_sites/form_validator_mixin.py,sha256=eN8LMpGkNaDwLYnoeJMeZGYovqnuA2hFeEwbym_CW8w,539
|
|
3021
|
-
edc_sites/forms.py,sha256=
|
|
3022
|
+
edc_sites/forms.py,sha256=kc4S7DI-WJsHkkoyVOc0h_pFVAtVFVQK4bMIljeLCgU,83
|
|
3022
3023
|
edc_sites/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3023
3024
|
edc_sites/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3024
|
-
edc_sites/management/commands/sync_sites.py,sha256=
|
|
3025
|
+
edc_sites/management/commands/sync_sites.py,sha256=5-VBpwu5Sz_hWV9Mz3-VNNH4Y8RSfDIaj5nlANYZn44,2856
|
|
3025
3026
|
edc_sites/managers.py,sha256=Cx_8UsoGb0P0YoXXQS0g0omckL3foPLN1HPJO8Lodbc,286
|
|
3026
3027
|
edc_sites/migrations/0001_initial.py,sha256=Wlu9KZ-EUqNYTF2dHrvUxemSpOYQRyHl8WkHa-gQ8ws,1335
|
|
3027
3028
|
edc_sites/migrations/0002_auto_20190922_0452.py,sha256=a0JphBNC9dA0o0EMpil2rottvbek-kSEz0IxrqYQfTU,376
|
|
@@ -3040,19 +3041,19 @@ edc_sites/model_mixins/site_model_mixin.py,sha256=unTrWnybow0_-br604jv1kuH85xQDq
|
|
|
3040
3041
|
edc_sites/modelform_mixins.py,sha256=hSNRoJ5Uy-oOjlqaHzvMZx0M7cE6o5iu2ueqMkWGsdQ,1727
|
|
3041
3042
|
edc_sites/models/__init__.py,sha256=FOmMgO0Re1RVjvqEsEHXOF5BvDe2BqVCpQvySAvuh54,124
|
|
3042
3043
|
edc_sites/models/edc_permissions.py,sha256=K4enndi4ov-N--3LQWeez3yuCMzmbaVGd7J72q_f73Q,306
|
|
3043
|
-
edc_sites/models/site_profile.py,sha256=
|
|
3044
|
-
edc_sites/post_migrate_signals.py,sha256=
|
|
3044
|
+
edc_sites/models/site_profile.py,sha256=TXYBSA4F0-lRk0W_sfO7ljJg0pVoeqcvLR0n2nYvL5w,726
|
|
3045
|
+
edc_sites/post_migrate_signals.py,sha256=E4Nz7Q2qEGLZA6c0t2Oh4gQMI81mnCz1boHTRrAjqb0,565
|
|
3045
3046
|
edc_sites/single_site/__init__.py,sha256=4ZQgZWC4L2LyX46b7UMZgFzcS8GBWpszXvUWl8OWraw,197
|
|
3046
3047
|
edc_sites/single_site/get_languages.py,sha256=wvFxnz0TRMwvPBGpHupQaZLleX7nyGLCN4zE53FwBxU,848
|
|
3047
3048
|
edc_sites/single_site/get_languages_from_settings.py,sha256=97Q8iYoGqRsvbdcUk8kA0nKT1zLzWPOsxhzL1LXCPUY,395
|
|
3048
3049
|
edc_sites/single_site/single_site.py,sha256=Mdm3Rga_jlgih1bN5b_M_oouEpjplkbPn4VDcCdD4xU,894
|
|
3049
|
-
edc_sites/site.py,sha256=
|
|
3050
|
+
edc_sites/site.py,sha256=kLVk4xKbg1ZSl7V5x-A21xodsdtx3aNABWiPLVxJ5HQ,12166
|
|
3050
3051
|
edc_sites/system_checks.py,sha256=LjQ2SiKuu73HLHktR663u36MQB5jwN-5Gj6-_qgnw6Q,3639
|
|
3051
3052
|
edc_sites/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3052
3053
|
edc_sites/templatetags/edc_sites_extras.py,sha256=psMeeqrKOkdmeJlqVHGNY_lPlUFpvflPDhXqb6UeLOY,188
|
|
3053
3054
|
edc_sites/urls.py,sha256=XUYhimFMY3YTt8A44-wYAaUd0aBPUDl0MNmIxXxBmU4,281
|
|
3054
3055
|
edc_sites/utils/__init__.py,sha256=R1iguQwSmEhpwYcs0xNUCul2tqTkA6wS2x1MjqLd7uc,482
|
|
3055
|
-
edc_sites/utils/add_or_update_django_sites.py,sha256=
|
|
3056
|
+
edc_sites/utils/add_or_update_django_sites.py,sha256=Sg0CbKecK85EYETSmz11dzExkdSSXca9g2_SoMKRJCU,2082
|
|
3056
3057
|
edc_sites/utils/get_message_text.py,sha256=0oWQvOD8Y3eVa80WVbvgHyj529MS1yzJwz7JLUgv8Ms,675
|
|
3057
3058
|
edc_sites/utils/get_or_create_site_obj.py,sha256=PbLj-im-5E2vtGhRYEKLAUAYOR2JWg4WMeHNaMKGpXg,989
|
|
3058
3059
|
edc_sites/utils/get_or_create_site_profile_obj.py,sha256=zY2YJXEIZPvSK_UeYyF0IuvjZPSp4ti3BlKvGY1isFw,920
|
|
@@ -3060,8 +3061,8 @@ edc_sites/utils/get_site_model_cls.py,sha256=xRLvecBArO_-CMNGyOEEQIILqbU83fPUYUv
|
|
|
3060
3061
|
edc_sites/utils/has_profile_or_raise.py,sha256=GJ64qe92mxxZqNGyRO1a_ke174S4BdNXtH01bgn6a9M,828
|
|
3061
3062
|
edc_sites/utils/insert_into_domain.py,sha256=Qqmwu7ZL2ibjJihyXCm-h5lb81XLzDruuUVMtYHAjy4,207
|
|
3062
3063
|
edc_sites/utils/is_current_site_or_raise.py,sha256=eBV9n5uzQhYWWeu_dj2-QQW3pSxoVJ6x4tpWeQphErM,463
|
|
3063
|
-
edc_sites/utils/valid_site_for_subject_or_raise.py,sha256=
|
|
3064
|
-
edc_sites/view_mixins.py,sha256
|
|
3064
|
+
edc_sites/utils/valid_site_for_subject_or_raise.py,sha256=DbHEDuE3I2XD9h1kk2uv5FSe5zm1O9j81R1vDhDTyhw,2013
|
|
3065
|
+
edc_sites/view_mixins.py,sha256=cP7Retlz3dkd-AJ0Hky2nOcoBv5gjyCFIpxNfA6-kHE,952
|
|
3065
3066
|
edc_subject_dashboard/__init__.py,sha256=ecLybhWo_8tq7c9HlBHnalvJTfxFkW7lg8o79xjoh5I,260
|
|
3066
3067
|
edc_subject_dashboard/apps.py,sha256=wbvA8hlNAD77U8k9vWYLpBRBNWCGLDzcb7rKpVFeRJU,275
|
|
3067
3068
|
edc_subject_dashboard/auths.py,sha256=wYxSu_3BLCW94weUN4FoYYQ6dJv9ojZeLECDBLs5PNc,1253
|
|
@@ -3122,7 +3123,7 @@ edc_subject_dashboard/view_utils/go_to_forms_button.py,sha256=8tY4LC2CuBxqsmZBC1
|
|
|
3122
3123
|
edc_subject_dashboard/view_utils/requisition_button.py,sha256=fS-_AglX3TnU00_MxBBRRzvMVVEpEarVHS8AOtjxuYw,1019
|
|
3123
3124
|
edc_subject_dashboard/view_utils/subject_consent_dashboard_button.py,sha256=HfXb0Y9wPfZZ7MyjTVqwrXfLfhbr2hBprMx4ofjox00,1187
|
|
3124
3125
|
edc_subject_dashboard/view_utils/subject_consent_listboard_button.py,sha256=Qq922qZOhJ-7PvIM3m6jOSvXIU-oO9xzhr0EiWaoKO0,3015
|
|
3125
|
-
edc_subject_dashboard/view_utils/subject_screening_button.py,sha256=
|
|
3126
|
+
edc_subject_dashboard/view_utils/subject_screening_button.py,sha256=c5NUhsqXGtK7J7Sh-zqXCdCKZDSOvxjJINiDMNiC3-U,1606
|
|
3126
3127
|
edc_subject_dashboard/view_utils/timepoint_status_button.py,sha256=tXdE8pV38OMnpBNpLHoEhMufMh-41SaE2GCraK5HvzI,3163
|
|
3127
3128
|
edc_subject_dashboard/views/__init__.py,sha256=-PjvFdwPDVNFjlBtwC2rUpONdlQxjhx_N0na9LKMCG4,266
|
|
3128
3129
|
edc_subject_dashboard/views/base_requisition_view.py,sha256=OWmoZuRLLwOW8ABvyHYtOHhfQ3l8U9Is7OiS_YEkzpA,1136
|
|
@@ -3212,7 +3213,7 @@ edc_utils/sqlite.py,sha256=nFT4x0gxG9K6Eru_8mkwOGZLQV9jKt2tnxbQUHQU7mE,235
|
|
|
3212
3213
|
edc_utils/text.py,sha256=18lidD2CE2hSXgtydZFs5H723fW1EZ56JyzG1VEfD3U,3526
|
|
3213
3214
|
edc_view_utils/__init__.py,sha256=wH6dVBlPnKBYW8AlN0YTsTk4dyGCI3POMMCY-hCmxO4,610
|
|
3214
3215
|
edc_view_utils/apps.py,sha256=Fw_b7JzNByXHdk0CHPmIqM9jAIhaI9biTYy_npnNy80,231
|
|
3215
|
-
edc_view_utils/dashboard_model_button.py,sha256=
|
|
3216
|
+
edc_view_utils/dashboard_model_button.py,sha256=7WAR3HOYuzm9NsG5Nu0z7EOxu90DdbAl8SBQLUeAq5g,1897
|
|
3216
3217
|
edc_view_utils/history_button.py,sha256=nd_P_Df0dSflC14r4XnjhK0eq8v8xJZutFIAt5K28MU,1243
|
|
3217
3218
|
edc_view_utils/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3218
3219
|
edc_view_utils/model_button.py,sha256=C0XUMJZGX6G-8m-jxCs99WW11f9-PZq0Fg_KzCZF8Bw,4487
|
|
@@ -3291,7 +3292,7 @@ edc_visit_schedule/schedule/schedule.py,sha256=ROUNin-k1oJVtx_wEXwlj5xrhTw3I_6Ve
|
|
|
3291
3292
|
edc_visit_schedule/schedule/visit_collection.py,sha256=9OJKrLtx-H0eL9oo0dsRqYGPICiAMqEF4xIhhlinx0A,2033
|
|
3292
3293
|
edc_visit_schedule/schedule/window.py,sha256=gsXW7z3P84h6kWX7e7CABmalyLGgbbIwe0Q6atIbyEI,5229
|
|
3293
3294
|
edc_visit_schedule/simple_model_validator.py,sha256=5lMyVrrlAy4HxLmAqM3he7D2ssCJoyjAWDWnFmJwRT0,789
|
|
3294
|
-
edc_visit_schedule/site_visit_schedules.py,sha256=
|
|
3295
|
+
edc_visit_schedule/site_visit_schedules.py,sha256=MeeJjyYludPlmjrYHmnx5D6t85DZrWvPyFMgidYbewE,13087
|
|
3295
3296
|
edc_visit_schedule/subject_schedule.py,sha256=gai8sQ9nek3KEu27GL656twm0zKP3I3g510effNdIT8,16552
|
|
3296
3297
|
edc_visit_schedule/system_checks.py,sha256=Gp5DXTThRCFXyZ3dlN2S8FJPz16weonpjedcy6XIIms,9300
|
|
3297
3298
|
edc_visit_schedule/templates/edc_visit_schedule/home.html,sha256=RqtGsq6-zXi43jU0iSv24-xsIXXHkuiHjJvF-yqDyjA,1112
|
|
@@ -3406,7 +3407,7 @@ edc_vitals/models/fields/waist_circumference.py,sha256=fZcHFDdEwWLjIVLktKrFCD9UU
|
|
|
3406
3407
|
edc_vitals/models/fields/weight.py,sha256=zo9_9e3Cpu0UqoRbWS-iDkcDo6fK80b1dDQy4x4MyxE,921
|
|
3407
3408
|
edc_vitals/utils.py,sha256=vXid44KUXxeaSyund_y5MNXc5DFJs052_PwUAjszE2k,1384
|
|
3408
3409
|
edc_vitals/validators.py,sha256=vNiElWMs0rRnHRNuVoPLRf0rW_C_0xcfUyep1Y_Si5s,156
|
|
3409
|
-
clinicedc-2.0.
|
|
3410
|
-
clinicedc-2.0.
|
|
3411
|
-
clinicedc-2.0.
|
|
3412
|
-
clinicedc-2.0.
|
|
3410
|
+
clinicedc-2.0.26.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
|
3411
|
+
clinicedc-2.0.26.dist-info/WHEEL,sha256=-neZj6nU9KAMg2CnCY6T3w8J53nx1kFGw_9HfoSzM60,79
|
|
3412
|
+
clinicedc-2.0.26.dist-info/METADATA,sha256=GB5NgaBjnahJvCN28GDKHj2QxuoAECGn_cC7hmIs9cU,15787
|
|
3413
|
+
clinicedc-2.0.26.dist-info/RECORD,,
|
|
@@ -118,12 +118,12 @@ class SiteActionItemCollection:
|
|
|
118
118
|
)
|
|
119
119
|
return self.registry.get(name)
|
|
120
120
|
|
|
121
|
-
def get_by_model(self, model=None) -> type[Action] | type[ActionWithNotification]
|
|
121
|
+
def get_by_model(self, model=None) -> type[Action] | type[ActionWithNotification]:
|
|
122
122
|
"""Returns the action_cls linked to this reference model."""
|
|
123
123
|
for action_cls in self.registry.values():
|
|
124
124
|
if action_cls.get_reference_model() == model:
|
|
125
125
|
return self.get(action_cls.name)
|
|
126
|
-
|
|
126
|
+
raise SiteActionError(f"Action does not exist for this model. Got '{model}'.")
|
|
127
127
|
|
|
128
128
|
def get_add_actions_to_show(self) -> dict[str, type[Action]]:
|
|
129
129
|
return {
|
|
@@ -25,7 +25,7 @@ class AppointmentButton(DashboardModelButton):
|
|
|
25
25
|
model_obj: Appointment = None
|
|
26
26
|
colors: tuple[str, str, str] = field(default=(3 * ("default",)))
|
|
27
27
|
model_cls: type[Appointment] = field(default=None, init=False)
|
|
28
|
-
appointment: Appointment = field(default=None, init=False)
|
|
28
|
+
appointment: Appointment | None = field(default=None, init=False)
|
|
29
29
|
|
|
30
30
|
def __post_init__(self):
|
|
31
31
|
self.model_cls = django_apps.get_model("edc_appointment.appointment")
|
|
@@ -14,7 +14,7 @@ from ..actions import flag_as_verified_against_paper, unflag_as_verified_against
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class ConsentModelAdminMixin:
|
|
17
|
-
name_fields:
|
|
17
|
+
name_fields: tuple[str] = ("first_name", "last_name")
|
|
18
18
|
name_display_field: str = "first_name"
|
|
19
19
|
actions = (flag_as_verified_against_paper, unflag_as_verified_against_paper)
|
|
20
20
|
|
|
@@ -63,22 +63,26 @@ class ConsentModelAdminMixin:
|
|
|
63
63
|
"study_questions",
|
|
64
64
|
"assessment_score",
|
|
65
65
|
"consent_copy",
|
|
66
|
-
|
|
66
|
+
*original_fields,
|
|
67
|
+
)
|
|
67
68
|
|
|
68
69
|
def get_readonly_fields(self, request, obj=None) -> tuple[str, ...]:
|
|
69
70
|
readonly_fields = super().get_readonly_fields(request, obj)
|
|
70
71
|
fields = ("subject_identifier", "subject_identifier_as_pk")
|
|
71
72
|
if obj:
|
|
72
73
|
return (
|
|
73
|
-
fields
|
|
74
|
+
*fields,
|
|
75
|
+
"consent_datetime",
|
|
76
|
+
"identity",
|
|
77
|
+
"confirm_identity",
|
|
78
|
+
*readonly_fields,
|
|
74
79
|
)
|
|
75
80
|
return fields + readonly_fields
|
|
76
81
|
|
|
77
82
|
def get_search_fields(self, request) -> tuple[str, ...]:
|
|
78
83
|
search_fields: tuple[str] = super().get_search_fields(request)
|
|
79
|
-
name_fields: tuple[str] = tuple(self.name_fields)
|
|
80
84
|
return tuple(
|
|
81
|
-
|
|
85
|
+
{*search_fields, "id", "subject_identifier", *self.name_fields, "identity"}
|
|
82
86
|
)
|
|
83
87
|
|
|
84
88
|
def get_list_display(self, request) -> tuple[str, ...]:
|
|
@@ -102,10 +106,8 @@ class ConsentModelAdminMixin:
|
|
|
102
106
|
if request.user.has_perm("edc_data_manager.add_dataquery"):
|
|
103
107
|
custom_fields = list(custom_fields)
|
|
104
108
|
custom_fields.insert(3, self.queries)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
)
|
|
108
|
-
return fields
|
|
109
|
+
custom_fields = tuple(custom_fields)
|
|
110
|
+
return *custom_fields, *tuple(f for f in list_display if f not in custom_fields)
|
|
109
111
|
|
|
110
112
|
def get_list_filter(self, request) -> tuple[str, ...]:
|
|
111
113
|
list_filter = super().get_list_filter(request)
|
|
@@ -181,14 +183,14 @@ class ConsentModelAdminMixin:
|
|
|
181
183
|
if links:
|
|
182
184
|
formatted_html = format_html(
|
|
183
185
|
'<BR>{links}<BR><A title="New query" href="{new_url}">Add query</A>',
|
|
184
|
-
links=mark_safe("<BR>".join(links)), # nosec B703 B308
|
|
185
|
-
new_url=mark_safe(new_url), # nosec B703 B308
|
|
186
|
+
links=mark_safe("<BR>".join(links)), # nosec B703 B308 # noqa: S308
|
|
187
|
+
new_url=mark_safe(new_url), # nosec B703 B308 # noqa: S308
|
|
186
188
|
)
|
|
187
189
|
else:
|
|
188
190
|
formatted_html = format_html(
|
|
189
191
|
'<A title="New query" href="{new_url}?"'
|
|
190
192
|
'subject_identifier={subject_identifier}">Add query</A>',
|
|
191
|
-
new_url=mark_safe(new_url), # nosec B703 B308
|
|
193
|
+
new_url=mark_safe(new_url), # nosec B703 B308 # noqa: S308
|
|
192
194
|
subject_identifier=obj.subject_identifier,
|
|
193
195
|
)
|
|
194
196
|
return formatted_html
|
edc_consent/models/__init__.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from .edc_permissions import EdcPermissions
|
|
2
2
|
from .signals import (
|
|
3
3
|
requires_consent_on_pre_save,
|
|
4
|
-
update_appointment_from_consentext_post_save,
|
|
4
|
+
# update_appointment_from_consentext_post_save,
|
|
5
5
|
)
|
|
6
6
|
|
|
7
7
|
__all__ = [
|
|
8
8
|
"EdcPermissions",
|
|
9
9
|
"requires_consent_on_pre_save",
|
|
10
|
-
"update_appointment_from_consentext_post_save",
|
|
10
|
+
# "update_appointment_from_consentext_post_save",
|
|
11
11
|
]
|
edc_consent/models/signals.py
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
from django.db.models.signals import
|
|
1
|
+
from django.db.models.signals import pre_save
|
|
2
2
|
from django.dispatch import receiver
|
|
3
3
|
|
|
4
4
|
from edc_sites import site_sites
|
|
5
|
-
from edc_visit_schedule.site_visit_schedules import site_visit_schedules
|
|
6
|
-
from edc_visit_schedule.subject_schedule import SubjectSchedule
|
|
7
5
|
|
|
8
|
-
from ..model_mixins import
|
|
6
|
+
from ..model_mixins import RequiresConsentFieldsModelMixin
|
|
9
7
|
from ..site_consents import site_consents
|
|
10
8
|
|
|
11
9
|
|
|
@@ -52,27 +50,27 @@ def requires_consent_on_pre_save(instance, raw, using, update_fields, **kwargs):
|
|
|
52
50
|
instance.consent_model = consent_definition.model
|
|
53
51
|
|
|
54
52
|
|
|
55
|
-
@receiver(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
)
|
|
60
|
-
def update_appointment_from_consentext_post_save(
|
|
61
|
-
|
|
62
|
-
):
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
53
|
+
# @receiver(
|
|
54
|
+
# post_save,
|
|
55
|
+
# weak=False,
|
|
56
|
+
# dispatch_uid="update_appointment_from_consentext_post_save",
|
|
57
|
+
# )
|
|
58
|
+
# def update_appointment_from_consentext_post_save(
|
|
59
|
+
# sender, instance, raw, created, using, **kwargs
|
|
60
|
+
# ):
|
|
61
|
+
# if (
|
|
62
|
+
# not raw
|
|
63
|
+
# and not kwargs.get("update_fields")
|
|
64
|
+
# and isinstance(instance, (ConsentExtensionModelMixin,))
|
|
65
|
+
# ):
|
|
66
|
+
# cdef = site_consents.get_consent_definition(
|
|
67
|
+
# model=instance.subject_consent._meta.label_lower,
|
|
68
|
+
# version=instance.subject_consent.version,
|
|
69
|
+
# )
|
|
70
|
+
# visit_schedule, schedule = site_visit_schedules.get_by_consent_definition(cdef)
|
|
71
|
+
# subject_schedule = SubjectSchedule(
|
|
72
|
+
# instance.subject_consent.subject_identifier,
|
|
73
|
+
# visit_schedule=visit_schedule,
|
|
74
|
+
# schedule=schedule,
|
|
75
|
+
# )
|
|
76
|
+
# subject_schedule.refresh_appointments()
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from django.contrib import messages
|
|
2
|
-
from django.utils.html import format_html
|
|
3
2
|
from django.utils.safestring import mark_safe
|
|
4
3
|
|
|
5
4
|
|
|
@@ -20,18 +19,18 @@ class MessageViewMixin:
|
|
|
20
19
|
# attempt to get the level if passed a string
|
|
21
20
|
try:
|
|
22
21
|
level = getattr(messages.constants, level.upper())
|
|
23
|
-
except AttributeError:
|
|
22
|
+
except AttributeError as e:
|
|
24
23
|
levels = ", ".join(
|
|
25
24
|
[level for level in messages.constants.DEFAULT_TAGS.values()]
|
|
26
25
|
)
|
|
27
26
|
raise ValueError(
|
|
28
27
|
f"Bad message level string: `{level}`. Possible values are: {levels}"
|
|
29
|
-
)
|
|
28
|
+
) from e
|
|
30
29
|
|
|
31
30
|
messages.add_message(
|
|
32
31
|
self.request,
|
|
33
32
|
level,
|
|
34
|
-
|
|
33
|
+
mark_safe(message), # noqa: S308
|
|
35
34
|
extra_tags=extra_tags,
|
|
36
35
|
fail_silently=fail_silently,
|
|
37
36
|
)
|
edc_identifier/admin.py
CHANGED
|
@@ -51,7 +51,7 @@ class IdentifierModelAdmin(admin.ModelAdmin):
|
|
|
51
51
|
)
|
|
52
52
|
search_fields = ("identifier", "subject_identifier", "linked_identifier")
|
|
53
53
|
|
|
54
|
-
def get_readonly_fields(self, request, obj=None) -> tuple[str, ...]:
|
|
54
|
+
def get_readonly_fields(self, request, obj=None) -> tuple[str, ...]: # noqa: ARG002
|
|
55
55
|
return (
|
|
56
56
|
"identifier",
|
|
57
57
|
"protocol_number",
|
|
@@ -64,4 +64,5 @@ class IdentifierModelAdmin(admin.ModelAdmin):
|
|
|
64
64
|
"linked_identifier",
|
|
65
65
|
"device_id",
|
|
66
66
|
"identifier_prefix",
|
|
67
|
-
|
|
67
|
+
*DEFAULT_BASE_FIELDS,
|
|
68
|
+
)
|
edc_identifier/identifier.py
CHANGED
|
@@ -61,12 +61,12 @@ class Identifier:
|
|
|
61
61
|
pattern = pattern or self.identifier_pattern
|
|
62
62
|
try:
|
|
63
63
|
identifier = re.match(pattern, identifier).group()
|
|
64
|
-
except AttributeError:
|
|
64
|
+
except AttributeError as e:
|
|
65
65
|
error_msg = error_msg or (
|
|
66
66
|
"Invalid identifier format for pattern "
|
|
67
67
|
f"{pattern}. Got identifier='{identifier}'"
|
|
68
68
|
)
|
|
69
|
-
raise IdentifierError(error_msg)
|
|
69
|
+
raise IdentifierError(error_msg) from e
|
|
70
70
|
return identifier
|
|
71
71
|
|
|
72
72
|
@property
|
|
@@ -102,9 +102,10 @@ class Identifier:
|
|
|
102
102
|
.order_by("-sequence_number")
|
|
103
103
|
.first()
|
|
104
104
|
)
|
|
105
|
-
return instance.identifier
|
|
106
105
|
except AttributeError:
|
|
107
106
|
return None
|
|
107
|
+
else:
|
|
108
|
+
return instance.identifier
|
|
108
109
|
|
|
109
110
|
def remove_separator(self, identifier):
|
|
110
111
|
"""Returns the identifier after removing the separator.
|
|
@@ -126,5 +127,4 @@ class Identifier:
|
|
|
126
127
|
for item in self.identifier_as_list:
|
|
127
128
|
items.append(identifier[start : start + len(item)])
|
|
128
129
|
start += len(item)
|
|
129
|
-
|
|
130
|
-
return identifier
|
|
130
|
+
return (self.separator or "").join(items)
|
edc_identifier/model_mixins.py
CHANGED