edu-rdm-integration 3.11.3__tar.gz → 3.11.4__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.
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/CHANGELOG.md +53 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/PKG-INFO +1 -1
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/consts.py +8 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +4 -3
- edu_rdm_integration-3.11.4/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +77 -0
- edu_rdm_integration-3.11.4/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +51 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +18 -2
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/PKG-INFO +1 -1
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/SOURCES.txt +2 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/LICENSE +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/README.md +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/pyproject.toml +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/setup.cfg +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/caches.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/errors.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/functions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/presenters.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/receivers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/results.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/runners.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/strategies.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/strings.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/tests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/validators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/migrations/0002_auto_20250204_1413.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/migrations/0003_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/templates/ui-js/start-task.js +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/utils.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0003_create_index_file_upload_status.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0015_set_exporting_sub_stage_status.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/templates/ui-js/transferred-entity-list.js +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/migrations/0002_rename_regionaldatamartentityenum_rdmentityenum.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/migrations/0002_rename_regionaldatamartmodelenum_rdmmodelenum.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/function_templates/function_collect_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/results.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/caches.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/errors.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/functions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/presenters.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/results.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/runners.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/strings.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/tests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/base/validators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/non_calculated/strategies.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_latest_models_data.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/commands/collect_models_data.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/0003_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/0004_auto_20250704_0825.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/__init__.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/apps.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/caches.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/consts.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/enums.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/errors.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/functions.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/helpers.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/managers.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/presenters.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/results.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/runners.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/strings.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/tests.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/function_templates/function_export_data_template/validators.py-tpl +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/commands/export_entities_data.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/commands/export_latest_entities_data.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/stage_for_export.js +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/commands/async_fix_attachment_size.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/commands/check_upload_status.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_status.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/commands/datamart_upload.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/migrations/0002_auto_20250704_0810.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/templates/ui-js/object-grid-buttons.js +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
- {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -29,6 +29,59 @@
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
## [3.11.4] - 2025-01-27
|
|
33
|
+
|
|
34
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
35
|
+
оптимизирована производительность bulk_create операций.
|
|
36
|
+
|
|
37
|
+
### Добавлено
|
|
38
|
+
|
|
39
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
40
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
41
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
42
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
43
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
44
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
45
|
+
|
|
46
|
+
### Изменено
|
|
47
|
+
|
|
48
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
49
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
50
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
51
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
52
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
53
|
+
|
|
54
|
+
### Добавлены новые настройки
|
|
55
|
+
|
|
56
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
57
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
58
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
59
|
+
|
|
60
|
+
В settings.py:
|
|
61
|
+
|
|
62
|
+
- Добавить значение по умолчанию:
|
|
63
|
+
```
|
|
64
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
65
|
+
...
|
|
66
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
67
|
+
...
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- Получить значение настройки из конфигурационного файла:
|
|
72
|
+
```
|
|
73
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
74
|
+
COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
[rmd_general]
|
|
81
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
82
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
83
|
+
```
|
|
84
|
+
|
|
32
85
|
## [3.11.3] - 2025-07-25
|
|
33
86
|
|
|
34
87
|
### Исправлено
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.11.
|
|
3
|
+
Version: 3.11.4
|
|
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.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/consts.py
RENAMED
|
@@ -16,6 +16,14 @@ HASH_ALGORITHM = 'md_gost12_512'
|
|
|
16
16
|
|
|
17
17
|
BATCH_SIZE = 5000
|
|
18
18
|
|
|
19
|
+
CHUNK_MAX_VALUE = 100000
|
|
20
|
+
"""Максимальное значение для размера чанка при сборе данных РВД.
|
|
21
|
+
Ограничение 100000 предотвращает чрезмерное потребление памяти и блокировку БД
|
|
22
|
+
при обработке больших объемов данных в одном батче."""
|
|
23
|
+
|
|
24
|
+
SPLIT_BY_QUANTITY_MAX_VALUE = 366
|
|
25
|
+
"""Максимальное значение для размера подпериода при временном разделении данных."""
|
|
26
|
+
|
|
19
27
|
ACADEMIC_YEAR = {
|
|
20
28
|
'start_day': 1,
|
|
21
29
|
'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,
|
|
@@ -70,8 +72,9 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
70
72
|
display_field='split_by',
|
|
71
73
|
label='Единица подпериода',
|
|
72
74
|
anchor='100%',
|
|
73
|
-
editable=
|
|
75
|
+
editable=False,
|
|
74
76
|
trigger_action_all=True,
|
|
77
|
+
client_id='split_by',
|
|
75
78
|
)
|
|
76
79
|
split_by.set_store(ExtDataStore(enumerate(DatesSplitter.get_split_by_modes())))
|
|
77
80
|
split_by_quantity = ExtNumberField(
|
|
@@ -80,6 +83,7 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
80
83
|
allow_blank=False,
|
|
81
84
|
allow_decimals=False,
|
|
82
85
|
allow_negative=False,
|
|
86
|
+
max_value=SPLIT_BY_QUANTITY_MAX_VALUE,
|
|
83
87
|
anchor='100%',
|
|
84
88
|
value=1,
|
|
85
89
|
)
|
|
@@ -104,6 +108,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
104
108
|
allow_negative=False,
|
|
105
109
|
anchor='100%',
|
|
106
110
|
value=BATCH_SIZE,
|
|
111
|
+
max_value=CHUNK_MAX_VALUE,
|
|
112
|
+
client_id='batch_size',
|
|
107
113
|
)
|
|
108
114
|
by_institutes = ExtCheckBox(
|
|
109
115
|
anchor='100%',
|
|
@@ -111,10 +117,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
111
117
|
name='by_institutes',
|
|
112
118
|
)
|
|
113
119
|
institute_ids = ExtStringField(
|
|
114
|
-
label='
|
|
120
|
+
label='ID организаций (через запятую, например: 1,2,3 или оставить пустым для всех)',
|
|
115
121
|
name='institute_ids',
|
|
116
122
|
allow_blank=True,
|
|
117
123
|
anchor='100%',
|
|
124
|
+
max_length=100,
|
|
125
|
+
client_id='institute_ids',
|
|
118
126
|
)
|
|
119
127
|
institute_count = ExtNumberField(
|
|
120
128
|
name='institute_count',
|
|
@@ -123,6 +131,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
123
131
|
anchor='100%',
|
|
124
132
|
min_value=ALL_UNITS_IN_COMMAND,
|
|
125
133
|
value=ALL_UNITS_IN_COMMAND,
|
|
134
|
+
client_id='institute_count',
|
|
135
|
+
allow_blank=False,
|
|
126
136
|
)
|
|
127
137
|
hint_text = ExtDisplayField(
|
|
128
138
|
value=(
|
|
@@ -151,6 +161,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
151
161
|
split_mode,
|
|
152
162
|
)
|
|
153
163
|
|
|
164
|
+
def set_params(self, params: Dict[str, Any]) -> None:
|
|
165
|
+
"""Устанавливает параметры окна."""
|
|
166
|
+
super().set_params(params)
|
|
167
|
+
|
|
168
|
+
self.template_globals = 'ui-js/collect-command-window.js'
|
|
169
|
+
|
|
154
170
|
|
|
155
171
|
class DetailCollectCommandWindow(BaseEditWindow):
|
|
156
172
|
"""Окно просмотра команды сбора данных модели РВД."""
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/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.11.
|
|
3
|
+
Version: 3.11.4
|
|
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
|
|
@@ -182,6 +182,8 @@ src/edu_rdm_integration/stages/collect_data/registry/__init__.py
|
|
|
182
182
|
src/edu_rdm_integration/stages/collect_data/registry/actions.py
|
|
183
183
|
src/edu_rdm_integration/stages/collect_data/registry/apps.py
|
|
184
184
|
src/edu_rdm_integration/stages/collect_data/registry/ui.py
|
|
185
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js
|
|
186
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js
|
|
185
187
|
src/edu_rdm_integration/stages/export_data/__init__.py
|
|
186
188
|
src/edu_rdm_integration/stages/export_data/apps.py
|
|
187
189
|
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.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/apps.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/caches.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/consts.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/enums.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/errors.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
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/tests.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
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/__init__.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/enums.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/helpers.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/mapping.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/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.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/signals.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/storages.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/typing.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/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.11.3 → edu_rdm_integration-3.11.4}/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.11.3 → edu_rdm_integration-3.11.4}/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
|
|
File without changes
|
|
File without changes
|