clinicedc 2.0.6__py3-none-any.whl → 2.0.7__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.6.dist-info → clinicedc-2.0.7.dist-info}/METADATA +2 -2
- {clinicedc-2.0.6.dist-info → clinicedc-2.0.7.dist-info}/RECORD +386 -335
- edc_action_item/action.py +1 -1
- edc_action_item/action_item_notification.py +2 -2
- edc_action_item/create_action_item.py +1 -1
- edc_action_item/decorators.py +1 -1
- edc_action_item/migrations/0001_initial.py +21 -22
- edc_action_item/migrations/0006_auto_20180707_1659.py +4 -4
- edc_action_item/migrations/0008_auto_20180809_0303.py +4 -4
- edc_action_item/migrations/0015_auto_20190114_0250.py +4 -4
- edc_action_item/migrations/0017_auto_20190305_0123.py +11 -30
- edc_action_item/migrations/0030_edcpermissions.py +3 -2
- edc_action_item/migrations/0039_alter_actionitem_auto_created_comment_and_more.py +398 -0
- edc_action_item/migrations/0040_alter_actionitem_report_datetime_and_more.py +34 -0
- edc_action_item/models/action_item.py +9 -4
- edc_action_item/models/action_model_mixin.py +4 -4
- edc_action_item/models/reference.py +2 -2
- edc_action_item/post_migrate_signals.py +1 -1
- edc_action_item/send_email.py +0 -85
- edc_adherence/migrations/0005_alter_nonadherencereasons_extra_value_and_more.py +36 -0
- edc_adherence/model_mixins.py +1 -1
- edc_adverse_event/migrations/0001_initial.py +5 -4
- edc_adverse_event/migrations/0002_auto_20190802_0059.py +3 -2
- edc_adverse_event/migrations/0008_auto_20220825_0451.py +3 -2
- edc_adverse_event/migrations/0009_auto_20220907_0157.py +3 -2
- edc_adverse_event/migrations/0016_alter_aeactionclassification_device_created_and_more.py +285 -0
- edc_adverse_event/model_mixins/ae_followup/ae_followup_fields_model_mixin.py +2 -2
- edc_adverse_event/model_mixins/ae_initial/ae_initial_fields_model_mixin.py +6 -5
- edc_adverse_event/model_mixins/ae_special_interest/aesi_fields_model_mixin.py +2 -2
- edc_adverse_event/model_mixins/ae_susar/ae_susar_fields_model_mixin.py +2 -2
- edc_adverse_event/model_mixins/ae_tmg/ae_tmg_fields_model_mixin.py +15 -11
- edc_adverse_event/model_mixins/death_report/death_report_model_mixin.py +5 -4
- edc_adverse_event/model_mixins/death_report/death_report_tmg_model_mixin.py +6 -3
- edc_adverse_event/model_mixins/death_report/simple_death_report_model_mixin.py +2 -2
- edc_adverse_event/model_mixins/hospitaization/hospitalization_model_mixin.py +4 -3
- edc_adverse_event/modeladmin_mixins/death_report_admin_mixin.py +3 -3
- edc_adverse_event/models/signals.py +7 -7
- edc_adverse_event/templatetags/edc_adverse_event_extras.py +5 -4
- edc_adverse_event/view_mixins/ae/ae_listboard_view_mixin.py +3 -5
- edc_adverse_event/view_mixins/ae/death_report_listboard_view_mixin.py +6 -8
- edc_adverse_event/view_mixins/tmg/tmg_ae_listboard_view_mixin.py +2 -2
- edc_adverse_event/views/tmg/summary_listboard_view.py +3 -2
- edc_appointment/admin/appointment_admin.py +2 -2
- edc_appointment/admin/list_filters.py +2 -2
- edc_appointment/form_validators/appointment_form_validator.py +108 -82
- edc_appointment/migrations/0003_auto_20161127_2226.py +5 -6
- edc_appointment/migrations/0006_auto_20170106_2118.py +5 -5
- edc_appointment/migrations/0018_auto_20190305_0123.py +5 -12
- edc_appointment/migrations/0050_alter_appointment_appt_type_and_more.py +220 -0
- edc_appointment/model_mixins/appointment_fields_model_mixin.py +1 -2
- edc_appointment/model_mixins/window_period_model_mixin.py +6 -7
- edc_appointment/models/signals.py +44 -35
- edc_appointment/view_utils/appointment_button.py +2 -2
- edc_auth/admin/user_admin.py +1 -1
- edc_auth/migrations/0001_squashed_0033_alter_userprofile_is_multisite_viewer.py +5 -5
- edc_auth/migrations/0012_auto_20191026_0034.py +3 -2
- edc_auth/migrations/0013_auto_20191026_0055.py +3 -2
- edc_auth/migrations/0025_permissions.py +3 -2
- edc_auth/migrations/0035_alter_edcpermissions_device_created_and_more.py +85 -0
- edc_auth/post_migrate_signals.py +1 -1
- edc_consent/actions.py +4 -5
- edc_consent/migrations/0001_initial.py +3 -2
- edc_consent/migrations/0006_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_consent/model_mixins/consent_extension_model_mixin.py +4 -5
- edc_consent/model_mixins/requires_consent_fields_model_mixin.py +2 -2
- edc_consent/utils.py +1 -1
- edc_crf/migrations/0001_initial.py +3 -2
- edc_crf/migrations/0009_alter_crfstatus_device_created_and_more.py +54 -0
- edc_dashboard/migrations/0001_initial.py +3 -2
- edc_dashboard/migrations/0006_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_dashboard/templatetags/edc_dashboard_extras.py +3 -2
- edc_data_manager/action_items.py +4 -6
- edc_data_manager/admin/actions.py +5 -5
- edc_data_manager/handlers/handlers.py +6 -7
- edc_data_manager/migrations/0001_initial.py +19 -19
- edc_data_manager/migrations/0025_edcpermissions.py +3 -2
- edc_data_manager/migrations/0040_alter_datadictionary_device_created_and_more.py +327 -0
- edc_data_manager/migrations/0041_alter_dataquery_dm_user_and_more.py +164 -0
- edc_data_manager/models/data_query.py +5 -5
- edc_data_manager/models/model_mixins.py +8 -8
- edc_data_manager/rule/rule_runner.py +4 -3
- edc_document_status/model_mixins.py +1 -1
- edc_egfr/egfr.py +11 -7
- edc_egfr/model_mixins/egfr_model_mixin.py +3 -7
- edc_export/admin/data_request_admin.py +2 -2
- edc_export/archive_exporter.py +4 -3
- edc_export/files_archiver.py +3 -2
- edc_export/migrations/0001_initial.py +26 -26
- edc_export/migrations/0004_auto_20190305_0123.py +25 -72
- edc_export/migrations/0013_edcpermissions.py +3 -2
- edc_export/migrations/0022_alter_datarequest_description_and_more.py +611 -0
- edc_export/migrations/0023_alter_datarequesthistory_archive_filename_and_more.py +29 -0
- edc_export/model_exporter/file_history_updater.py +10 -10
- edc_export/model_exporter/model_exporter.py +13 -14
- edc_export/model_exporter/object_history_helpers.py +2 -2
- edc_export/models/data_request_history.py +4 -4
- edc_export/utils.py +10 -15
- edc_facility/facility.py +10 -15
- edc_facility/import_holidays.py +13 -13
- edc_facility/migrations/0005_healthfacility_healthfacilitytypes_and_more.py +8 -7
- edc_facility/migrations/0016_alter_healthfacility_device_created_and_more.py +139 -0
- edc_facility/migrations/0017_alter_healthfacility_gps_and_more.py +54 -0
- edc_facility/model_mixins.py +5 -5
- edc_form_runners/form_runner.py +3 -5
- edc_form_runners/migrations/0001_initial.py +3 -2
- edc_form_runners/migrations/0005_alter_issue_device_created_and_more.py +49 -0
- edc_identifier/migrations/0001_squashed_0018_auto_20180128_1054.py +3 -3
- edc_identifier/migrations/0002_auto_20190305_0123.py +3 -6
- edc_identifier/migrations/0006_auto_20161127_2226.py +15 -15
- edc_identifier/migrations/0007_auto_20161204_2227.py +3 -3
- edc_identifier/migrations/0009_auto_20161221_2323.py +3 -5
- edc_identifier/migrations/0010_auto_20170112_0602.py +17 -17
- edc_identifier/migrations/0011_alter_identifiermodel_device_created_and_more.py +79 -0
- edc_identifier/model_mixins.py +1 -1
- edc_identifier/models.py +9 -9
- edc_identifier/simple_identifier.py +1 -3
- edc_identifier/subject_identifier.py +3 -2
- edc_lab/migrations/0001_initial.py +29 -29
- edc_lab/migrations/0008_auto_20170921_0719.py +3 -3
- edc_lab/migrations/0010_auto_20171127_1541.py +15 -15
- edc_lab/migrations/0012_auto_20180114_1438.py +3 -3
- edc_lab/migrations/0019_auto_20190305_0123.py +43 -127
- edc_lab/migrations/0036_alter_aliquot_comment_alter_aliquot_device_created_and_more.py +1139 -0
- edc_lab/migrations/0037_alter_historicalorder_order_datetime_and_more.py +31 -0
- edc_lab/model_mixins/aliquot/aliquot_identifier_model_mixin.py +2 -2
- edc_lab/model_mixins/aliquot/aliquot_model_mixin.py +2 -2
- edc_lab/model_mixins/panel_model_mixin.py +18 -7
- edc_lab/model_mixins/requisition/crf_with_requisition_model_mixin.py +2 -4
- edc_lab/model_mixins/requisition/requisition_model_mixin.py +7 -8
- edc_lab/model_mixins/requisition/requisition_verify_model_mixin.py +1 -1
- edc_lab/model_mixins/result/result_item_model_mixin.py +4 -4
- edc_lab/model_mixins/shipping/manifest_model_mixin.py +4 -5
- edc_lab/model_mixins/shipping/verify_model_mixin.py +4 -6
- edc_lab/models/box.py +1 -1
- edc_lab/models/box_item.py +6 -7
- edc_lab/models/manifest/manifest.py +1 -1
- edc_lab/models/manifest/manifest_item.py +6 -6
- edc_lab/models/manifest/shipper.py +3 -4
- edc_lab/models/order.py +6 -4
- edc_lab/models/panel.py +4 -4
- edc_lab/models/result.py +2 -2
- edc_lab/models/result_item.py +2 -2
- edc_lab_dashboard/migrations/0001_initial.py +3 -2
- edc_lab_dashboard/migrations/0005_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_lab_dashboard/views/action_views/receive_view.py +2 -2
- edc_lab_dashboard/views/action_views/verify_box_item_view.py +2 -2
- edc_lab_results/model_mixins/blood_result_model_mixin.py +7 -7
- edc_lab_results/model_mixins/fbg_model_mixin.py +3 -3
- edc_lab_results/model_mixins/glucose_model_mixin.py +3 -3
- edc_lab_results/model_mixins/hba1c_model_mixin.py +3 -3
- edc_label/migrations/0001_initial.py +3 -2
- edc_label/migrations/0007_alter_zpllabeltemplates_device_created_and_more.py +49 -0
- edc_list_data/list_model_maker.py +2 -2
- edc_list_data/load_list_data.py +11 -14
- edc_list_data/model_mixins.py +12 -4
- edc_list_data/preload_data.py +3 -3
- edc_listboard/migrations/0001_initial.py +3 -2
- edc_listboard/migrations/0007_alter_listboard_device_created_and_more.py +49 -0
- edc_locator/migrations/0001_initial.py +7 -7
- edc_locator/migrations/0018_auto_20190305_0123.py +5 -12
- edc_locator/migrations/0040_alter_historicalsubjectlocator_action_identifier_and_more.py +187 -0
- edc_locator/migrations/0041_alter_historicalsubjectlocator_report_datetime_and_more.py +27 -0
- edc_locator/model_mixins/locator_model_mixin.py +2 -2
- edc_locator/model_mixins/subject_contact_fields_mixin.py +1 -1
- edc_locator/modeladmin_mixins.py +5 -4
- edc_ltfu/model_mixins.py +7 -5
- edc_metadata/metadata_rules/decorators.py +1 -1
- edc_metadata/migrations/0002_auto_20161127_2226.py +5 -5
- edc_metadata/migrations/0005_auto_20170112_0602.py +5 -5
- edc_metadata/migrations/0011_auto_20190305_0123.py +5 -12
- edc_metadata/migrations/0031_alter_crfmetadata_device_created_and_more.py +120 -0
- edc_metadata/model_mixins/updates/updates_crf_metadata_model_mixin.py +1 -1
- edc_metadata/model_mixins/updates/updates_requisition_metadata_model_mixin.py +1 -1
- edc_metadata/models/crf_metadata.py +5 -5
- edc_metadata/models/crf_metadata_model_mixin.py +4 -5
- edc_metadata/models/requisition_metadata.py +6 -6
- edc_metadata/views/refresh_metadata_actions_view.py +3 -3
- edc_model/models/address_mixin.py +6 -6
- edc_model/models/fields/initials_field.py +2 -1
- edc_model/models/historical_records.py +2 -9
- edc_model/models/url_model_mixin.py +2 -2
- edc_model/validators/date.py +7 -8
- edc_model_admin/list_filters/future_date_list_filter.py +3 -3
- edc_model_admin/list_filters/past_date_list_filter.py +3 -3
- edc_model_admin/mixins/model_admin_protect_pii_mixin.py +4 -5
- edc_model_fields/fields/other_charfield.py +2 -2
- edc_navbar/migrations/0004_auto_20220825_0451.py +3 -2
- edc_navbar/migrations/0009_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_notification/migrations/0001_initial.py +3 -3
- edc_notification/migrations/0004_auto_20190305_0123.py +3 -6
- edc_notification/migrations/0011_alter_notification_device_created_and_more.py +59 -0
- edc_notification/models/notification.py +1 -1
- edc_notification/notification/notification.py +12 -12
- edc_offstudy/migrations/0001_initial.py +4 -4
- edc_offstudy/migrations/0002_auto_20180921_0434.py +4 -4
- edc_offstudy/migrations/0005_auto_20190305_0123.py +5 -12
- edc_offstudy/migrations/0023_alter_historicalsubjectoffstudy_action_identifier_and_more.py +188 -0
- edc_offstudy/migrations/0024_alter_historicalsubjectoffstudy_offstudy_datetime_and_more.py +43 -0
- edc_offstudy/model_mixins/offstudy_model_mixin.py +3 -2
- edc_pdutils/df_exporters/csv_exporter.py +33 -37
- edc_pdutils/df_exporters/csv_model_exporter.py +2 -1
- edc_pdutils/migrations/0001_initial.py +8 -8
- edc_pharmacy/admin/prescription/rx_refill_admin.py +4 -3
- edc_pharmacy/admin/reports/stock_availability_admin.py +5 -6
- edc_pharmacy/migrations/0001_initial.py +64 -63
- edc_pharmacy/migrations/0015_auto_20220913_2139.py +26 -26
- edc_pharmacy/migrations/0024_allocation_assignment_containerunits_dispense_and_more.py +81 -86
- edc_pharmacy/migrations/0037_remove_historicalstock_confirmed_at_site_by_and_more.py +5 -5
- edc_pharmacy/migrations/0039_remove_dispense_registered_subject_and_more.py +7 -8
- edc_pharmacy/migrations/0049_remove_stocktransferconfirmation_stock_and_more.py +12 -12
- edc_pharmacy/migrations/0050_remove_stocktransferconfirmation2_location_and_more.py +5 -5
- edc_pharmacy/migrations/0051_alter_historicalstocktransferconfirmationitem_options_and_more.py +3 -4
- edc_pharmacy/migrations/0053_alter_location_managers_alter_historicalstock_lot_and_more.py +3 -3
- edc_pharmacy/migrations/0057_scanduplicates.py +3 -3
- edc_pharmacy/migrations/0060_alter_container_max_per_subject_and_more.py +13 -15
- edc_pharmacy/migrations/0068_stockout.py +2 -3
- edc_pharmacy/migrations/0076_historicalstockadjustment_stockadjustment.py +5 -5
- edc_pharmacy/migrations/0077_historicalstockadjustment_adjustment_datetime_and_more.py +3 -4
- edc_pharmacy/migrations/0081_historicalconfirmation_confirmation.py +8 -8
- edc_pharmacy/migrations/0084_confirmationatsiteitem_and_more.py +0 -2
- edc_pharmacy/migrations/0089_alter_allocation_allocated_by_and_more.py +3284 -0
- edc_pharmacy/migrations/0090_alter_allocation_allocation_datetime_and_more.py +227 -0
- edc_pharmacy/model_mixins/study_medication_refill_model_mixin.py +2 -2
- edc_pharmacy/models/medication/medication.py +3 -3
- edc_pharmacy/models/model_mixins.py +10 -11
- edc_pharmacy/models/prescription/rx.py +13 -12
- edc_pharmacy/models/prescription/rx_refill.py +0 -1
- edc_pharmacy/models/stock/allocation.py +3 -3
- edc_pharmacy/models/stock/confirmation.py +3 -3
- edc_pharmacy/models/stock/confirmation_at_site.py +3 -2
- edc_pharmacy/models/stock/confirmation_at_site_item.py +3 -4
- edc_pharmacy/models/stock/dispense.py +5 -6
- edc_pharmacy/models/stock/dispense_item.py +2 -2
- edc_pharmacy/models/stock/location.py +3 -4
- edc_pharmacy/models/stock/lot.py +6 -7
- edc_pharmacy/models/stock/order.py +1 -1
- edc_pharmacy/models/stock/receive.py +3 -3
- edc_pharmacy/models/stock/receive_item.py +4 -4
- edc_pharmacy/models/stock/repack_request.py +2 -2
- edc_pharmacy/models/stock/stock.py +12 -18
- edc_pharmacy/models/stock/stock_adjustment.py +4 -4
- edc_pharmacy/models/stock/stock_request.py +2 -2
- edc_pharmacy/models/stock/stock_request_item.py +2 -2
- edc_pharmacy/models/stock/stock_transfer.py +3 -3
- edc_pharmacy/models/stock/stock_transfer_item.py +2 -2
- edc_pharmacy/models/stock/storage_bin.py +3 -4
- edc_pharmacy/models/stock/storage_bin_item.py +2 -2
- edc_pharmacy/models/stock/supplier.py +3 -4
- edc_pharmacy/models/storage/box.py +2 -2
- edc_pharmacy/models/storage/items/container_model_mixin.py +3 -4
- edc_pharmacy/models/storage/items/pill_bottle_model_mixin.py +2 -2
- edc_pharmacy/models/storage/items/subject_pill_bottle.py +1 -1
- edc_pharmacy/models/storage/room.py +2 -2
- edc_pharmacy/models/storage/shelf.py +2 -2
- edc_pharmacy/models/storage/utils.py +1 -1
- edc_pharmacy/utils/allocate_stock.py +2 -3
- edc_pharmacy/utils/confirm_stock.py +2 -3
- edc_pharmacy/utils/confirm_stock_at_site.py +3 -4
- edc_pharmacy/utils/dispense.py +3 -4
- edc_pharmacy/utils/process_repack_request.py +4 -5
- edc_pharmacy/utils/stock_request/bulk_create_stock_request_items.py +2 -3
- edc_pharmacy/utils/transfer_stock.py +2 -3
- edc_pharmacy/views/add_to_storage_bin_view.py +2 -2
- edc_pharmacy/views/allocate_to_subject_view.py +2 -2
- edc_pharmacy/views/dispense_view.py +2 -2
- edc_pharmacy/views/move_to_storage_bin_view.py +2 -3
- edc_pharmacy/views/print_labels_view.py +2 -2
- edc_protocol/research_protocol_config.py +2 -3
- edc_protocol_incident/migrations/0001_initial.py +7 -7
- edc_protocol_incident/migrations/0001_squashed_0015_auto_20220927_0401.py +13 -13
- edc_protocol_incident/migrations/0005_protocolincident_historicalprotocolincident_and_more.py +7 -7
- edc_protocol_incident/migrations/0024_alter_actionsrequired_extra_value_and_more.py +625 -0
- edc_protocol_incident/migrations/0025_alter_historicalprotocoldeviationviolation_report_datetime_and_more.py +42 -0
- edc_protocol_incident/model_mixins/protocol_deviation_violation_model_mixin.py +18 -11
- edc_protocol_incident/model_mixins/protocol_incident_model_mixin.py +26 -11
- edc_pylabels/actions.py +3 -5
- edc_pylabels/migrations/0002_alter_label_options_label_created_and_more.py +3 -7
- edc_pylabels/migrations/0005_labelconfiguration_delete_label_and_more.py +3 -3
- edc_pylabels/migrations/0013_alter_labelconfiguration_device_created_and_more.py +49 -0
- edc_qareports/migrations/0001_initial.py +4 -5
- edc_qareports/migrations/0005_edcpermissions.py +3 -3
- edc_qareports/migrations/0006_qareportlog.py +2 -3
- edc_qareports/migrations/0019_alter_edcpermissions_device_created_and_more.py +102 -0
- edc_qareports/migrations/0020_alter_note_report_datetime_and_more.py +24 -0
- edc_qareports/model_mixins/note_model_mixin.py +7 -4
- edc_qareports/model_mixins/on_study_missing_values_model_mixin.py +4 -4
- edc_qareports/model_mixins/qa_report_model_mixin.py +2 -3
- edc_qareports/models/note.py +4 -4
- edc_qareports/models/qa_reports_log.py +2 -3
- edc_randomization/decorators.py +1 -1
- edc_randomization/migrations/0001_initial.py +3 -2
- edc_randomization/migrations/0002_historicalrandomizationlist.py +3 -2
- edc_randomization/migrations/0009_edcpermissions.py +3 -2
- edc_randomization/migrations/0014_alter_edcpermissions_device_created_and_more.py +141 -0
- edc_randomization/model_mixins.py +9 -9
- edc_randomization/utils.py +2 -2
- edc_refusal/migrations/0001_initial.py +4 -4
- edc_refusal/migrations/0002_historicalsubjectrefusal.py +4 -4
- edc_refusal/migrations/0012_alter_historicalsubjectrefusal_comment_and_more.py +122 -0
- edc_refusal/migrations/0013_alter_historicalsubjectrefusal_report_datetime_and_more.py +28 -0
- edc_refusal/model_mixins.py +3 -3
- edc_registration/migrations/0002_auto_20161127_2226.py +3 -4
- edc_registration/migrations/0005_auto_20170111_1809.py +4 -2
- edc_registration/migrations/0016_historicalregisteredsubject.py +3 -2
- edc_registration/migrations/0017_auto_20190305_0123.py +5 -12
- edc_registration/migrations/0033_alter_historicalregisteredsubject_additional_key_and_more.py +302 -0
- edc_registration/model_mixins/updates_or_creates_registered_subject_model_mixin.py +2 -3
- edc_registration/models/registered_subject.py +27 -26
- edc_reportable/age_evaluator.py +4 -2
- edc_reportable/formula.py +5 -5
- edc_reportable/migrations/0001_initial.py +7 -7
- edc_reportable/migrations/0003_referencerangecollection_grade1_and_more.py +3 -3
- edc_reportable/migrations/0004_alter_referencerangecollection_grade3_and_more.py +5 -5
- edc_reportable/migrations/0006_alter_gradingdata_revision_and_more.py +5 -6
- edc_reportable/migrations/0007_alter_gradingdata_age_phrase_and_more.py +509 -0
- edc_reportable/models/normal_data.py +4 -5
- edc_reportable/models/reference_model_mixins.py +10 -11
- edc_reportable/models/reference_range_collection.py +12 -13
- edc_reportable/post_migrate_signals.py +1 -1
- edc_reportable/utils/convert_units.py +11 -45
- edc_reportable/utils/get_normal_data_or_raise.py +2 -2
- edc_reportable/utils/load_data.py +4 -4
- edc_reportable/utils/update_grading_data.py +5 -5
- edc_review_dashboard/migrations/0001_initial.py +3 -2
- edc_review_dashboard/migrations/0006_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_screening/age_evaluator.py +3 -3
- edc_screening/migrations/0001_initial.py +3 -2
- edc_screening/migrations/0005_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_screening/model_mixins/eligibility_model_mixin.py +3 -4
- edc_screening/model_mixins/screening_fields_model_mixin.py +6 -8
- edc_search/model_mixins.py +2 -3
- edc_search/search_slug.py +9 -8
- edc_search/updater.py +2 -2
- edc_sites/migrations/0007_edcpermissions.py +3 -2
- edc_sites/migrations/0010_alter_edcpermissions_device_created_and_more.py +69 -0
- edc_sites/model_mixins/site_model_mixin.py +2 -2
- edc_sites/site.py +5 -5
- edc_sites/system_checks.py +1 -1
- edc_subject_dashboard/migrations/0001_initial.py +3 -2
- edc_subject_dashboard/migrations/0005_alter_edcpermissions_device_created_and_more.py +49 -0
- edc_subject_dashboard/requisition_report.py +6 -4
- edc_subject_dashboard/requisition_verifier.py +6 -6
- edc_subject_dashboard/templatetags/edc_subject_dashboard_extras.py +2 -2
- edc_subject_dashboard/view_mixins/subject_visit_view_mixin.py +7 -8
- edc_subject_dashboard/view_utils/subject_consent_listboard_button.py +3 -2
- edc_subject_dashboard/view_utils/timepoint_status_button.py +2 -2
- edc_timepoint/model_mixins.py +22 -20
- edc_transfer/model_mixins.py +4 -4
- edc_transfer/modeladmin_mixins.py +1 -1
- edc_unblinding/migrations/0001_initial.py +13 -13
- edc_unblinding/migrations/0014_alter_historicalunblindingrequest_action_identifier_and_more.py +291 -0
- edc_unblinding/migrations/0015_alter_historicalunblindingrequest_report_datetime_and_more.py +45 -0
- edc_unblinding/models/unblinding_request.py +2 -2
- edc_unblinding/models/unblinding_review.py +3 -3
- edc_utils/age.py +10 -16
- edc_visit_schedule/migrations/0001_initial.py +3 -3
- edc_visit_schedule/migrations/0002_auto_20190305_0123.py +3 -6
- edc_visit_schedule/migrations/0003_historicalvisitschedule_visitschedule.py +5 -4
- edc_visit_schedule/migrations/0015_historicalonschedule_offschedule_onschedule.py +10 -10
- edc_visit_schedule/migrations/0019_alter_historicalonschedule_device_created_and_more.py +229 -0
- edc_visit_schedule/migrations/0020_alter_historicalonschedule_onschedule_datetime_and_more.py +65 -0
- edc_visit_schedule/model_mixins/off_schedule_model_mixin.py +5 -4
- edc_visit_schedule/model_mixins/on_schedule_model_mixin.py +5 -4
- edc_visit_schedule/model_mixins/visit_schedule/visit_code_fields_model_mixin.py +1 -1
- edc_visit_schedule/models/subject_schedule_history.py +6 -6
- edc_visit_schedule/schedule/visit_collection.py +1 -1
- edc_visit_schedule/subject_schedule.py +5 -4
- edc_visit_schedule/view_mixins.py +2 -3
- edc_visit_schedule/visit/visit.py +3 -2
- edc_visit_tracking/migrations/0004_subjectvisit_subjectvisitmissedreasons_extra_value_and_more.py +13 -13
- edc_visit_tracking/migrations/0009_alter_historicalsubjectvisit_comments_and_more.py +450 -0
- edc_visit_tracking/migrations/0010_alter_historicalsubjectvisit_report_datetime_and_more.py +68 -0
- edc_visit_tracking/model_mixins/base/visit_methods_model_mixin.py +3 -3
- edc_visit_tracking/model_mixins/crfs/visit_tracking_crf_model_mixin.py +2 -2
- edc_visit_tracking/model_mixins/requisitions/visit_tracking_requisition_model_mixin.py +2 -2
- edc_visit_tracking/model_mixins/subject_visit_missed_model_mixin.py +2 -2
- edc_visit_tracking/model_mixins/visit_model_mixin/caretaker_fields_mixin.py +2 -3
- edc_visit_tracking/model_mixins/visit_model_mixin/previous_visit_model_mixin.py +1 -1
- edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_fields_mixin.py +8 -11
- edc_visit_tracking/model_mixins/visit_model_mixin/visit_model_mixin.py +1 -1
- edc_visit_tracking/models/signals.py +1 -1
- edc_visit_tracking/models/subject_visit.py +1 -1
- edc_vitals/calculators/bmi.py +7 -5
- edc_vitals/utils.py +1 -1
- {clinicedc-2.0.6.dist-info → clinicedc-2.0.7.dist-info}/WHEEL +0 -0
- {clinicedc-2.0.6.dist-info → clinicedc-2.0.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -9,13 +9,13 @@ from django.contrib.auth.decorators import login_required
|
|
|
9
9
|
from django.core.exceptions import ObjectDoesNotExist
|
|
10
10
|
from django.http import HttpResponseRedirect
|
|
11
11
|
from django.urls import reverse
|
|
12
|
+
from django.utils import timezone
|
|
12
13
|
from django.utils.decorators import method_decorator
|
|
13
14
|
from django.views.generic.base import TemplateView
|
|
14
15
|
|
|
15
16
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
16
17
|
from edc_navbar import NavbarViewMixin
|
|
17
18
|
from edc_protocol.view_mixins import EdcProtocolViewMixin
|
|
18
|
-
from edc_utils import get_utcnow
|
|
19
19
|
|
|
20
20
|
from ..exceptions import StorageBinError
|
|
21
21
|
from ..models import Stock, StorageBin, StorageBinItem
|
|
@@ -192,7 +192,7 @@ class AddToStorageBinView(EdcViewMixin, NavbarViewMixin, EdcProtocolViewMixin, T
|
|
|
192
192
|
storage_bin,
|
|
193
193
|
stock_codes,
|
|
194
194
|
user_created=request.user.username,
|
|
195
|
-
created=
|
|
195
|
+
created=timezone.now(),
|
|
196
196
|
)
|
|
197
197
|
except StorageBinError as e:
|
|
198
198
|
messages.add_message(request, messages.ERROR, str(e))
|
|
@@ -9,6 +9,7 @@ from django.core.exceptions import ObjectDoesNotExist
|
|
|
9
9
|
from django.db.models import Count
|
|
10
10
|
from django.http import HttpResponseRedirect
|
|
11
11
|
from django.urls import reverse
|
|
12
|
+
from django.utils import timezone
|
|
12
13
|
from django.utils.decorators import method_decorator
|
|
13
14
|
from django.utils.translation import gettext as _
|
|
14
15
|
from django.views.generic.base import TemplateView
|
|
@@ -16,7 +17,6 @@ from django.views.generic.base import TemplateView
|
|
|
16
17
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
17
18
|
from edc_navbar import NavbarViewMixin
|
|
18
19
|
from edc_protocol.view_mixins import EdcProtocolViewMixin
|
|
19
|
-
from edc_utils import get_utcnow
|
|
20
20
|
|
|
21
21
|
from ..exceptions import AllocationError, InsufficientStockError
|
|
22
22
|
from ..models import Assignment, Stock, StockRequest, StockRequestItem
|
|
@@ -350,7 +350,7 @@ class AllocateToSubjectView(EdcViewMixin, NavbarViewMixin, EdcProtocolViewMixin,
|
|
|
350
350
|
allocation_data,
|
|
351
351
|
allocated_by=request.user.username,
|
|
352
352
|
user_created=request.user.username,
|
|
353
|
-
created=
|
|
353
|
+
created=timezone.now(),
|
|
354
354
|
)
|
|
355
355
|
except AllocationError as e:
|
|
356
356
|
messages.add_message(request, messages.ERROR, str(e))
|
|
@@ -6,13 +6,13 @@ from django.contrib.auth.decorators import login_required
|
|
|
6
6
|
from django.core.exceptions import ObjectDoesNotExist
|
|
7
7
|
from django.http import HttpResponseRedirect
|
|
8
8
|
from django.urls import reverse
|
|
9
|
+
from django.utils import timezone
|
|
9
10
|
from django.utils.decorators import method_decorator
|
|
10
11
|
from django.views.generic.base import TemplateView
|
|
11
12
|
|
|
12
13
|
from edc_dashboard.view_mixins import EdcViewMixin
|
|
13
14
|
from edc_navbar import NavbarViewMixin
|
|
14
15
|
from edc_protocol.view_mixins import EdcProtocolViewMixin
|
|
15
|
-
from edc_utils import get_utcnow
|
|
16
16
|
|
|
17
17
|
from ..models import ConfirmationAtSite, Formulation, Location, Rx
|
|
18
18
|
from ..utils import dispense
|
|
@@ -61,7 +61,7 @@ class DispenseView(EdcViewMixin, NavbarViewMixin, EdcProtocolViewMixin, Template
|
|
|
61
61
|
f"Subject {subject_identifier} not found at {location.display_name}.",
|
|
62
62
|
)
|
|
63
63
|
else:
|
|
64
|
-
if rx.rx_expiration_date and rx.rx_expiration_date <
|
|
64
|
+
if rx.rx_expiration_date and rx.rx_expiration_date < timezone.now():
|
|
65
65
|
messages.add_message(
|
|
66
66
|
self.request,
|
|
67
67
|
messages.WARNING,
|
|
@@ -4,10 +4,9 @@ from django.contrib.auth.decorators import login_required
|
|
|
4
4
|
from django.core.exceptions import ObjectDoesNotExist
|
|
5
5
|
from django.http import HttpRequest, HttpResponseRedirect
|
|
6
6
|
from django.urls import reverse
|
|
7
|
+
from django.utils import timezone
|
|
7
8
|
from django.utils.decorators import method_decorator
|
|
8
9
|
|
|
9
|
-
from edc_utils import get_utcnow
|
|
10
|
-
|
|
11
10
|
from ..models import Stock, StorageBin, StorageBinItem
|
|
12
11
|
from .add_to_storage_bin_view import AddToStorageBinView, StorageBinError
|
|
13
12
|
|
|
@@ -58,7 +57,7 @@ def move_to_bin(
|
|
|
58
57
|
else:
|
|
59
58
|
obj.storage_bin = storage_bin
|
|
60
59
|
obj.user_modified = user_modified
|
|
61
|
-
obj.modified =
|
|
60
|
+
obj.modified = timezone.now()
|
|
62
61
|
obj.save()
|
|
63
62
|
codes_moved.append(code)
|
|
64
63
|
return codes_moved, codes_not_moved
|
|
@@ -7,6 +7,7 @@ from django.contrib.auth.decorators import login_required
|
|
|
7
7
|
from django.db.models import QuerySet
|
|
8
8
|
from django.http import FileResponse, HttpResponseRedirect
|
|
9
9
|
from django.urls import reverse
|
|
10
|
+
from django.utils import timezone
|
|
10
11
|
from django.utils.decorators import method_decorator
|
|
11
12
|
from django.views.generic.base import TemplateView
|
|
12
13
|
from pylabels import Sheet, Specification
|
|
@@ -16,7 +17,6 @@ from edc_navbar import NavbarViewMixin
|
|
|
16
17
|
from edc_protocol.view_mixins import EdcProtocolViewMixin
|
|
17
18
|
from edc_pylabels.models import LabelConfiguration
|
|
18
19
|
from edc_pylabels.site_label_configs import site_label_configs
|
|
19
|
-
from edc_utils import get_utcnow
|
|
20
20
|
|
|
21
21
|
from ..models import Stock
|
|
22
22
|
|
|
@@ -118,7 +118,7 @@ class PrintLabelsView(EdcViewMixin, NavbarViewMixin, EdcProtocolViewMixin, Templ
|
|
|
118
118
|
return HttpResponseRedirect(request.META.get("HTTP_REFERER", ""))
|
|
119
119
|
else:
|
|
120
120
|
buffer = sheet.save_to_buffer()
|
|
121
|
-
now =
|
|
121
|
+
now = timezone.now()
|
|
122
122
|
return FileResponse(
|
|
123
123
|
buffer,
|
|
124
124
|
as_attachment=True,
|
|
@@ -3,10 +3,9 @@ from datetime import datetime
|
|
|
3
3
|
|
|
4
4
|
from django.conf import settings
|
|
5
5
|
from django.core.exceptions import ImproperlyConfigured
|
|
6
|
+
from django.utils import timezone
|
|
6
7
|
from django.utils.translation import gettext_lazy as _
|
|
7
8
|
|
|
8
|
-
from edc_utils import get_utcnow
|
|
9
|
-
|
|
10
9
|
from .address import Address
|
|
11
10
|
|
|
12
11
|
|
|
@@ -112,7 +111,7 @@ class ResearchProtocolConfig:
|
|
|
112
111
|
|
|
113
112
|
@property
|
|
114
113
|
def copyright(self) -> str:
|
|
115
|
-
return f"2010-{
|
|
114
|
+
return f"2010-{timezone.now().year}"
|
|
116
115
|
|
|
117
116
|
@property
|
|
118
117
|
def license(self) -> str:
|
|
@@ -15,7 +15,7 @@ from django.db import migrations, models
|
|
|
15
15
|
|
|
16
16
|
import edc_action_item.managers
|
|
17
17
|
import edc_model.validators.date
|
|
18
|
-
import
|
|
18
|
+
import django.utils.timezone
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class Migration(migrations.Migration):
|
|
@@ -109,14 +109,14 @@ class Migration(migrations.Migration):
|
|
|
109
109
|
"created",
|
|
110
110
|
models.DateTimeField(
|
|
111
111
|
blank=True,
|
|
112
|
-
default=
|
|
112
|
+
default=django.utils.timezone.now,
|
|
113
113
|
),
|
|
114
114
|
),
|
|
115
115
|
(
|
|
116
116
|
"modified",
|
|
117
117
|
models.DateTimeField(
|
|
118
118
|
blank=True,
|
|
119
|
-
default=
|
|
119
|
+
default=django.utils.timezone.now,
|
|
120
120
|
),
|
|
121
121
|
),
|
|
122
122
|
(
|
|
@@ -199,7 +199,7 @@ class Migration(migrations.Migration):
|
|
|
199
199
|
(
|
|
200
200
|
"report_datetime",
|
|
201
201
|
models.DateTimeField(
|
|
202
|
-
default=
|
|
202
|
+
default=django.utils.timezone.now,
|
|
203
203
|
verbose_name="Report Date and Time",
|
|
204
204
|
),
|
|
205
205
|
),
|
|
@@ -371,14 +371,14 @@ class Migration(migrations.Migration):
|
|
|
371
371
|
"created",
|
|
372
372
|
models.DateTimeField(
|
|
373
373
|
blank=True,
|
|
374
|
-
default=
|
|
374
|
+
default=django.utils.timezone.now,
|
|
375
375
|
),
|
|
376
376
|
),
|
|
377
377
|
(
|
|
378
378
|
"modified",
|
|
379
379
|
models.DateTimeField(
|
|
380
380
|
blank=True,
|
|
381
|
-
default=
|
|
381
|
+
default=django.utils.timezone.now,
|
|
382
382
|
),
|
|
383
383
|
),
|
|
384
384
|
(
|
|
@@ -453,7 +453,7 @@ class Migration(migrations.Migration):
|
|
|
453
453
|
(
|
|
454
454
|
"report_datetime",
|
|
455
455
|
models.DateTimeField(
|
|
456
|
-
default=
|
|
456
|
+
default=django.utils.timezone.now,
|
|
457
457
|
verbose_name="Report Date and Time",
|
|
458
458
|
),
|
|
459
459
|
),
|
|
@@ -15,7 +15,7 @@ from django.db import migrations, models
|
|
|
15
15
|
|
|
16
16
|
import edc_action_item.managers
|
|
17
17
|
import edc_model.validators.date
|
|
18
|
-
import
|
|
18
|
+
import django.utils.timezone
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class Migration(migrations.Migration):
|
|
@@ -133,14 +133,14 @@ class Migration(migrations.Migration):
|
|
|
133
133
|
"created",
|
|
134
134
|
models.DateTimeField(
|
|
135
135
|
blank=True,
|
|
136
|
-
default=
|
|
136
|
+
default=django.utils.timezone.now,
|
|
137
137
|
),
|
|
138
138
|
),
|
|
139
139
|
(
|
|
140
140
|
"modified",
|
|
141
141
|
models.DateTimeField(
|
|
142
142
|
blank=True,
|
|
143
|
-
default=
|
|
143
|
+
default=django.utils.timezone.now,
|
|
144
144
|
),
|
|
145
145
|
),
|
|
146
146
|
(
|
|
@@ -223,7 +223,7 @@ class Migration(migrations.Migration):
|
|
|
223
223
|
(
|
|
224
224
|
"report_datetime",
|
|
225
225
|
models.DateTimeField(
|
|
226
|
-
default=
|
|
226
|
+
default=django.utils.timezone.now,
|
|
227
227
|
verbose_name="Report Date and Time",
|
|
228
228
|
),
|
|
229
229
|
),
|
|
@@ -395,14 +395,14 @@ class Migration(migrations.Migration):
|
|
|
395
395
|
"created",
|
|
396
396
|
models.DateTimeField(
|
|
397
397
|
blank=True,
|
|
398
|
-
default=
|
|
398
|
+
default=django.utils.timezone.now,
|
|
399
399
|
),
|
|
400
400
|
),
|
|
401
401
|
(
|
|
402
402
|
"modified",
|
|
403
403
|
models.DateTimeField(
|
|
404
404
|
blank=True,
|
|
405
|
-
default=
|
|
405
|
+
default=django.utils.timezone.now,
|
|
406
406
|
),
|
|
407
407
|
),
|
|
408
408
|
(
|
|
@@ -477,7 +477,7 @@ class Migration(migrations.Migration):
|
|
|
477
477
|
(
|
|
478
478
|
"report_datetime",
|
|
479
479
|
models.DateTimeField(
|
|
480
|
-
default=
|
|
480
|
+
default=django.utils.timezone.now,
|
|
481
481
|
verbose_name="Report Date and Time",
|
|
482
482
|
),
|
|
483
483
|
),
|
|
@@ -971,14 +971,14 @@ class Migration(migrations.Migration):
|
|
|
971
971
|
"created",
|
|
972
972
|
models.DateTimeField(
|
|
973
973
|
blank=True,
|
|
974
|
-
default=
|
|
974
|
+
default=django.utils.timezone.now,
|
|
975
975
|
),
|
|
976
976
|
),
|
|
977
977
|
(
|
|
978
978
|
"modified",
|
|
979
979
|
models.DateTimeField(
|
|
980
980
|
blank=True,
|
|
981
|
-
default=
|
|
981
|
+
default=django.utils.timezone.now,
|
|
982
982
|
),
|
|
983
983
|
),
|
|
984
984
|
(
|
|
@@ -1053,7 +1053,7 @@ class Migration(migrations.Migration):
|
|
|
1053
1053
|
(
|
|
1054
1054
|
"report_datetime",
|
|
1055
1055
|
models.DateTimeField(
|
|
1056
|
-
default=
|
|
1056
|
+
default=django.utils.timezone.now,
|
|
1057
1057
|
verbose_name="Report Date and Time",
|
|
1058
1058
|
),
|
|
1059
1059
|
),
|
|
@@ -1285,14 +1285,14 @@ class Migration(migrations.Migration):
|
|
|
1285
1285
|
"created",
|
|
1286
1286
|
models.DateTimeField(
|
|
1287
1287
|
blank=True,
|
|
1288
|
-
default=
|
|
1288
|
+
default=django.utils.timezone.now,
|
|
1289
1289
|
),
|
|
1290
1290
|
),
|
|
1291
1291
|
(
|
|
1292
1292
|
"modified",
|
|
1293
1293
|
models.DateTimeField(
|
|
1294
1294
|
blank=True,
|
|
1295
|
-
default=
|
|
1295
|
+
default=django.utils.timezone.now,
|
|
1296
1296
|
),
|
|
1297
1297
|
),
|
|
1298
1298
|
(
|
|
@@ -1375,7 +1375,7 @@ class Migration(migrations.Migration):
|
|
|
1375
1375
|
(
|
|
1376
1376
|
"report_datetime",
|
|
1377
1377
|
models.DateTimeField(
|
|
1378
|
-
default=
|
|
1378
|
+
default=django.utils.timezone.now,
|
|
1379
1379
|
verbose_name="Report Date and Time",
|
|
1380
1380
|
),
|
|
1381
1381
|
),
|
edc_protocol_incident/migrations/0005_protocolincident_historicalprotocolincident_and_more.py
CHANGED
|
@@ -15,7 +15,7 @@ from django.db import migrations, models
|
|
|
15
15
|
|
|
16
16
|
import edc_action_item.managers
|
|
17
17
|
import edc_model.validators.date
|
|
18
|
-
import
|
|
18
|
+
import django.utils.timezone
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class Migration(migrations.Migration):
|
|
@@ -45,14 +45,14 @@ class Migration(migrations.Migration):
|
|
|
45
45
|
"created",
|
|
46
46
|
models.DateTimeField(
|
|
47
47
|
blank=True,
|
|
48
|
-
default=
|
|
48
|
+
default=django.utils.timezone.now,
|
|
49
49
|
),
|
|
50
50
|
),
|
|
51
51
|
(
|
|
52
52
|
"modified",
|
|
53
53
|
models.DateTimeField(
|
|
54
54
|
blank=True,
|
|
55
|
-
default=
|
|
55
|
+
default=django.utils.timezone.now,
|
|
56
56
|
),
|
|
57
57
|
),
|
|
58
58
|
(
|
|
@@ -127,7 +127,7 @@ class Migration(migrations.Migration):
|
|
|
127
127
|
(
|
|
128
128
|
"report_datetime",
|
|
129
129
|
models.DateTimeField(
|
|
130
|
-
default=
|
|
130
|
+
default=django.utils.timezone.now,
|
|
131
131
|
verbose_name="Report Date and Time",
|
|
132
132
|
),
|
|
133
133
|
),
|
|
@@ -359,14 +359,14 @@ class Migration(migrations.Migration):
|
|
|
359
359
|
"created",
|
|
360
360
|
models.DateTimeField(
|
|
361
361
|
blank=True,
|
|
362
|
-
default=
|
|
362
|
+
default=django.utils.timezone.now,
|
|
363
363
|
),
|
|
364
364
|
),
|
|
365
365
|
(
|
|
366
366
|
"modified",
|
|
367
367
|
models.DateTimeField(
|
|
368
368
|
blank=True,
|
|
369
|
-
default=
|
|
369
|
+
default=django.utils.timezone.now,
|
|
370
370
|
),
|
|
371
371
|
),
|
|
372
372
|
(
|
|
@@ -449,7 +449,7 @@ class Migration(migrations.Migration):
|
|
|
449
449
|
(
|
|
450
450
|
"report_datetime",
|
|
451
451
|
models.DateTimeField(
|
|
452
|
-
default=
|
|
452
|
+
default=django.utils.timezone.now,
|
|
453
453
|
verbose_name="Report Date and Time",
|
|
454
454
|
),
|
|
455
455
|
),
|