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.
Files changed (276) hide show
  1. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/CHANGELOG.md +53 -0
  2. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/PKG-INFO +1 -1
  3. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/consts.py +8 -0
  4. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/actions.py +4 -3
  5. edu_rdm_integration-3.11.4/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/collect-command-window.js +77 -0
  6. edu_rdm_integration-3.11.4/src/edu_rdm_integration/stages/collect_data/registry/templates/ui-js/validators.js +51 -0
  7. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/ui.py +18 -2
  8. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/PKG-INFO +1 -1
  9. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/SOURCES.txt +2 -0
  10. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/CONDUCT.md +0 -0
  11. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/LICENSE +0 -0
  12. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/MANIFEST.in +0 -0
  13. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/README.md +0 -0
  14. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/pyproject.toml +0 -0
  15. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/setup.cfg +0 -0
  16. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/__init__.py +0 -0
  17. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/__init__.py +0 -0
  18. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/apps.py +0 -0
  19. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/caches.py +0 -0
  20. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/consts.py +0 -0
  21. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/enums.py +0 -0
  22. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/errors.py +0 -0
  23. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/functions.py +0 -0
  24. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/helpers.py +0 -0
  25. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/managers.py +0 -0
  26. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/presenters.py +0 -0
  27. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/receivers.py +0 -0
  28. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/results.py +0 -0
  29. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/runners.py +0 -0
  30. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/strategies.py +0 -0
  31. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/strings.py +0 -0
  32. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/tests.py +0 -0
  33. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/adapters/validators.py +0 -0
  34. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/apps.py +0 -0
  35. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/__init__.py +0 -0
  36. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/apps.py +0 -0
  37. {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
  38. {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
  39. {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
  40. {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
  41. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/collect_and_export_data/models.py +0 -0
  42. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/__init__.py +0 -0
  43. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/enums.py +0 -0
  44. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/helpers.py +0 -0
  45. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/mapping.py +0 -0
  46. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/operations.py +0 -0
  47. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/redis_cache.py +0 -0
  48. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/__init__.py +0 -0
  49. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/actions.py +0 -0
  50. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/apps.py +0 -0
  51. {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
  52. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/registry/ui.py +0 -0
  53. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/signals.py +0 -0
  54. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/storages.py +0 -0
  55. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/typing.py +0 -0
  56. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/core/utils.py +0 -0
  57. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0001_initial.py +0 -0
  58. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0002_init_data_uploadstatus.py +0 -0
  59. {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
  60. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0004_uploaderclientlog.py +0 -0
  61. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0005_auto_20231204_1224.py +0 -0
  62. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0006_request_status_data.py +0 -0
  63. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0007_delete_upload_status.py +0 -0
  64. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0008_transferredentity.py +0 -0
  65. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0009_auto_20240522_1619.py +0 -0
  66. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0010_transferredentity_export_enabled.py +0 -0
  67. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0011_exportingdatasubstageentity.py +0 -0
  68. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0012_exportingdatasubstageattachment_attachment_size.py +0 -0
  69. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0013_set_attachment_size.py +0 -0
  70. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0014_uploaddatacommand.py +0 -0
  71. {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
  72. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0016_transferredentity_queue_level.py +0 -0
  73. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0017_delete_uploaddatacommand.py +0 -0
  74. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/0018_auto_20250704_0725.py +0 -0
  75. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/migrations/__init__.py +0 -0
  76. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/models.py +0 -0
  77. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/__init__.py +0 -0
  78. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/__init__.py +0 -0
  79. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/actions.py +0 -0
  80. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/app_meta.py +0 -0
  81. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/apps.py +0 -0
  82. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/enums.py +0 -0
  83. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/migrations/0001_initial.py +0 -0
  84. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/migrations/__init__.py +0 -0
  85. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/mixins.py +0 -0
  86. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/models.py +0 -0
  87. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/tasks.py +0 -0
  88. {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
  89. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/pipelines/transfer/ui.py +0 -0
  90. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/__init__.py +0 -0
  91. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/apps.py +0 -0
  92. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/entities.py +0 -0
  93. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/migrations/0001_initial.py +0 -0
  94. {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
  95. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/migrations/__init__.py +0 -0
  96. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/mixins.py +0 -0
  97. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/models.py +0 -0
  98. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_entities/utils.py +0 -0
  99. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/__init__.py +0 -0
  100. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/apps.py +0 -0
  101. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/migrations/0001_initial.py +0 -0
  102. {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
  103. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/migrations/__init__.py +0 -0
  104. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/mixins.py +0 -0
  105. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/models.py +0 -0
  106. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/rdm_models/utils.py +0 -0
  107. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/__init__.py +0 -0
  108. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/__init__.py +0 -0
  109. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/apps.py +0 -0
  110. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/consts.py +0 -0
  111. {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
  112. {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
  113. {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
  114. {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
  115. {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
  116. {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
  117. {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
  118. {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
  119. {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
  120. {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
  121. {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
  122. {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
  123. {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
  124. {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
  125. {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
  126. {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
  127. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/functions/__init__.py +0 -0
  128. {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
  129. {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
  130. {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
  131. {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
  132. {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
  133. {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
  134. {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
  135. {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
  136. {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
  137. {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
  138. {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
  139. {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
  140. {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
  141. {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
  142. {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
  143. {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
  144. {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
  145. {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
  146. {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
  147. {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
  148. {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
  149. {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
  150. {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
  151. {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
  152. {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
  153. {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
  154. {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
  155. {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
  156. {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
  157. {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
  158. {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
  159. {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
  160. {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
  161. {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
  162. {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
  163. {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
  164. {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
  165. {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
  166. {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
  167. {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
  168. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/generators.py +0 -0
  169. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/helpers.py +0 -0
  170. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/__init__.py +0 -0
  171. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/management/base.py +0 -0
  172. {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
  173. {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
  174. {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
  175. {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
  176. {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
  177. {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
  178. {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
  179. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/migrations/__init__.py +0 -0
  180. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/mixins.py +0 -0
  181. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/models.py +0 -0
  182. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/operations.py +0 -0
  183. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/__init__.py +0 -0
  184. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/registry/apps.py +0 -0
  185. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/collect_data/tests.py +0 -0
  186. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/__init__.py +0 -0
  187. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/apps.py +0 -0
  188. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/consts.py +0 -0
  189. {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
  190. {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
  191. {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
  192. {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
  193. {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
  194. {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
  195. {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
  196. {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
  197. {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
  198. {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
  199. {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
  200. {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
  201. {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
  202. {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
  203. {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
  204. {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
  205. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/functions/__init__.py +0 -0
  206. {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
  207. {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
  208. {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
  209. {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
  210. {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
  211. {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
  212. {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
  213. {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
  214. {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
  215. {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
  216. {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
  217. {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
  218. {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
  219. {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
  220. {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
  221. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/generators.py +0 -0
  222. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/helpers.py +0 -0
  223. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/__init__.py +0 -0
  224. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/management/base.py +0 -0
  225. {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
  226. {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
  227. {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
  228. {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
  229. {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
  230. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/migrations/__init__.py +0 -0
  231. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/mixins.py +0 -0
  232. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/models.py +0 -0
  233. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/operations.py +0 -0
  234. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/__init__.py +0 -0
  235. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/actions.py +0 -0
  236. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/apps.py +0 -0
  237. {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
  238. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/registry/ui.py +0 -0
  239. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/export_data/strategies.py +0 -0
  240. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/__init__.py +0 -0
  241. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/apps.py +0 -0
  242. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/service/tasks.py +0 -0
  243. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/__init__.py +0 -0
  244. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/apps.py +0 -0
  245. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/consts.py +0 -0
  246. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/dataclasses.py +0 -0
  247. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/enums.py +0 -0
  248. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/export_managers.py +0 -0
  249. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/helpers.py +0 -0
  250. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/__init__.py +0 -0
  251. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/management/base.py +0 -0
  252. {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
  253. {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
  254. {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
  255. {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
  256. {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
  257. {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
  258. {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
  259. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/migrations/__init__.py +0 -0
  260. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/models.py +0 -0
  261. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/operations.py +0 -0
  262. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/queues.py +0 -0
  263. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration/stages/upload_data/tasks.py +0 -0
  264. {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
  265. {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
  266. {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
  267. {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
  268. {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
  269. {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
  270. {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
  271. {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
  272. {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
  273. {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
  274. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/dependency_links.txt +0 -0
  275. {edu_rdm_integration-3.11.3 → edu_rdm_integration-3.11.4}/src/edu_rdm_integration.egg-info/requires.txt +0 -0
  276. {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
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
@@ -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=True,
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='id организаций',
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
  """Окно просмотра команды сбора данных модели РВД."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edu-rdm-integration
3
- Version: 3.11.3
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