edu-rdm-integration 3.16.0__tar.gz → 3.16.2__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.2}/CHANGELOG.md +123 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/PKG-INFO +1 -1
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/consts.py +8 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +4 -3
- edu_rdm_integration-3.16.2/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +98 -0
- edu_rdm_integration-3.16.2/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +66 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +20 -7
- edu_rdm_integration-3.16.2/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +41 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/registry/ui.py +8 -5
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration.egg-info/PKG-INFO +1 -1
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration.egg-info/SOURCES.txt +2 -1
- edu_rdm_integration-3.16.0/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/create-collect-command-win.js +0 -14
- edu_rdm_integration-3.16.0/src/edu_rdm_integration/stages/export_data/registry/templates/ui-js/create-export-command-win.js +0 -14
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/CONDUCT.md +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/LICENSE +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/MANIFEST.in +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/README.md +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/pyproject.toml +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/setup.cfg +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/collect_and_export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/mapping.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/redis_cache.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/registry/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/core/registry/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/signals.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/storages.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/typing.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/stages/collect_data/functions/calculated/strategies.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/src/edu_rdm_integration/stages/collect_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/migrations/0002_edurdmcollectdatacommandprogress.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/function_templates/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/caches.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/errors.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/functions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/presenters.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/requests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/results.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/runners.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/strings.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/tests.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/functions/base/validators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/src/edu_rdm_integration/stages/export_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/service/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/management/commands/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/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.2}/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.2}/src/edu_rdm_integration/stages/upload_data/migrations/0001_initial.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/__init__.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/actions.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/apps.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/enums.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/managers.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/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.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/models.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/stages/upload_data/uploader_log/ui.py +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
- {edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration.egg-info/top_level.txt +0 -0
|
@@ -29,6 +29,76 @@
|
|
|
29
29
|
### Удалено
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
## [3.16.2] - 2025-08-19
|
|
33
|
+
|
|
34
|
+
Перенес javascript логику из create-collect-command-win.js в collect-command-window.js т.к. темплейт был перекрыт.
|
|
35
|
+
Добавлена валидация начала периода < текущая дата и начало периода < конец периода сбора и экспорта данных.
|
|
36
|
+
|
|
37
|
+
### Добавлено
|
|
38
|
+
|
|
39
|
+
- [EDUKNDG-15671](https://jira.bars.group/browse/EDUKNDG-15671)
|
|
40
|
+
PATCH Добавлена валидация полей начало и конец периода сбора и экспорта данных.
|
|
41
|
+
|
|
42
|
+
### Удалено
|
|
43
|
+
|
|
44
|
+
- [EDUKNDG-15671](https://jira.bars.group/browse/EDUKNDG-15671)
|
|
45
|
+
PATCH Удален темплейт create-collect-command-win.js
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## [3.16.1] - 2025-01-27
|
|
49
|
+
|
|
50
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
51
|
+
оптимизирована производительность bulk_create операций.
|
|
52
|
+
|
|
53
|
+
### Добавлено
|
|
54
|
+
|
|
55
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
56
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
57
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
58
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
59
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
60
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
61
|
+
|
|
62
|
+
### Изменено
|
|
63
|
+
|
|
64
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
65
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
66
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
67
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
68
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
69
|
+
|
|
70
|
+
### Добавлены новые настройки
|
|
71
|
+
|
|
72
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
73
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
74
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
75
|
+
|
|
76
|
+
В settings.py:
|
|
77
|
+
|
|
78
|
+
- Добавить значение по умолчанию:
|
|
79
|
+
```
|
|
80
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
81
|
+
...
|
|
82
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
83
|
+
...
|
|
84
|
+
})
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- Получить значение настройки из конфигурационного файла:
|
|
88
|
+
```
|
|
89
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
90
|
+
COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
[rmd_general]
|
|
97
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
98
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
32
102
|
## [3.16.0] - 2025-08-13
|
|
33
103
|
|
|
34
104
|
Добавлена поддержка django 4.2
|
|
@@ -128,6 +198,59 @@
|
|
|
128
198
|
MINOR Доработка механизма экспорта данных в РВД - изменена логика проставления экспорта в BaseExportDataFunction
|
|
129
199
|
|
|
130
200
|
|
|
201
|
+
## [3.11.4] - 2025-01-27
|
|
202
|
+
|
|
203
|
+
Улучшена валидация полей формы сбора данных, добавлена логика взаимозависимости полей batch_size и split_by,
|
|
204
|
+
оптимизирована производительность bulk_create операций.
|
|
205
|
+
|
|
206
|
+
### Добавлено
|
|
207
|
+
|
|
208
|
+
- Добавлен файл validators.js с валидаторами для полей формы
|
|
209
|
+
- Добавлен валидатор instituteIdsValidator для поля institute_ids
|
|
210
|
+
- Добавлен валидатор instituteCountValidator для поля institute_count
|
|
211
|
+
- Добавлен файл collect-command-window.js с JavaScript логикой для формы
|
|
212
|
+
- Добавлена логика взаимозависимости полей batch_size и split_by
|
|
213
|
+
- Добавлен параметр RDM_COLLECT_PROGRESS_BATCH_SIZE для настройки размера батча
|
|
214
|
+
|
|
215
|
+
### Изменено
|
|
216
|
+
|
|
217
|
+
- Поле institute_ids: добавлены label, max_length и client_id
|
|
218
|
+
- Поле institute_count: подключен валидатор instituteCountValidator
|
|
219
|
+
- Поле split_by: установлено editable=False для ограничения ввода только из списка
|
|
220
|
+
- Метод save_row в actions.py: заменена логика сохранения на bulk_create с настраиваемым batch_size
|
|
221
|
+
- Добавлена JavaScript логика для корректной проверки обязательности взаимозависимых полей
|
|
222
|
+
|
|
223
|
+
### Добавлены новые настройки
|
|
224
|
+
|
|
225
|
+
| Название настройки в settings | Описание | Значение по умолчанию |
|
|
226
|
+
|-----------------------------------|-----------------------------------------------------------------------------------------|-----------------------|
|
|
227
|
+
| RDM_COLLECT_PROGRESS_BATCH_SIZE | Размер батча для bulk_create операций при сборе данных РВД. | 10000 |
|
|
228
|
+
|
|
229
|
+
В settings.py:
|
|
230
|
+
|
|
231
|
+
- Добавить значение по умолчанию:
|
|
232
|
+
```
|
|
233
|
+
PROJECT_DEFAULT_CONFIG.update({
|
|
234
|
+
...
|
|
235
|
+
('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE'): 10000,
|
|
236
|
+
...
|
|
237
|
+
})
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
- Получить значение настройки из конфигурационного файла:
|
|
241
|
+
```
|
|
242
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
243
|
+
COLLECT_PROGRESS_BATCH_SIZE = conf.get_int('rmd_general', 'COLLECT_PROGRESS_BATCH_SIZE')
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
В дефолтный конфиг проекта необходимо добавить:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
[rmd_general]
|
|
250
|
+
# Размер батча для bulk_create операций при сборе данных РВД.
|
|
251
|
+
COLLECT_PROGRESS_BATCH_SIZE = 10000
|
|
252
|
+
```
|
|
253
|
+
|
|
131
254
|
## [3.11.3] - 2025-07-25
|
|
132
255
|
|
|
133
256
|
### Исправлено
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edu-rdm-integration
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.2
|
|
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.2}/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,98 @@
|
|
|
1
|
+
{% load educommon %}
|
|
2
|
+
{% include "ui-js/validators.js" %}
|
|
3
|
+
|
|
4
|
+
var win = Ext.getCmp('{{ component.client_id }}');
|
|
5
|
+
|
|
6
|
+
Ext.onReady(function() {
|
|
7
|
+
// Инициализация валидаторов
|
|
8
|
+
initializeValidators();
|
|
9
|
+
|
|
10
|
+
// Инициализация взаимозависимых полей
|
|
11
|
+
initializeBatchSizeSplitByLogic();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function initializeValidators() {
|
|
15
|
+
// Валидатор для institute_ids
|
|
16
|
+
var instituteIdsField = Ext.getCmp('institute_ids');
|
|
17
|
+
if (instituteIdsField) {
|
|
18
|
+
instituteIdsField.validate = instituteIdsValidator;
|
|
19
|
+
instituteIdsField.on('blur', function() {
|
|
20
|
+
this.validate();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Валидатор для institute_count
|
|
25
|
+
var instituteCountField = Ext.getCmp('institute_count');
|
|
26
|
+
if (instituteCountField) {
|
|
27
|
+
var originalValidator = instituteCountField.validate;
|
|
28
|
+
|
|
29
|
+
instituteCountField.validate = function() {
|
|
30
|
+
if (!instituteCountValidator.call(this)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (originalValidator) {
|
|
34
|
+
return originalValidator.call(this);
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
instituteCountField.on('blur', function() {
|
|
40
|
+
this.validate();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Устанавливаем текущую дату и время как максимальное значение
|
|
45
|
+
// и выполняем валидацию каждую секунду
|
|
46
|
+
var validationInterval = setInterval(function() {
|
|
47
|
+
var now = new Date();
|
|
48
|
+
|
|
49
|
+
logsPeriodStartField.setMaxValue(now);
|
|
50
|
+
logsPeriodEndField.setMaxValue(now);
|
|
51
|
+
|
|
52
|
+
logsPeriodStartField.validate();
|
|
53
|
+
logsPeriodEndField.validate();
|
|
54
|
+
}, 1000);
|
|
55
|
+
|
|
56
|
+
win.on('destroy', function() {
|
|
57
|
+
clearInterval(validationInterval);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
logsPeriodStartField.validator = logsPeriodsValidator;
|
|
61
|
+
logsPeriodEndField.validator = logsPeriodsValidator;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function initializeBatchSizeSplitByLogic() {
|
|
65
|
+
var batchSizeField = Ext.getCmp('batch_size');
|
|
66
|
+
var splitByField = Ext.getCmp('split_by');
|
|
67
|
+
|
|
68
|
+
if (!batchSizeField || !splitByField) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Функция для обновления обязательности полей
|
|
73
|
+
function updateFieldRequirements() {
|
|
74
|
+
var batchSizeValue = batchSizeField.getValue();
|
|
75
|
+
var splitByValue = splitByField.getValue();
|
|
76
|
+
|
|
77
|
+
if (splitByValue && splitByValue !== '') {
|
|
78
|
+
batchSizeField.allowBlank = true;
|
|
79
|
+
batchSizeField.clearInvalid();
|
|
80
|
+
} else {
|
|
81
|
+
batchSizeField.allowBlank = false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (batchSizeValue && batchSizeValue !== '' && batchSizeValue !== 0) {
|
|
85
|
+
splitByField.allowBlank = true;
|
|
86
|
+
splitByField.clearInvalid();
|
|
87
|
+
} else {
|
|
88
|
+
splitByField.allowBlank = false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Обработчики изменения полей
|
|
93
|
+
batchSizeField.on('change', updateFieldRequirements);
|
|
94
|
+
splitByField.on('change', updateFieldRequirements);
|
|
95
|
+
|
|
96
|
+
// Инициализация при загрузке
|
|
97
|
+
updateFieldRequirements();
|
|
98
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
};
|
|
52
|
+
|
|
53
|
+
var logsPeriodStartField = Ext.getCmp('logs_period_started_at');
|
|
54
|
+
var logsPeriodEndField = Ext.getCmp('logs_period_ended_at');
|
|
55
|
+
|
|
56
|
+
var logsPeriodsValidator = function () {
|
|
57
|
+
if (
|
|
58
|
+
logsPeriodStartField.getValue() &&
|
|
59
|
+
logsPeriodEndField.getValue() &&
|
|
60
|
+
logsPeriodStartField.getValue() > logsPeriodEndField.getValue()
|
|
61
|
+
) {
|
|
62
|
+
return 'Дата конца периода не может быть меньше даты начала периода'
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
return true;
|
|
66
|
+
};
|
|
@@ -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,
|
|
@@ -39,11 +41,6 @@ from edu_rdm_integration.stages.collect_data.consts import (
|
|
|
39
41
|
class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
40
42
|
"""Окно создания команды сбора данных модели РВД."""
|
|
41
43
|
|
|
42
|
-
def __init__(self):
|
|
43
|
-
super().__init__()
|
|
44
|
-
|
|
45
|
-
self.template_globals = 'ui-js/create-collect-command-win.js'
|
|
46
|
-
|
|
47
44
|
def _init_components(self):
|
|
48
45
|
"""Инициализация компонентов."""
|
|
49
46
|
super()._init_components()
|
|
@@ -63,20 +60,23 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
63
60
|
label='Начало периода',
|
|
64
61
|
anchor='100%',
|
|
65
62
|
allow_blank=False,
|
|
63
|
+
client_id='logs_period_started_at',
|
|
66
64
|
)
|
|
67
65
|
logs_period_ended_at = ExtDateTimeField(
|
|
68
66
|
name='logs_period_ended_at',
|
|
69
67
|
label='Конец периода',
|
|
70
68
|
anchor='100%',
|
|
71
69
|
allow_blank=False,
|
|
70
|
+
client_id='logs_period_ended_at',
|
|
72
71
|
)
|
|
73
72
|
split_by = ExtComboBox(
|
|
74
73
|
name='split_by',
|
|
75
74
|
display_field='split_by',
|
|
76
75
|
label='Единица подпериода',
|
|
77
76
|
anchor='100%',
|
|
78
|
-
editable=
|
|
77
|
+
editable=False,
|
|
79
78
|
trigger_action_all=True,
|
|
79
|
+
client_id='split_by',
|
|
80
80
|
)
|
|
81
81
|
split_by.set_store(ExtDataStore(enumerate(DatesSplitter.get_split_by_modes())))
|
|
82
82
|
split_by_quantity = ExtNumberField(
|
|
@@ -85,6 +85,7 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
85
85
|
allow_blank=False,
|
|
86
86
|
allow_decimals=False,
|
|
87
87
|
allow_negative=False,
|
|
88
|
+
max_value=SPLIT_BY_QUANTITY_MAX_VALUE,
|
|
88
89
|
anchor='100%',
|
|
89
90
|
value=1,
|
|
90
91
|
)
|
|
@@ -109,6 +110,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
109
110
|
allow_negative=False,
|
|
110
111
|
anchor='100%',
|
|
111
112
|
value=BATCH_SIZE,
|
|
113
|
+
max_value=CHUNK_MAX_VALUE,
|
|
114
|
+
client_id='batch_size',
|
|
112
115
|
)
|
|
113
116
|
by_institutes = ExtCheckBox(
|
|
114
117
|
anchor='100%',
|
|
@@ -116,10 +119,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
116
119
|
name='by_institutes',
|
|
117
120
|
)
|
|
118
121
|
institute_ids = ExtStringField(
|
|
119
|
-
label='
|
|
122
|
+
label='ID организаций (через запятую, например: 1,2,3 или оставить пустым для всех)',
|
|
120
123
|
name='institute_ids',
|
|
121
124
|
allow_blank=True,
|
|
122
125
|
anchor='100%',
|
|
126
|
+
max_length=100,
|
|
127
|
+
client_id='institute_ids',
|
|
123
128
|
)
|
|
124
129
|
institute_count = ExtNumberField(
|
|
125
130
|
name='institute_count',
|
|
@@ -128,6 +133,8 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
128
133
|
anchor='100%',
|
|
129
134
|
min_value=ALL_UNITS_IN_COMMAND,
|
|
130
135
|
value=ALL_UNITS_IN_COMMAND,
|
|
136
|
+
client_id='institute_count',
|
|
137
|
+
allow_blank=False,
|
|
131
138
|
)
|
|
132
139
|
hint_text = ExtDisplayField(
|
|
133
140
|
value=(
|
|
@@ -156,6 +163,12 @@ class CreateCollectCommandWindow(BaseCreateCommandWindow):
|
|
|
156
163
|
split_mode,
|
|
157
164
|
)
|
|
158
165
|
|
|
166
|
+
def set_params(self, params: Dict[str, Any]) -> None:
|
|
167
|
+
"""Устанавливает параметры окна."""
|
|
168
|
+
super().set_params(params)
|
|
169
|
+
|
|
170
|
+
self.template_globals = 'ui-js/collect-command-window.js'
|
|
171
|
+
|
|
159
172
|
|
|
160
173
|
class DetailCollectCommandWindow(BaseEditWindow):
|
|
161
174
|
"""Окно просмотра команды сбора данных модели РВД."""
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var win = Ext.getCmp('{{ component.client_id }}');
|
|
2
|
+
var periodStartField = Ext.getCmp('period_started_at');
|
|
3
|
+
var periodEndField = Ext.getCmp('period_ended_at');
|
|
4
|
+
|
|
5
|
+
Ext.onReady(function() {
|
|
6
|
+
// Инициализация валидаторов
|
|
7
|
+
initializeValidators();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
function initializeValidators() {
|
|
11
|
+
// Устанавливаем текущую дату и время как максимальное значение
|
|
12
|
+
// и выполняем валидацию каждую секунду
|
|
13
|
+
var validationInterval = setInterval(function() {
|
|
14
|
+
var now = new Date();
|
|
15
|
+
|
|
16
|
+
periodStartField.setMaxValue(now);
|
|
17
|
+
periodEndField.setMaxValue(now);
|
|
18
|
+
|
|
19
|
+
periodStartField.validate();
|
|
20
|
+
periodEndField.validate();
|
|
21
|
+
}, 1000);
|
|
22
|
+
|
|
23
|
+
win.on('destroy', function() {
|
|
24
|
+
clearInterval(validationInterval);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var periodsValidator = function () {
|
|
28
|
+
if (
|
|
29
|
+
periodStartField.getValue() &&
|
|
30
|
+
periodEndField.getValue() &&
|
|
31
|
+
periodStartField.getValue() > periodEndField.getValue()
|
|
32
|
+
) {
|
|
33
|
+
return 'Дата конца периода не может быть меньше даты начала периода'
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return true;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
periodStartField.validator = periodsValidator;
|
|
40
|
+
periodEndField.validator = periodsValidator;
|
|
41
|
+
}
|
|
@@ -44,11 +44,6 @@ from edu_rdm_integration.rdm_entities.models import (
|
|
|
44
44
|
class CreateExportCommandWindow(BaseCreateCommandWindow):
|
|
45
45
|
"""Окно создания команды экспорта данных сущности РВД."""
|
|
46
46
|
|
|
47
|
-
def __init__(self):
|
|
48
|
-
super().__init__()
|
|
49
|
-
|
|
50
|
-
self.template_globals = 'ui-js/create-export-command-win.js'
|
|
51
|
-
|
|
52
47
|
def _init_components(self):
|
|
53
48
|
"""Инициализация компонентов."""
|
|
54
49
|
super()._init_components()
|
|
@@ -68,12 +63,14 @@ class CreateExportCommandWindow(BaseCreateCommandWindow):
|
|
|
68
63
|
label='Начало периода',
|
|
69
64
|
anchor='100%',
|
|
70
65
|
allow_blank=False,
|
|
66
|
+
client_id='period_started_at',
|
|
71
67
|
)
|
|
72
68
|
period_ended_at = ExtDateTimeField(
|
|
73
69
|
name='period_ended_at',
|
|
74
70
|
label='Конец периода',
|
|
75
71
|
anchor='100%',
|
|
76
72
|
allow_blank=False,
|
|
73
|
+
client_id='period_ended_at',
|
|
77
74
|
)
|
|
78
75
|
batch_size = ExtNumberField(
|
|
79
76
|
name='batch_size',
|
|
@@ -93,6 +90,12 @@ class CreateExportCommandWindow(BaseCreateCommandWindow):
|
|
|
93
90
|
batch_size,
|
|
94
91
|
)
|
|
95
92
|
|
|
93
|
+
def set_params(self, params: Dict[str, Any]) -> None:
|
|
94
|
+
"""Устанавливает параметры окна."""
|
|
95
|
+
super().set_params(params)
|
|
96
|
+
|
|
97
|
+
self.template_globals = 'ui-js/create-export-command-win.js'
|
|
98
|
+
|
|
96
99
|
|
|
97
100
|
class DetailExportCommandWindow(BaseEditWindow):
|
|
98
101
|
"""Окно просмотра команды экспорта данных сущности РВД."""
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2
|
|
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,8 @@ 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/
|
|
168
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js
|
|
169
|
+
src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js
|
|
169
170
|
src/edu_rdm_integration/stages/export_data/__init__.py
|
|
170
171
|
src/edu_rdm_integration/stages/export_data/apps.py
|
|
171
172
|
src/edu_rdm_integration/stages/export_data/consts.py
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var win = Ext.getCmp('{{ component.client_id }}');
|
|
2
|
-
var form = win.getForm();
|
|
3
|
-
var logsPeriodEndField = form.findField('logs_period_ended_at');
|
|
4
|
-
|
|
5
|
-
// Устанавливаем текущую дату и время как максимальное значение
|
|
6
|
-
// и выполняем валидацию каждую секунду
|
|
7
|
-
var validationInterval = setInterval(function() {
|
|
8
|
-
logsPeriodEndField.setMaxValue(new Date())
|
|
9
|
-
logsPeriodEndField.validate();
|
|
10
|
-
}, 1000);
|
|
11
|
-
|
|
12
|
-
win.on('destroy', function() {
|
|
13
|
-
clearInterval(validationInterval);
|
|
14
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var win = Ext.getCmp('{{ component.client_id }}');
|
|
2
|
-
var form = win.getForm();
|
|
3
|
-
var periodEndField = form.findField('period_ended_at');
|
|
4
|
-
|
|
5
|
-
// Устанавливаем текущую дату и время как максимальное значение
|
|
6
|
-
// и выполняем валидацию каждую секунду
|
|
7
|
-
var validationInterval = setInterval(function() {
|
|
8
|
-
periodEndField.setMaxValue(new Date())
|
|
9
|
-
periodEndField.validate();
|
|
10
|
-
}, 1000);
|
|
11
|
-
|
|
12
|
-
win.on('destroy', function() {
|
|
13
|
-
clearInterval(validationInterval);
|
|
14
|
-
});
|
|
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.2}/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.2}/src/edu_rdm_integration/core/__init__.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/enums.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/helpers.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/mapping.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/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.2}/src/edu_rdm_integration/core/signals.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/storages.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/typing.py
RENAMED
|
File without changes
|
{edu_rdm_integration-3.16.0 → edu_rdm_integration-3.16.2}/src/edu_rdm_integration/core/utils.py
RENAMED
|
File without changes
|
|
File without changes
|