edu-rdm-integration 3.16.0__tar.gz → 3.16.1__tar.gz
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 edu-rdm-integration might be problematic. Click here for more details.
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/CHANGELOG.md +106 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/PKG-INFO +1 -1
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/consts.py +8 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +4 -3
- edu_rdm_integration-3.16.1/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +77 -0
- edu_rdm_integration-3.16.1/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +51 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +18 -2
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/PKG-INFO +1 -1
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/SOURCES.txt +2 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/LICENSE +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/README.md +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/pyproject.toml +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/setup.cfg +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/create-collect-command-win.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -28,6 +28,59 @@
|
|
|
28
28
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
|
+
## [3.16.1] - 2025-01-27
|
|
32
|
+
|
|
33
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
34
|
+
оптимизирована производительность bulk_create операций.
|
|
35
|
+
|
|
36
|
+
### Добавлено
|
|
37
|
+
|
|
38
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
39
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
40
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
41
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
42
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
43
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
44
|
+
|
|
45
|
+
### Изменено
|
|
46
|
+
|
|
47
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
48
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
49
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
50
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
51
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
52
|
+
|
|
53
|
+
### Добавлены новые настройки
|
|
54
|
+
|
|
55
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
56
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
57
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
58
|
+
|
|
59
|
+
В settings.py:
|
|
60
|
+
|
|
61
|
+
- Добавить значение по умолчанию:
|
|
62
|
+
```
|
|
63
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
64
|
+
...
|
|
65
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
66
|
+
...
|
|
67
|
+
})
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- Получить значение настройки из конфигурационного файла:
|
|
71
|
+
```
|
|
72
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
73
|
+
COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
[rmd_general]
|
|
80
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
81
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
82
|
+
```
|
|
83
|
+
|
|
31
84
|
|
|
32
85
|
## [3.16.0] - 2025-08-13
|
|
33
86
|
|
|
@@ -128,6 +181,59 @@
|
|
|
128
181
|
MINOR Доработка механизма экспорта данных в РВД - изменена логика проставления экспорта в BaseExportDataFunction
|
|
129
182
|
|
|
130
183
|
|
|
184
|
+
## [3.11.4] - 2025-01-27
|
|
185
|
+
|
|
186
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
187
|
+
оптимизирована производительность bulk_create операций.
|
|
188
|
+
|
|
189
|
+
### Добавлено
|
|
190
|
+
|
|
191
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
192
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
193
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
194
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
195
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
196
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
197
|
+
|
|
198
|
+
### Изменено
|
|
199
|
+
|
|
200
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
201
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
202
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
203
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
204
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
205
|
+
|
|
206
|
+
### Добавлены новые настройки
|
|
207
|
+
|
|
208
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
209
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
210
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
211
|
+
|
|
212
|
+
В settings.py:
|
|
213
|
+
|
|
214
|
+
- Добавить значение по умолчанию:
|
|
215
|
+
```
|
|
216
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
217
|
+
...
|
|
218
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
219
|
+
...
|
|
220
|
+
})
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
- Получить значение настройки из конфигурационного файла:
|
|
224
|
+
```
|
|
225
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
226
|
+
COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
[rmd_general]
|
|
233
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
234
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
235
|
+
```
|
|
236
|
+
|
|
131
237
|
## [3.11.3] - 2025-07-25
|
|
132
238
|
|
|
133
239
|
### Исправлено
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.1
|
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
|
5
5
|
Author-email: BARS Group <education_dev@bars.group>
|
|
6
6
|
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/consts.py
RENAMED
|
@@ -21,6 +21,14 @@ HASH_ALGORITHM = HashGostFunctionVersion.GOST12_512
|
|
|
21
21
|
|
|
22
22
|
BATCH_SIZE = 5000
|
|
23
23
|
|
|
24
|
+
CHUNK_MAX_VALUE = 100000
|
|
25
|
+
"""Максимальное значение для размера чанка при сборе данных РВД.
|
|
26
|
+
Ограничение 100000 предотвращает чрезмерное потребление памяти и блокировку БД
|
|
27
|
+
при обработке больших объемов данных в одном батче."""
|
|
28
|
+
|
|
29
|
+
SPLIT_BY_QUANTITY_MAX_VALUE = 366
|
|
30
|
+
"""Максимальное значение для размера подпериода при временном разделении данных."""
|
|
31
|
+
|
|
24
32
|
ACADEMIC_YEAR = {
|
|
25
33
|
'start_day': 1,
|
|
26
34
|
'start_month': 9,
|
|
@@ -2,6 +2,9 @@ from functools import (
|
|
|
2
2
|
partial,
|
|
3
3
|
)
|
|
4
4
|
|
|
5
|
+
from django.conf import (
|
|
6
|
+
settings,
|
|
7
|
+
)
|
|
5
8
|
from django.db.models import (
|
|
6
9
|
F,
|
|
7
10
|
Func,
|
|
@@ -268,6 +271,4 @@ class BaseCollectingDataProgressPack(BaseCommandProgressPack):
|
|
|
268
271
|
)
|
|
269
272
|
for command in commands_to_save
|
|
270
273
|
]
|
|
271
|
-
|
|
272
|
-
for obj in objs:
|
|
273
|
-
super().save_row(obj, create_new, request, context, *args, **kwargs)
|
|
274
|
+
self.model.objects.bulk_create(objs, batch_size=settings.COLLECT_PROGRESS_BATCH_SIZE)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{% load educommon %}
|
|
2
|
+
{% include "ui-js/validators.js" %}
|
|
3
|
+
|
|
4
|
+
Ext.onReady(function() {
|
|
5
|
+
// Инициализация валидаторов
|
|
6
|
+
initializeValidators();
|
|
7
|
+
|
|
8
|
+
// Инициализация взаимозависимых полей
|
|
9
|
+
initializeBatchSizeSplitByLogic();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
function initializeValidators() {
|
|
13
|
+
// Валидатор для institute_ids
|
|
14
|
+
var instituteIdsField = Ext.getCmp('institute_ids');
|
|
15
|
+
if (instituteIdsField) {
|
|
16
|
+
instituteIdsField.validate = instituteIdsValidator;
|
|
17
|
+
instituteIdsField.on('blur', function() {
|
|
18
|
+
this.validate();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Валидатор для institute_count
|
|
23
|
+
var instituteCountField = Ext.getCmp('institute_count');
|
|
24
|
+
if (instituteCountField) {
|
|
25
|
+
var originalValidator = instituteCountField.validate;
|
|
26
|
+
|
|
27
|
+
instituteCountField.validate = function() {
|
|
28
|
+
if (!instituteCountValidator.call(this)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (originalValidator) {
|
|
32
|
+
return originalValidator.call(this);
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
instituteCountField.on('blur', function() {
|
|
38
|
+
this.validate();
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function initializeBatchSizeSplitByLogic() {
|
|
44
|
+
var batchSizeField = Ext.getCmp('batch_size');
|
|
45
|
+
var splitByField = Ext.getCmp('split_by');
|
|
46
|
+
|
|
47
|
+
if (!batchSizeField || !splitByField) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Функция для обновления обязательности полей
|
|
52
|
+
function updateFieldRequirements() {
|
|
53
|
+
var batchSizeValue = batchSizeField.getValue();
|
|
54
|
+
var splitByValue = splitByField.getValue();
|
|
55
|
+
|
|
56
|
+
if (splitByValue && splitByValue !== '') {
|
|
57
|
+
batchSizeField.allowBlank = true;
|
|
58
|
+
batchSizeField.clearInvalid();
|
|
59
|
+
} else {
|
|
60
|
+
batchSizeField.allowBlank = false;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (batchSizeValue && batchSizeValue !== '' && batchSizeValue !== 0) {
|
|
64
|
+
splitByField.allowBlank = true;
|
|
65
|
+
splitByField.clearInvalid();
|
|
66
|
+
} else {
|
|
67
|
+
splitByField.allowBlank = false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Обработчики изменения полей
|
|
72
|
+
batchSizeField.on('change', updateFieldRequirements);
|
|
73
|
+
splitByField.on('change', updateFieldRequirements);
|
|
74
|
+
|
|
75
|
+
// Инициализация при загрузке
|
|
76
|
+
updateFieldRequirements();
|
|
77
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Валидатор для поля institute_ids
|
|
2
|
+
var instituteIdsValidator = function () {
|
|
3
|
+
var value = this.getValue();
|
|
4
|
+
|
|
5
|
+
// Если поле пустое - это допустимо
|
|
6
|
+
if (!value || value.trim() === '') {
|
|
7
|
+
this.clearInvalid();
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
value = value.trim();
|
|
12
|
+
|
|
13
|
+
if (!/^[0-9,]+$/.test(value)) {
|
|
14
|
+
this.markInvalid('Разрешены только цифры и запятые');
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
var numbers = value.split(',');
|
|
19
|
+
|
|
20
|
+
for (var i = 0; i < numbers.length; i++) {
|
|
21
|
+
if (numbers[i].trim() === '') {
|
|
22
|
+
this.markInvalid('Между запятыми не должно быть пустых значений');
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var uniqueNumbers = [];
|
|
28
|
+
for (var j = 0; j < numbers.length; j++) {
|
|
29
|
+
var num = parseInt(numbers[j].trim());
|
|
30
|
+
if (uniqueNumbers.indexOf(num) !== -1) {
|
|
31
|
+
this.markInvalid('ID организаций не должны повторяться');
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
uniqueNumbers.push(num);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
this.clearInvalid();
|
|
38
|
+
return true;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Валидатор для поля institute_count - запрещаем 0
|
|
42
|
+
var instituteCountValidator = function() {
|
|
43
|
+
var value = this.getValue();
|
|
44
|
+
if (value === 0) {
|
|
45
|
+
this.markInvalid('Количество организаций не может быть равно 0');
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
this.clearInvalid();
|
|
50
|
+
return true;
|
|
51
|
+
};
|
|
@@ -24,6 +24,8 @@ from educommon.utils.date import (
|
|
|
24
24
|
|
|
25
25
|
from edu_rdm_integration.core.consts import (
|
|
26
26
|
BATCH_SIZE,
|
|
27
|
+
CHUNK_MAX_VALUE,
|
|
28
|
+
SPLIT_BY_QUANTITY_MAX_VALUE,
|
|
27
29
|
)
|
|
28
30
|
from edu_rdm_integration.core.registry.ui import (
|
|
29
31
|
BaseCreateCommandWindow,
|
|
@@ -75,8 +77,9 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
75
77
|
display_field='split_by',
|
|
76
78
|
label='Единица подпериода',
|
|
77
79
|
anchor='100%',
|
|
78
|
-
editable=
|
|
80
|
+
editable=False,
|
|
79
81
|
trigger_action_all=True,
|
|
82
|
+
client_id='split_by',
|
|
80
83
|
)
|
|
81
84
|
split_by.set_store(ExtDataStore(enumerate(DatesSplitter.get_split_by_modes())))
|
|
82
85
|
split_by_quantity = ExtNumberField(
|
|
@@ -85,6 +88,7 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
85
88
|
allow_blank=False,
|
|
86
89
|
allow_decimals=False,
|
|
87
90
|
allow_negative=False,
|
|
91
|
+
max_value=SPLIT_BY_QUANTITY_MAX_VALUE,
|
|
88
92
|
anchor='100%',
|
|
89
93
|
value=1,
|
|
90
94
|
)
|
|
@@ -109,6 +113,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
109
113
|
allow_negative=False,
|
|
110
114
|
anchor='100%',
|
|
111
115
|
value=BATCH_SIZE,
|
|
116
|
+
max_value=CHUNK_MAX_VALUE,
|
|
117
|
+
client_id='batch_size',
|
|
112
118
|
)
|
|
113
119
|
by_institutes = ExtCheckBox(
|
|
114
120
|
anchor='100%',
|
|
@@ -116,10 +122,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
116
122
|
name='by_institutes',
|
|
117
123
|
)
|
|
118
124
|
institute_ids = ExtStringField(
|
|
119
|
-
label='
|
|
125
|
+
label='ID организаций (через запятую, например: 1,2,3 или оставить пустым для всех)',
|
|
120
126
|
name='institute_ids',
|
|
121
127
|
allow_blank=True,
|
|
122
128
|
anchor='100%',
|
|
129
|
+
max_length=100,
|
|
130
|
+
client_id='institute_ids',
|
|
123
131
|
)
|
|
124
132
|
institute_count = ExtNumberField(
|
|
125
133
|
name='institute_count',
|
|
@@ -128,6 +136,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
128
136
|
anchor='100%',
|
|
129
137
|
min_value=ALL_UNITS_IN_COMMAND,
|
|
130
138
|
value=ALL_UNITS_IN_COMMAND,
|
|
139
|
+
client_id='institute_count',
|
|
140
|
+
allow_blank=False,
|
|
131
141
|
)
|
|
132
142
|
hint_text = ExtDisplayField(
|
|
133
143
|
value=(
|
|
@@ -156,6 +166,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
156
166
|
split_mode,
|
|
157
167
|
)
|
|
158
168
|
|
|
169
|
+
def set_params(self, params: Dict[str, Any]) -> None:
|
|
170
|
+
"""Устанавливает параметры окна."""
|
|
171
|
+
super().set_params(params)
|
|
172
|
+
|
|
173
|
+
self.template_globals = 'ui-js/collect-command-window.js'
|
|
174
|
+
|
|
159
175
|
|
|
160
176
|
class DetailCollectCommandWindow(BaseEditWindow):
|
|
161
177
|
"""Окно просмотра команды сбора данных модели РВД."""
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.1
|
|
4
4
|
Summary: Интеграция с Региональной витриной данных
|
|
5
5
|
Author-email: BARS Group <education_dev@bars.group>
|
|
6
6
|
Project-URL: Homepage, https://stash.bars-open.ru/projects/EDUBASE/repos/edu-rdm-integration/browse
|
|
@@ -165,7 +165,9 @@ src/edu_rdm_integration/stages/collect_data/registry/__init__.py
|
|
|
165
165
|
src/edu_rdm_integration/stages/collect_data/registry/actions.py
|
|
166
166
|
src/edu_rdm_integration/stages/collect_data/registry/apps.py
|
|
167
167
|
src/edu_rdm_integration/stages/collect_data/registry/ui.py
|
|
168
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js
|
|
168
169
|
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/create-collect-command-win.js
|
|
170
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js
|
|
169
171
|
src/edu_rdm_integration/stages/export_data/__init__.py
|
|
170
172
|
src/edu_rdm_integration/stages/export_data/apps.py
|
|
171
173
|
src/edu_rdm_integration/stages/export_data/consts.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/__init__.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/enums.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/helpers.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/mapping.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/signals.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/storages.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/typing.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/core/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/rdm_models/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.1}/src/edu_rdm_integration/stages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|