educommon 3.13.0__tar.gz → 3.14.0__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.
- educommon-3.14.0/CHANGELOG.md +3205 -0
- educommon-3.14.0/CONDUCT.md +55 -0
- educommon-3.14.0/CONTRIBUTING.md +69 -0
- educommon-3.14.0/MANIFEST.in +9 -0
- {educommon-3.13.0 → educommon-3.14.0}/PKG-INFO +26 -14
- educommon-3.14.0/README.md +5 -0
- educommon-3.14.0/pyproject.toml +143 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/__init__.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/actions.py +16 -30
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/ui.py +3 -12
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/utils.py +6 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/__init__.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/actions.py +18 -13
- educommon-3.14.0/src/educommon/async_task/apps.py +13 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/locker.py +2 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/migrations/0001_initial.py +55 -9
- educommon-3.14.0/src/educommon/async_task/migrations/0002_task_type_and_status_data.py +121 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/migrations/0003_alter_runningtask_options.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/models.py +9 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/tasks.py +11 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/ui.py +16 -35
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/__init__.py +0 -1
- educommon-3.14.0/src/educommon/async_tasks/apps.py +13 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/locks.py +11 -21
- educommon-3.14.0/src/educommon/async_tasks/migrations/0001_initial.py +117 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/migrations/0002_load_initial_data.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/models.py +9 -29
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/tasks.py +25 -54
- educommon-3.14.0/src/educommon/audit_log/README.rst +64 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/__init__.py +1 -0
- educommon-3.14.0/src/educommon/audit_log/actions.py +238 -0
- educommon-3.14.0/src/educommon/audit_log/app_meta.py +15 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/apps.py +44 -29
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/constants.py +7 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/error_log/actions.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/helpers.py +2 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/management/commands/reinstall_audit_log.py +11 -7
- educommon-3.14.0/src/educommon/audit_log/migrations/0001_initial.py +153 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0002_install_audit_log.py +13 -13
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0003_logproxy.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0004_reinstall_audit_log.py +1 -4
- educommon-3.14.0/src/educommon/audit_log/migrations/0005_postgresql_error.py +24 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0006_auto_20200806_1707.py +3 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0007_create_selective_tables_function.py +8 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0008_table_logged.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/migrations/0009_reinstall_audit_log.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/models.py +36 -42
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/permissions.py +11 -9
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/proxies.py +33 -28
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/ui.py +19 -22
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/utils/__init__.py +27 -81
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/utils/operations.py +16 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/__init__.py +0 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/__init__.py +2 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/actions.py +148 -145
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/app_meta.py +9 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/backends/base.py +2 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/backends/caching.py +27 -37
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/backends/simple.py +1 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/checker.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/management/commands/rbac.py +6 -11
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/manager.py +18 -47
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/migrations/0001_initial.py +73 -12
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/migrations/0002_model_modifier_metaclass_fix.py +7 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/migrations/0003_permission_hidden.py +1 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/migrations/0004_auto_20171024_1245.py +26 -19
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/models.py +63 -68
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/permissions.py +6 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/ui.py +83 -84
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/utils.py +10 -11
- educommon-3.14.0/src/educommon/auth/rbac/validators.py +20 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/__init__.py +1 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/actions.py +79 -92
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/app_meta.py +2 -9
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/checkers.py +3 -3
- educommon-3.14.0/src/educommon/auth/simple_auth/migrations/0001_initial.py +50 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/validators.py +0 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/actions.py +7 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/app_meta.py +1 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/base.py +10 -15
- educommon-3.14.0/src/educommon/contingent/catalogs.py +1101 -0
- educommon-3.14.0/src/educommon/contingent/contingent_plugin/actions.py +20 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/apps.py +10 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/migrations/0001_initial.py +5 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/migrations/0002_add_contingent_model_deleted.py +6 -11
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/model_views.py +2 -12
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/models.py +2 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/observer.py +14 -13
- educommon-3.14.0/src/educommon/contingent/contingent_plugin/plugin_meta.py +2 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/storage.py +8 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/utils.py +6 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/fields.py +72 -86
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/migration/__init__.py +3 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/migration/operations.py +29 -51
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/mixins/__init__.py +16 -10
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/mixins/date_interval.py +47 -75
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/mixins/validation.py +26 -26
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/model_view/__init__.py +18 -22
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/models.py +9 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/observer.py +9 -27
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/__init__.py +66 -92
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/management/commands/apply_partitioning.py +3 -13
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/management/commands/clear_table.py +18 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/management/commands/split_table.py +18 -13
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/routers.py +6 -15
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/signals.py +4 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/utils.py +14 -19
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/validators/__init__.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/validators/simple.py +72 -100
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/api.py +39 -53
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/app_meta.py +1 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/management/commands/atcfs_migrate.py +42 -55
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/models.py +0 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/monkey_patching.py +18 -12
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/storage.py +14 -23
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/extjs/fields/input_params.py +15 -45
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/XLSReader.py +143 -241
- educommon-3.14.0/src/educommon/importer/__init__.py +87 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/api.py +53 -84
- educommon-3.14.0/src/educommon/importer/constants.py +7 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/loggers.py +16 -26
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/proxy.py +131 -176
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/proxy_import.py +11 -12
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/report.py +4 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/ui.py +32 -26
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/validators.py +4 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/helpers.py +14 -18
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ioc/__init__.py +3 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/loggers.py +10 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/__init__.py +20 -38
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/__init__.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/__init__.py +22 -38
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/listeners.py +31 -41
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/mixins.py +20 -25
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/signals.py +2 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/ui.py +15 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/utils.py +9 -11
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/ui.py +15 -33
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/transaction_context.py +17 -19
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/actions.py +70 -88
- educommon-3.14.0/src/educommon/objectpack/apps.py +15 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/filters.py +9 -15
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/ui.py +59 -77
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/__init__.py +9 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/actions.py +29 -32
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/__init__.py +5 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/app_meta.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/apps.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/base.py +33 -80
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/_base.py +138 -286
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/_header.py +2 -9
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/product.py +13 -34
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/with_merged_cells.py +18 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/config.py +2 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/editor/actions.py +101 -215
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/editor/ui.py +71 -93
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/exceptions.py +6 -12
- educommon-3.14.0/src/educommon/report/constructor/migrations/0001_initial.py +78 -0
- educommon-3.14.0/src/educommon/report/constructor/migrations/0002_report_filters.py +124 -0
- educommon-3.14.0/src/educommon/report/constructor/migrations/0003_reportfilter_exclude.py +18 -0
- educommon-3.14.0/src/educommon/report/constructor/migrations/0004_reportfilter_fields.py +41 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/migrations/0005_reportcolumn_visible.py +5 -4
- educommon-3.14.0/src/educommon/report/constructor/migrations/0006_reportsorting.py +39 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/migrations/0007_include_available_units.py +14 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/migrations/0008_auto_20170407_1318.py +4 -5
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/migrations/0009_auto_20180405_0642.py +1 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/migrations/0010_add_aggregate_fields.py +7 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/mixins.py +14 -15
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/models.py +76 -124
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/utils.py +3 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/validators.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/reporter.py +25 -43
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/utils.py +14 -40
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/rest/actions.py +7 -11
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/rest/context.py +6 -16
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/rest/controllers.py +10 -10
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/rest/mixins.py +29 -27
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/secure_media/app_meta.py +9 -9
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/__init__.py +3 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/caching.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/conversion.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/crypto.py +1 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/date.py +13 -26
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/db/__init__.py +17 -26
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/db/postgresql.py +1 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/fonts/__init__.py +3 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/licence/__init__.py +5 -16
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/misc.py +9 -18
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/object_grid.py +55 -62
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/phone_number/modelfields.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/phone_number/phone_number.py +5 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/phone_number/validators.py +8 -23
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/plugins.py +15 -28
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/registry.py +2 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/seqtools.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/serializer.py +9 -16
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/storage.py +3 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system_app/management/commands/delete_objects.py +17 -34
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/ui.py +87 -84
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/__init__.py +2 -7
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/resolver.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/actions.py +31 -76
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/base.py +6 -20
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0001_initial.py +25 -8
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0002_auto_20160628_1334.py +0 -1
- educommon-3.14.0/src/educommon/ws_log/migrations/0003_add_fields_to_smev_logs.py +53 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0004_auto_20160727_1600.py +7 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0005_auto_20161130_1615.py +14 -4
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0006_auto_20170327_1027.py +3 -2
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0007_auto_20180607_1040.py +8 -9
- educommon-3.14.0/src/educommon/ws_log/migrations/0008_auto_20180713_1445.py +46 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/migrations/0009_auto_20201130_1553.py +7 -2
- educommon-3.14.0/src/educommon/ws_log/migrations/__init__.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/models.py +21 -35
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/provider.py +2 -1
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/report.py +8 -13
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/smev/applications.py +12 -27
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/smev/exceptions.py +2 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/ui.py +32 -32
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/utils.py +1 -3
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon.egg-info/PKG-INFO +26 -14
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon.egg-info/SOURCES.txt +6 -6
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon.egg-info/requires.txt +17 -3
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_contingent_plugin_utils.py +12 -26
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_dates_splitter.py +316 -165
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_delete_check.py +5 -10
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_delete_objects.py +8 -31
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_django_db_utils.py +7 -29
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_interval_mixins.py +37 -156
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_personal_data_fields.py +21 -23
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_phone_number.py +0 -2
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_report.py +19 -22
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_service_db_router.py +1 -0
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_utils.py +4 -11
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_utils_plugins.py +0 -4
- {educommon-3.13.0 → educommon-3.14.0}/tests/test_validators.py +6 -11
- {educommon-3.13.0 → educommon-3.14.0}/tests/tests_rbac.py +6 -15
- educommon-3.13.0/MANIFEST.in +0 -7
- educommon-3.13.0/README.rst +0 -20
- educommon-3.13.0/UPGRADE.rst +0 -43
- educommon-3.13.0/setup.py +0 -75
- educommon-3.13.0/src/educommon/async_task/apps.py +0 -9
- educommon-3.13.0/src/educommon/async_task/migrations/0002_task_type_and_status_data.py +0 -116
- educommon-3.13.0/src/educommon/async_tasks/apps.py +0 -9
- educommon-3.13.0/src/educommon/async_tasks/migrations/0001_initial.py +0 -57
- educommon-3.13.0/src/educommon/audit_log/actions.py +0 -219
- educommon-3.13.0/src/educommon/audit_log/app_meta.py +0 -16
- educommon-3.13.0/src/educommon/audit_log/migrations/0001_initial.py +0 -78
- educommon-3.13.0/src/educommon/audit_log/migrations/0005_postgresql_error.py +0 -22
- educommon-3.13.0/src/educommon/auth/rbac/validators.py +0 -21
- educommon-3.13.0/src/educommon/auth/simple_auth/migrations/0001_initial.py +0 -31
- educommon-3.13.0/src/educommon/contingent/catalogs.py +0 -1217
- educommon-3.13.0/src/educommon/contingent/contingent_plugin/actions.py +0 -31
- educommon-3.13.0/src/educommon/contingent/contingent_plugin/plugin_meta.py +0 -4
- educommon-3.13.0/src/educommon/importer/__init__.py +0 -5
- educommon-3.13.0/src/educommon/importer/constants.py +0 -17
- educommon-3.13.0/src/educommon/objectpack/apps.py +0 -10
- educommon-3.13.0/src/educommon/report/constructor/migrations/0001_initial.py +0 -86
- educommon-3.13.0/src/educommon/report/constructor/migrations/0002_report_filters.py +0 -110
- educommon-3.13.0/src/educommon/report/constructor/migrations/0003_reportfilter_exclude.py +0 -18
- educommon-3.13.0/src/educommon/report/constructor/migrations/0004_reportfilter_fields.py +0 -37
- educommon-3.13.0/src/educommon/report/constructor/migrations/0006_reportsorting.py +0 -35
- educommon-3.13.0/src/educommon/utils/patches.py +0 -27
- educommon-3.13.0/src/educommon/version.conf +0 -11
- educommon-3.13.0/src/educommon/ws_log/migrations/0003_add_fields_to_smev_logs.py +0 -37
- educommon-3.13.0/src/educommon/ws_log/migrations/0008_auto_20180713_1445.py +0 -33
- educommon-3.13.0/src/educommon.egg-info/dependency_links.txt +0 -1
- educommon-3.13.0/tests/test_patches.py +0 -49
- {educommon-3.13.0 → educommon-3.14.0}/setup.cfg +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/README.rst +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/apps.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/static/edu_about/barsgroup.png +0 -0
- {educommon-3.13.0/src/educommon/audit_log/migrations → educommon-3.14.0/src/educommon/about/ui}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/about-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/common-tab.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/packages-tab.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/about/ui/postgresql-extensions-tab.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/consts.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/exceptions.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/helpers.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/migrations/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/templates/ui-js/async-task-list-win.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/templates/ui-js/async-task-revoke.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_task/templates/ui-js/async-task-view-win.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/exceptions.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/fixtures/initial_data.json +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/migrations/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/async_tasks/statuses.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/error_log/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/management/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/management/commands/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/middleware.py +0 -0
- {educommon-3.13.0/src/educommon/auth/rbac/backends → educommon-3.14.0/src/educommon/audit_log/migrations}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/routers.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/sql/configure_audit_log.sql +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/audit_log/sql/install_audit_log.sql +0 -0
- {educommon-3.13.0/src/educommon/auth/rbac/management/commands → educommon-3.14.0/src/educommon/auth/rbac/backends}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/config.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/constants.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/management/__init__.py +0 -0
- {educommon-3.13.0/src/educommon/auth/rbac/migrations → educommon-3.14.0/src/educommon/auth/rbac/management/commands}/__init__.py +0 -0
- {educommon-3.13.0/src/educommon/auth/simple_auth → educommon-3.14.0/src/educommon/auth/rbac}/migrations/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/templates/rbac/role-add-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/templates/rbac/role-edit-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/templates/rbac/roles-list-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/rbac/templates/rbac/roles-view-list-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/const.py +0 -0
- {educommon-3.13.0/src/educommon/contingent/contingent_plugin → educommon-3.14.0/src/educommon/auth/simple_auth}/migrations/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/models.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/static/simple_auth/simple_auth.css +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/templates/simple_auth/change_reset_password_page.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/templates/simple_auth/email/reset_password.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/templates/simple_auth/login_page.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/templates/simple_auth/reset_password_page.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/auth/simple_auth/ui.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/contingent_plugin/__init__.py +0 -0
- {educommon-3.13.0/src/educommon/report/constructor/builders → educommon-3.14.0/src/educommon/contingent/contingent_plugin/migrations}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/json_data/icao.json +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/json_data/okogu.json +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/contingent/json_data/oksm.json +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/model_view/table-view.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/README.md +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/const.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/management/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/management/commands/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/partitioning.sql +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/partitioning_set_search_path.sql +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/db/partitioning/triggers.sql +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/README.rst +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/exceptions.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/management/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/management/commands/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/settings.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/django/storages/atcfs/templates/atcfs_unavailable.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/extjs/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/extjs/fields/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/refactoring-notes.txt +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/importer/test_file.xls +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/README.rst +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/consts.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/entities.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/enums.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/integration_entities/mixins.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/app_settings.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/apps.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/consts.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/formatters.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/helpers.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/logger/records.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/cancel-confirm-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/m3/extensions/listeners/delete_check/related-objects-window.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/base-grid-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/filter-panel.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/grid-panel.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/multiSelectWindow.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/multiselect-page-fix.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/objectpack/templates/relations-check-mixin-template.html +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/README.rst +0 -0
- {educommon-3.13.0/src/educommon/report/constructor/migrations → educommon-3.14.0/src/educommon/report/constructor/builders}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/builders/excel/constants.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/constants.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/editor/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/editor/edit-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/editor/list-window.js +0 -0
- {educommon-3.13.0/src/educommon/rest → educommon-3.14.0/src/educommon/report/constructor/migrations}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/plugin_meta.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/report/constructor/registries.py +0 -0
- {educommon-3.13.0/src/educommon/utils/system_app/templatetags → educommon-3.14.0/src/educommon/rest}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/rest/misc.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/secure_media/README.rst +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/secure_media/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/thread_data.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/fonts/Arial.ttf +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/fonts/Calibri.ttf +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/fonts/Tahoma.ttf +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/licence/converters.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/phone_number/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/phone_number/enums.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system_app/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system_app/management/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system_app/management/commands/__init__.py +0 -0
- {educommon-3.13.0/src/educommon/ws_log/migrations → educommon-3.14.0/src/educommon/utils/system_app/templatetags}/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/system_app/templatetags/educommon.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/catalog.json +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/saml-schema-assertion-2.0.xsd +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/saml-schema-protocol-2.0.xsd +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/xenc-schema.xsd +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/utils/xml/xmldsig-core-schema.xsd +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/README.rst +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/app_meta.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/smev/__init__.py +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/templates/report/smev_logs.xlsx +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/templates/ui-js/smev-logs-list-window.js +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon/ws_log/templates/ui-js/smev-logs-report-setting-window.js +0 -0
- /educommon-3.13.0/src/educommon/about/ui/__init__.py → /educommon-3.14.0/src/educommon.egg-info/dependency_links.txt +0 -0
- {educommon-3.13.0 → educommon-3.14.0}/src/educommon.egg-info/top_level.txt +0 -0
@@ -0,0 +1,3205 @@
|
|
1
|
+
# История изменений
|
2
|
+
|
3
|
+
Все изменения проекта должны быть отражены в этом файле.
|
4
|
+
|
5
|
+
Формат основан на [Keep a Changelog](http://keepachangelog.com/)
|
6
|
+
и проект следует [Семантическому версионированию](http://semver.org/).
|
7
|
+
|
8
|
+
## [x.y.z] - гггг-мм-дд
|
9
|
+
|
10
|
+
Здесь должно быть расширенное описание того, что было сделано, какие есть планы у команды по дальнейшему развитию.
|
11
|
+
Желательно будущие цели привязывать к конкретным задачам. Т.е. на каждую цель нужно поставить отдельную задачу и отразить ее номер здесь.
|
12
|
+
|
13
|
+
### Добавлено
|
14
|
+
|
15
|
+
- [ПРОЕКТ-ZZZZ](https://jira.bars.group/browse/ПРОЕКТ-ZZZZ)
|
16
|
+
PATCH Название задачи или изменения.
|
17
|
+
|
18
|
+
- [ПРОЕКТ-YYYY](https://jira.bars.group/browse/ПРОЕКТ-YYYY)
|
19
|
+
MINOR Название задачи или изменения.
|
20
|
+
|
21
|
+
- [ПРОЕКТ-XXXX](https://jira.bars.group/browse/ПРОЕКТ-XXXX)
|
22
|
+
MAJOR Название задачи или изменения.
|
23
|
+
|
24
|
+
### Изменено
|
25
|
+
|
26
|
+
### Исправлено
|
27
|
+
|
28
|
+
### Удалено
|
29
|
+
|
30
|
+
|
31
|
+
## [3.14.0] - 2025-04-09
|
32
|
+
|
33
|
+
Доработки журнала изменений до состояния старого журнала в ЭШ
|
34
|
+
|
35
|
+
### Добавлено
|
36
|
+
|
37
|
+
- [EDUSCHL-23386](https://jira.bars.group/browse/EDUSCHL-23386)
|
38
|
+
PATCH Столбец имитация (без функциональности, для доработки работоспособности в последующих задачах).
|
39
|
+
|
40
|
+
### Изменено
|
41
|
+
|
42
|
+
- [EDUSCHL-23386](https://jira.bars.group/browse/EDUSCHL-23386)
|
43
|
+
MINOR Классы LogProxy, AuditLogPack преобразованы в абстрактные с добавлением абстрактных методов для
|
44
|
+
извлечения исходных данных необходимых при: отображении ФИО пользователя в журнале изменений; фильтрации по ФИО;
|
45
|
+
отображении ФИО, организации в окне редактирования записи журнала изменений.
|
46
|
+
Подробнее о необходимых настройках в audit_log/README.rst.
|
47
|
+
|
48
|
+
|
49
|
+
## [3.13.2] - 2024-04-09
|
50
|
+
|
51
|
+
Небольшой рефакторинг для корректной сборки пакета.
|
52
|
+
|
53
|
+
### Изменено
|
54
|
+
|
55
|
+
- MINOR Удалены ненужные файлы, актуализирована сборка пакета.
|
56
|
+
|
57
|
+
|
58
|
+
## [3.13.1] - 2025-04-08
|
59
|
+
|
60
|
+
Выполнен дополнительный рефакторинг кода.
|
61
|
+
Убраны остаточные упоминания Python2. Произведён переход на f-строки и `.format()`.
|
62
|
+
Добавлены атрибуты минимальной и максимальной даты для DatetimeFilterCreator.
|
63
|
+
Исправлена минимальная дата для валидатора поля RangedDateField и BirthDateField.
|
64
|
+
Изменён тип сообщения о предотвращении доступа к БД, по которой не проводистя миграция.
|
65
|
+
|
66
|
+
## Добавлено
|
67
|
+
|
68
|
+
- [EDUKNDG-15346](https://jira.bars.group/browse/EDUKNDG-15346)
|
69
|
+
PATCH Добавлены атрибуты минимальной и максимальной даты для DatetimeFilterCreator.
|
70
|
+
|
71
|
+
### Изменено
|
72
|
+
|
73
|
+
- [EDUDEVOPS-28](https://jira.bars.group/browse/EDUDEVOPS-28)
|
74
|
+
PATCH Заменено устаревшее строковое форматирование `%` на f-строки и `.format()`.
|
75
|
+
PATCH Проведён широкий рефакторинг кода с использованием `ruff`: улучшена читаемость, устранены потенциальные ошибки и упрощена структура модулей.
|
76
|
+
- [EDUKNDG-15346](https://jira.bars.group/browse/EDUKNDG-15346)
|
77
|
+
PATCH Исправлена минимальная дата для валидатора поля RangedDateField и BirthDateField.
|
78
|
+
- [EDUSCHL-23422](https://jira.bars.group/browse/EDUSCHL-23422)
|
79
|
+
PATCH Тип сообщения о предотвращении доступа к БД, по которой не проводистя миграция,
|
80
|
+
с `warning` изменён на `debug`
|
81
|
+
|
82
|
+
### Удалено
|
83
|
+
|
84
|
+
- [EDUDEVOPS-28](https://jira.bars.group/browse/EDUDEVOPS-28)
|
85
|
+
PATCH Удалены остатки поддержки Python2: директивы `__future__`, проверки `sys.version_info`, типы `unicode`, `basestring` и др.
|
86
|
+
|
87
|
+
|
88
|
+
## [3.13.0] - 2025-03-27
|
89
|
+
|
90
|
+
Убраны обращения к базам данных, по которым не производятся миграции
|
91
|
+
|
92
|
+
### Добавлено
|
93
|
+
- [EDUCLLG-8905](https://jira.bars.group/browse/EDUCLLG-8905)
|
94
|
+
MINOR Добавлены базовые классы для обработчиков сигналов `before_handle_migrate_signal` и `after_handle_migrate_signal`,
|
95
|
+
введено ограничение на обработчики этих сигналов
|
96
|
+
|
97
|
+
### Изменено
|
98
|
+
- [EDUCLLG-8905](https://jira.bars.group/browse/EDUCLLG-8905)
|
99
|
+
MINOR Убраны обращения к базам данных, по которым не производятся миграции
|
100
|
+
- [EDUCLLG-8905](https://jira.bars.group/browse/EDUCLLG-8905)
|
101
|
+
MINOR Убрана поддержка Python ниже 3.9
|
102
|
+
|
103
|
+
|
104
|
+
## [3.12.0] - 2025-03-11
|
105
|
+
|
106
|
+
Доработка справочника **"Потребность в адаптированной программе"** в соответствии с требованиями ЕФТТ.
|
107
|
+
|
108
|
+
### Добавлено
|
109
|
+
|
110
|
+
- [EDUSCHL-23273](https://jira.bars.group/browse/EDUSCHL-23273)
|
111
|
+
MINOR В перечисление AdaptationType добавлен метод get_epgu_code позволяющий получить код ЕПГУ сопоставленный одному из кодов адаптированности.
|
112
|
+
Не все коды перечисления имеют сопоставленный код ЕПГУ.
|
113
|
+
MINOR Добавлены новые системные значения в справочник:
|
114
|
+
- `213` – "Для слабослышащих и позднооглохших детей"
|
115
|
+
- `214` – "Для детей с умственной отсталостью, нарушением интеллекта".
|
116
|
+
|
117
|
+
### Изменено
|
118
|
+
|
119
|
+
- [EDUSCHL-23273](https://jira.bars.group/browse/EDUSCHL-23273)
|
120
|
+
PATCH Обновлены наименования существующих значений справочника в соответствии с требованиями ЕФТТ.
|
121
|
+
|
122
|
+
|
123
|
+
## [3.11.3] - 2025-03-06
|
124
|
+
|
125
|
+
Для класса DatetimeFilterCreator удалена минимальная дата, так как теперь она определена в ExtDateField (m3-ui).
|
126
|
+
|
127
|
+
### Удалено
|
128
|
+
|
129
|
+
- [EDUKNDG-15254](https://jira.bars.group/browse/EDUKNDG-15254)
|
130
|
+
PATCH Для класса DatetimeFilterCreator удалена минимальная дата.
|
131
|
+
|
132
|
+
|
133
|
+
## [3.11.2] - 2025-02-21
|
134
|
+
|
135
|
+
Добавлен импорт `sentry_sdk` для улучшенной обработки ошибок и мониторинга.
|
136
|
+
Реализована логика переключения между `raven` и `sentry_sdk` для обеспечения совместимости с существующим кодом.
|
137
|
+
Для класса DatetimeFilterCreator добавлена минимальная дата (01.01.1917). Без ограничений падает ошибка 500.
|
138
|
+
|
139
|
+
### Добавлено
|
140
|
+
|
141
|
+
- [EDUKNDG-15254](https://jira.bars.group/browse/EDUKNDG-15254)
|
142
|
+
PATCH Для класса DatetimeFilterCreator добавлена минимальная дата.
|
143
|
+
|
144
|
+
### Изменено
|
145
|
+
|
146
|
+
- [EDUDEVOPS-17](https://jira.bars.group/browse/EDUDEVOPS-17)
|
147
|
+
PATCH Добавление поддержки `sentry_sdk` и реализация переключения между `raven` и `sentry_sdk`.
|
148
|
+
|
149
|
+
|
150
|
+
## [3.11.1] - 2025-02-04
|
151
|
+
|
152
|
+
Изменён тип поля options с django.contrib.postgres.fields.JSONField (поддержка до Django 4.0.)
|
153
|
+
на django.db.models.JSONField (поддержка с Django 3.1.0).
|
154
|
+
|
155
|
+
### Изменено
|
156
|
+
|
157
|
+
- [EDUKNDG-15190](https://jira.bars.group/browse/EDUKNDG-15190)
|
158
|
+
PATCH Для модели RunningTask изменён тип поля options на django.db.models.JSONField.
|
159
|
+
|
160
|
+
|
161
|
+
## [3.11.0] - 2024-09-23
|
162
|
+
|
163
|
+
Добавлена реализация типа PhoneNumber для работы с форматом номеров телефонов.
|
164
|
+
Добавлена реализация поля моделей PhoneField с поддержкой типа PhoneNumber.
|
165
|
+
|
166
|
+
### Добавлено
|
167
|
+
|
168
|
+
- [EDUSCHL-22378](https://jira.bars.group/browse/EDUSCHL-22378)
|
169
|
+
MINOR Реализация поля моделей Django содержащего номер телефона
|
170
|
+
|
171
|
+
|
172
|
+
## [3.10.1] - 2024-09-11
|
173
|
+
|
174
|
+
Изменения по ОКСМ.
|
175
|
+
|
176
|
+
### Добавлено
|
177
|
+
|
178
|
+
- [EDUCLLG-8338](https://jira.bars.group/browse/EDUCLLG-8338)
|
179
|
+
PATCH Добавлен скрипт для обновления справочника ОКСМ. Добавлен столбец с буквенным кодов страны в пак ОКСМ.
|
180
|
+
|
181
|
+
### Исправлено
|
182
|
+
|
183
|
+
- [EDUCLLG-8338](https://jira.bars.group/browse/EDUCLLG-8338)
|
184
|
+
PATCH Актуализирована информация в справочнике ОКСМ.
|
185
|
+
|
186
|
+
|
187
|
+
## [3.10.0] - 2024-08-26
|
188
|
+
|
189
|
+
Добавлен класс UniquePeriodicAsyncTask, отвечающий за уникальные периодические задачи
|
190
|
+
|
191
|
+
### Добавлено
|
192
|
+
|
193
|
+
- [EDUSCHL-22267](https://jira.bars.group/browse/EDUSCHL-22267)
|
194
|
+
MINOR Добавлен класс UniquePeriodicAsyncTask, отвечающий за уникальные периодические задачи
|
195
|
+
|
196
|
+
|
197
|
+
## [3.9.10] - 2024-08-14
|
198
|
+
|
199
|
+
Исправлено создание атрибута state в методе run и дополнен метод on_failure у класса AsyncTask
|
200
|
+
|
201
|
+
### Исправлено
|
202
|
+
|
203
|
+
- [EDUSCHL-22322](https://jira.bars.group/browse/EDUSCHL-22322)
|
204
|
+
PATCH Исправлено создание атрибута state в методе run и дополнен метод on_failure у класса AsyncTask
|
205
|
+
|
206
|
+
|
207
|
+
## [3.9.9] - 2024-06-28
|
208
|
+
|
209
|
+
Исправлен метод _get_objects у класса DataLoader для правильной работы с MPTT моделями.
|
210
|
+
|
211
|
+
### Исправлено
|
212
|
+
|
213
|
+
- [EDUSCHL-21992](https://jira.bars.group/browse/EDUSCHL-21992)
|
214
|
+
PATCH Исправлен метод _get_objects у класса DataLoader для правильной работы с MPTT моделями.
|
215
|
+
|
216
|
+
|
217
|
+
## [3.9.8] - 2024-05-30
|
218
|
+
|
219
|
+
Исправление отображения элементов окна результатов асинхронных задач.
|
220
|
+
|
221
|
+
### Исправлено
|
222
|
+
|
223
|
+
- [EDUSCHL-21502](https://jira.bars.group/browse/EDUSCHL-21502)
|
224
|
+
PATCH Исправление отображения элементов окна результатов асинхронных задач.
|
225
|
+
|
226
|
+
|
227
|
+
## [3.9.7] - 2024-05-14
|
228
|
+
|
229
|
+
Исправлена ошибка при открытии реестра "Логи запросов".
|
230
|
+
|
231
|
+
### Исправлено
|
232
|
+
|
233
|
+
- [EDUKNDG-12751](https://jira.bars.group/browse/EDUKNDG-12751)
|
234
|
+
PATCH Исправлена ошибка при открытии реестра "Логи запросов".
|
235
|
+
|
236
|
+
|
237
|
+
## [3.9.6] - 2024-04-09
|
238
|
+
|
239
|
+
Исправлено отсутствие сообщения об ошибке в реестре "Асинхронные задачи".
|
240
|
+
|
241
|
+
### Исправлено
|
242
|
+
|
243
|
+
- [EDUCLLG-8346](https://jira.bars.group/browse/EDUCLLG-8346)
|
244
|
+
PATCH Исправлено отсутствие сообщения об ошибке в реестре "Асинхронные задачи".
|
245
|
+
|
246
|
+
|
247
|
+
## [3.9.5] - 2024-04-09
|
248
|
+
|
249
|
+
Исправлены менедж команды партицирования.
|
250
|
+
Доработана команда apply_partitioning - добавлена возможность указания схемы для внешних таблиц в триггерных функциях
|
251
|
+
Добавлена поддержка Django 3.2.
|
252
|
+
|
253
|
+
### Добавлено
|
254
|
+
|
255
|
+
- [EDUKNDG-12751](https://jira.bars.group/browse/EDUKNDG-12751)
|
256
|
+
MINOR Добавлена поддержка Django 3.2.
|
257
|
+
|
258
|
+
### Исправлено
|
259
|
+
|
260
|
+
- [EDUSCHL-21408] (https://jira.bars.group/browse/EDUSCHL-21408)
|
261
|
+
MINOR Добавлен параеметр itersize при sql-запросах при партицировании и логирование при менедж-командах
|
262
|
+
MINOR Добавлена передача схемы для внешних таблиц при партицировании
|
263
|
+
|
264
|
+
|
265
|
+
## [3.9.4] - 2024-03-19
|
266
|
+
|
267
|
+
"Конструктор отчетов".
|
268
|
+
В ColumnDescriptor добавлено свойство related_field_models который содержит связанные модели полей экземпляра.
|
269
|
+
В методе _check_to_exclude для устранения цикличности полей добавлена проверка чтобы связанная модель поля
|
270
|
+
не была в списке связанных моделей родителя.
|
271
|
+
|
272
|
+
### Исправлено
|
273
|
+
|
274
|
+
- [EDUSCHL-15016](https://jira.bars.group/browse/EDUSCHL-15016)
|
275
|
+
PATCH Исправление цикличности, путём добавление проверки на родительское поле.
|
276
|
+
|
277
|
+
|
278
|
+
## [3.9.3] - 2024-03-12
|
279
|
+
|
280
|
+
Добавлена поддержка Django 3.1.
|
281
|
+
|
282
|
+
### Добавлено
|
283
|
+
|
284
|
+
- [EDUSCHL-18052](https://jira.bars.group/browse/EDUSCHL-18052)
|
285
|
+
MINOR Поднять версию Django до 3.1.14
|
286
|
+
|
287
|
+
|
288
|
+
## [3.9.2] - 2024-03-06
|
289
|
+
Убрано указание конкретного css-класса для пункта меню асинхронных задач.
|
290
|
+
|
291
|
+
### Удалено
|
292
|
+
|
293
|
+
- [EDUCLLG-8227](https://jira.bars.group/browse/EDUCLLG-8227)
|
294
|
+
MINOR Убрано указание конкретного css-класса для пункта меню асинхронных задач
|
295
|
+
|
296
|
+
|
297
|
+
## [3.9.1] - 2024-03-06
|
298
|
+
|
299
|
+
Добавлена возможность указывать иконку реестра асинхронных задач.
|
300
|
+
|
301
|
+
### Добавлено
|
302
|
+
|
303
|
+
- [EDUCLLG-8227](https://jira.bars.group/browse/EDUCLLG-8227)
|
304
|
+
PATCH Добавлена возможность указывать иконку реестра асинхронных задач
|
305
|
+
|
306
|
+
|
307
|
+
## [3.9.0] - 2024-02-29
|
308
|
+
|
309
|
+
В contingent добавлена виртуальная модель IcaoVirtialModel для кодов ICAO.
|
310
|
+
В AuditLog в метод _transform_array_field добавлена проверка на тип данных
|
311
|
+
для возможности обработки уже приведенных к нужному типу данных.
|
312
|
+
|
313
|
+
### Добавлено
|
314
|
+
|
315
|
+
- [EDUSCHL-21513](https://jira.bars.group/browse/EDUSCHL-21513)
|
316
|
+
MINOR Добавлена виртуальная модель IcaoVirtialModel для кодов ICAO.
|
317
|
+
|
318
|
+
### Исправлено
|
319
|
+
|
320
|
+
- [EDUSCHL-21513](https://jira.bars.group/browse/EDUSCHL-21513)
|
321
|
+
PATCH Добавлена проверка в метод _transform_array_field модели AuditLog для возможности обработки уже преобразованных данных.
|
322
|
+
|
323
|
+
|
324
|
+
## [3.8.3] - 2024-02-09
|
325
|
+
|
326
|
+
Исправлена ошибка, из-за которой приложение
|
327
|
+
не запускалось из-за отсутствия `SECRET_KEY` при считывании настройки
|
328
|
+
во время построения `settings`. Ошибка возникала, если был осуществлен импорт модуля из
|
329
|
+
settings проекта, в котором происходит обращение к атрибутам `settings`).
|
330
|
+
|
331
|
+
### Изменено
|
332
|
+
|
333
|
+
- [EDUCLLG-8227](https://jira.bars.group/browse/EDUCLLG-8227)
|
334
|
+
PATCH Спрятано обращение к настройкам в функцию, где она непосредственно нужна.
|
335
|
+
|
336
|
+
|
337
|
+
## [3.8.2] - 2024-02-05
|
338
|
+
|
339
|
+
Изменено регулярное выражение в HouseValidator.
|
340
|
+
|
341
|
+
### Изменено
|
342
|
+
|
343
|
+
- [EDUSCHL-21298](https://jira.bars.group/browse/EDUSCHL-21298)
|
344
|
+
PATCH Изменено регулярное выражение в HouseValidator.
|
345
|
+
|
346
|
+
|
347
|
+
## [3.8.1] - 2024-02-02
|
348
|
+
|
349
|
+
Обработка полей HStore на возможные ошибки преобразования в словарь в методе _transform_fields модели AuditLog.
|
350
|
+
|
351
|
+
### Исправлено
|
352
|
+
|
353
|
+
- [EDUSCHL-21251](https://jira.bars.group/browse/EDUSCHL-21251)
|
354
|
+
Обработка полей HStore на возможные ошибки преобразования в словарь.
|
355
|
+
|
356
|
+
|
357
|
+
## [3.8.0] - 2024-01-22
|
358
|
+
|
359
|
+
Добавлена поддержка Django 3.0.
|
360
|
+
Удален декоратор classproperty.
|
361
|
+
|
362
|
+
### Добавлено
|
363
|
+
|
364
|
+
- [EDUSCHL-18051](https://jira.bars.group/browse/EDUSCHL-18051)
|
365
|
+
MINOR Добавлена поддержка Django 3.0.
|
366
|
+
|
367
|
+
### Удалено
|
368
|
+
|
369
|
+
- [EDUSCHL-18051](https://jira.bars.group/browse/EDUSCHL-18051)
|
370
|
+
MINOR Удален декоратор classproperty.
|
371
|
+
|
372
|
+
|
373
|
+
## [3.7.2] - 2024-01-22
|
374
|
+
|
375
|
+
Исправление ошибки обновления состояния асинхронных задач.
|
376
|
+
|
377
|
+
### Исправлено
|
378
|
+
|
379
|
+
- [EDUSCHL-14950](https://jira.bars.group/browse/EDUSCHL-14950)
|
380
|
+
PATCH Исправление ошибки обновления состояния асинхронных задач.
|
381
|
+
|
382
|
+
|
383
|
+
## [3.7.1] - 2024-01-17
|
384
|
+
|
385
|
+
В базовый класс асинхронных задач AsyncTask добавлен атрибут logging_in_db определяющий
|
386
|
+
будут или нет создаваться записи RunningTask в реестре асинхронных задач.
|
387
|
+
|
388
|
+
### Добавлено
|
389
|
+
|
390
|
+
- [EDUSCHL-14950](https://jira.bars.group/browse/EDUSCHL-14950)
|
391
|
+
MINOR Добавлен атрибут logging_in_db в класс AsyncTask
|
392
|
+
|
393
|
+
|
394
|
+
## [3.7.0] - 2023-12-26
|
395
|
+
|
396
|
+
Произведен рефакторинг асинхронных задач в рамках которого добавлено новое приложение `async_task`.
|
397
|
+
Существующее приложение `async` (educommon.async_tasks) считать устаревшим и оно будет удалено в последующих версиях.
|
398
|
+
Удалена поддержка Python 3.6 и Django ниже версии 2.2.
|
399
|
+
|
400
|
+
В AuditLog добавлены свойства transformed_data и transformed_changes, возвращающие данные в формате,
|
401
|
+
соответствующем типам полей из логируемых моделей.
|
402
|
+
|
403
|
+
### Добавлено
|
404
|
+
|
405
|
+
- [EDUSCHL-21013](https://jira.bars.group/browse/EDUSCHL-21013)
|
406
|
+
MINOR Рефакторинг асинхронных задач, добавлено приложение `async_task` (educommon.async_task).
|
407
|
+
|
408
|
+
- [EDUSCHL-20793](https://jira.bars.group/browse/EDUSCHL-20793)
|
409
|
+
MINOR Типы получаемых из log_change.fields полей должны соответствовать типам полей из логируемых моделей.
|
410
|
+
|
411
|
+
### Изменено
|
412
|
+
|
413
|
+
- [EDUSCHL-21013](https://jira.bars.group/browse/EDUSCHL-21013)
|
414
|
+
MINOR Удалена поддержка Python 3.6 и Django ниже версии 2.2.
|
415
|
+
|
416
|
+
|
417
|
+
## [3.6.1] - 2023-12-16
|
418
|
+
|
419
|
+
В EntitySaver добавлена конвертация объекта модели фиктивного внешнего ключа к его идентификатору.
|
420
|
+
|
421
|
+
### Добавлено
|
422
|
+
|
423
|
+
- [EDUSCHL-21067](https://jira.bars.group/browse/EDUSCHL-21067)
|
424
|
+
PATCH Добавление функционала в EntitySaver для работы с фиктивными внешними ключами.
|
425
|
+
|
426
|
+
|
427
|
+
## [3.6.0] - 2023-12-05
|
428
|
+
|
429
|
+
### Изменено
|
430
|
+
|
431
|
+
Вынос общего функционала для regional_data_mart_integration.
|
432
|
+
|
433
|
+
- [EDUCLLG-7736](https://jira.bars.group/browse/EDUCLLG-7736)
|
434
|
+
MINOR Вынесен функционал из ЭШ, необходимый для regional_data_mart_integration.
|
435
|
+
|
436
|
+
|
437
|
+
## [3.5.5] - 2023-12-04
|
438
|
+
|
439
|
+
В методе get_models_table_ids (audit_log/helpers.py) поправлена аннотация типа для обозначения
|
440
|
+
итерируемых объектов в целом, а не только List.
|
441
|
+
|
442
|
+
### Изменено
|
443
|
+
|
444
|
+
- [EDUSCHL-19576](https://jira.bars.group/browse/EDUSCHL-19576)
|
445
|
+
PATCH Изменена аннотация типа параметра метода get_models_table_ids.
|
446
|
+
|
447
|
+
|
448
|
+
## [3.5.4] - 2023-11-30
|
449
|
+
|
450
|
+
В классе BaseEntity добавлен метод get_ignore_prefix_key_fields для указания ключей,
|
451
|
+
для которых добавление префикса должно быть проигнорировано.
|
452
|
+
|
453
|
+
### Добавлено
|
454
|
+
|
455
|
+
- [EDUSCHL-20961](https://jira.bars.group/browse/EDUSCHL-20961)
|
456
|
+
PATCH В классе BaseEntity добавлен метод get_ignore_prefix_key_fields для указания ключей,
|
457
|
+
для которых добавление префикса должно быть проигнорировано.
|
458
|
+
|
459
|
+
|
460
|
+
## [3.5.3] - 2023-11-09
|
461
|
+
|
462
|
+
Изменен порядок операций при вызове EntitySaver. Создание записей выполняется
|
463
|
+
в последнюю очередь, что позволяет избежать нарушения ограничения уникальности при
|
464
|
+
наличии записей в очередях на создание и обновление.
|
465
|
+
|
466
|
+
### Изменено
|
467
|
+
|
468
|
+
- [EDUSCHL-20724](https://jira.bars.group/browse/EDUSCHL-20724)
|
469
|
+
MINOR Изменен порядок операций при вызове EntitySaver.
|
470
|
+
|
471
|
+
|
472
|
+
## [3.5.2] - 2023-11-01
|
473
|
+
|
474
|
+
Исправлена ошибка в случае указания связей по related_name через ключ 'only', в report_constructor_params.
|
475
|
+
|
476
|
+
### Исправлено
|
477
|
+
|
478
|
+
- [EDUCLLG-6894](https://jira.bars.group/browse/EDUCLLG-6894)
|
479
|
+
PATCH ЭК. Ошибки в конструкторе отчетов.
|
480
|
+
|
481
|
+
|
482
|
+
## [3.5.1] - 2023-10-16
|
483
|
+
|
484
|
+
Дополнен справочник "Общероссийский классификатор стран мира" (ОКФС).
|
485
|
+
|
486
|
+
### Изменено
|
487
|
+
|
488
|
+
- [EDUSCHL-19646](https://jira.bars.group/browse/EDUSCHL-19646)
|
489
|
+
PATCH Дополнен справочник "Общероссийский классификатор стран мира" (ОКФС).
|
490
|
+
|
491
|
+
|
492
|
+
## [3.5.0] - 2023-10-04
|
493
|
+
|
494
|
+
Дополнен справочник "Типы документов удостоверяющих личность".
|
495
|
+
Добавлены методы get_modes и get_split_by_modes в DatesSplitter.
|
496
|
+
|
497
|
+
### Добавлено
|
498
|
+
|
499
|
+
- [EDUSCHL-20350](https://jira.bars.group/browse/EDUSCHL-20350)
|
500
|
+
MINOR Добавлены методы get_modes и get_split_by_modes в DatesSplitter.
|
501
|
+
|
502
|
+
### Изменено
|
503
|
+
|
504
|
+
- [EDUSCHL-19647](https://jira.bars.group/browse/EDUSCHL-19647)
|
505
|
+
MINOR Дополнен справочник "Типы документов удостоверяющих личность".
|
506
|
+
|
507
|
+
|
508
|
+
## [3.4.0] - 2023-09-22
|
509
|
+
|
510
|
+
Добавление сигналов выполняемых до и после прогона миграций.
|
511
|
+
|
512
|
+
### Добавлено
|
513
|
+
|
514
|
+
- [EDUCLLG-7939](https://jira.bars.group/browse/EDUCLLG-7939)
|
515
|
+
MINOR Добавление сигналов до и после выполнения миграций.
|
516
|
+
|
517
|
+
|
518
|
+
## [3.3.0] - 2023-09-07
|
519
|
+
|
520
|
+
Улучшение работы audit_log.
|
521
|
+
|
522
|
+
### Изменено
|
523
|
+
|
524
|
+
- [EDUSCHL-20382](https://jira.bars.group/browse/EDUSCHL-20382)
|
525
|
+
MINOR Изменение способа определения перечня таблиц для которых необходимо
|
526
|
+
установить триггер. Теперь триггеры создаются только для тех таблиц имена которых
|
527
|
+
присутствуют в таблице audit.table_for_inserting с признаком logged = true;
|
528
|
+
|
529
|
+
- [EDUSCHL-20382](https://jira.bars.group/browse/EDUSCHL-20382)
|
530
|
+
MINOR Удалена настройка SELECTIVE_TABLES_LOG_ON. Теперь по умолчанию триггеры
|
531
|
+
создаются только для моделей у которых определен атрибут need_to_log = True.
|
532
|
+
Для включения логирования всех моделей необходимо задать
|
533
|
+
настройку USE_AUDIT_LOG_FOR_ALL_MODELS = True;
|
534
|
+
|
535
|
+
- [EDUSCHL-20382](https://jira.bars.group/browse/EDUSCHL-20382)
|
536
|
+
MINOR Удален запуск очистки таблицы с логами при конфигурировании audit_log.
|
537
|
+
Очистку можно произвести путём указания опционального параметра --clear_audit_log
|
538
|
+
менедж-команды reinstall_audit_log;
|
539
|
+
|
540
|
+
- [EDUSCHL-20382](https://jira.bars.group/browse/EDUSCHL-20382)
|
541
|
+
PATCH Избавление от блокировки при вызове функции audit.get_table_id при вставке
|
542
|
+
записи лога по триггеру;
|
543
|
+
|
544
|
+
- [EDUSCHL-20382](https://jira.bars.group/browse/EDUSCHL-20382)
|
545
|
+
MINOR Удален скрипт configure_selective_audit_log.sql.
|
546
|
+
|
547
|
+
|
548
|
+
## [3.2.2] - 2023-09-04
|
549
|
+
|
550
|
+
В класс DatesSplitter добавлен парамер split_by_quantity вместо split_by_days_count.
|
551
|
+
|
552
|
+
### Изменено
|
553
|
+
|
554
|
+
- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)
|
555
|
+
PATCH В класс DatesSplitter добавлен парамер split_by_quantity вместо split_by_days_count.
|
556
|
+
Теперь период можно разбивать на N недель/месяцев/лет.
|
557
|
+
|
558
|
+
|
559
|
+
## [3.2.1] - 2023-09-03
|
560
|
+
|
561
|
+
Добавлен класс DatesSplitter для работы с датами.
|
562
|
+
|
563
|
+
### Добавлено
|
564
|
+
|
565
|
+
- [EDUSCHL-20302](https://jira.bars.group/browse/EDUSCHL-20302)
|
566
|
+
PATCH Добавлен класс DatesSplitter для работы с датами (см. документацию класса DatesSplitter)
|
567
|
+
|
568
|
+
|
569
|
+
## [3.2.0] - 2023-09-02
|
570
|
+
|
571
|
+
Внесены изменения в audit_log. Исправление ошибки в конструкторе отчёта
|
572
|
+
|
573
|
+
### Изменено
|
574
|
+
|
575
|
+
- [EDUSCHL-20365](https://jira.bars.group/browse/EDUSCHL-20365)
|
576
|
+
MINOR Изменен метод обновления триггеров, а также способ очистки записей логов
|
577
|
+
неотслеживаемых таблиц audit_log.
|
578
|
+
|
579
|
+
### Исправлено
|
580
|
+
|
581
|
+
- [EDUSCHL-20241](https://jira.bars.group/browse/EDUSCHL-20241)
|
582
|
+
PATCH Исправлена ошибка получения данных из словаря в методе ReportTemplateWriter._is_filters_data_valid
|
583
|
+
конструктора отчетов.
|
584
|
+
|
585
|
+
|
586
|
+
## [3.1.1] - 2023-08-30
|
587
|
+
|
588
|
+
Поднятие версии зависимости пакета m3-spyne-smev.
|
589
|
+
|
590
|
+
### Исправлено
|
591
|
+
|
592
|
+
- [EDUSCHL-19970](https://jira.bars.group/browse/EDUSCHL-19970)
|
593
|
+
PATCH Поднятие версии зависимости пакета m3-spyne-smev
|
594
|
+
|
595
|
+
|
596
|
+
## [3.1.0] - 2023-08-16
|
597
|
+
|
598
|
+
Перенос и доработка логеров.
|
599
|
+
|
600
|
+
### Добавлено
|
601
|
+
|
602
|
+
- [EDUSCHL-18102](https://jira.bars.group/browse/EDUSCHL-18102)
|
603
|
+
MINOR Добавление логеров rest_error и exception.
|
604
|
+
|
605
|
+
|
606
|
+
## [3.0.2] - 2023-08-15
|
607
|
+
|
608
|
+
Исправлено формирование исключений при вычислении хэша.
|
609
|
+
|
610
|
+
### Исправлено
|
611
|
+
|
612
|
+
- [EDUSCHL-20213](https://jira.bars.group/browse/EDUSCHL-20213)
|
613
|
+
PATCH Исправлено формирование исключений при вычислении хэша.
|
614
|
+
|
615
|
+
|
616
|
+
## [3.0.1] - 2023-08-06
|
617
|
+
|
618
|
+
Исправление аннотации типов.
|
619
|
+
|
620
|
+
### Исправлено
|
621
|
+
|
622
|
+
- [EDUSCHL-20235](https://jira.bars.group/browse/EDUSCHL-20235)
|
623
|
+
PATCH Исправление аннотации типов.
|
624
|
+
|
625
|
+
|
626
|
+
## [3.0.0] - 2023-07-23
|
627
|
+
|
628
|
+
Была проделана работа по переносу механизма логирования из проекта ЭШ для возможности использования на других проектах.
|
629
|
+
Это требуется для унификации основных механизмов для удобства их управления и улучшения. Добавлен каркас документации и
|
630
|
+
документация по настройке логирования.
|
631
|
+
Также была удалена поддержка Python 2. Работы выполнены не в полном объеме и будут завершены в рамках
|
632
|
+
[EDUDEVOPS-28](https://jira.bars.group/browse/EDUDEVOPS-28).
|
633
|
+
|
634
|
+
### Добавлено
|
635
|
+
|
636
|
+
- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
|
637
|
+
Добавлен сборщик документации Sphinx;
|
638
|
+
|
639
|
+
- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
|
640
|
+
Перенесен механизм логирования из ЭШ.
|
641
|
+
|
642
|
+
### Исправлено
|
643
|
+
|
644
|
+
- [EDUSCHL-19919](https://jira.bars.group/browse/EDUSCHL-19919)
|
645
|
+
MAJOR Удалена поддержка Python 2.
|
646
|
+
|
647
|
+
|
648
|
+
## 2.20.0
|
649
|
+
|
650
|
+
- Перенос общих компонентов РВД из ЭШ
|
651
|
+
- get_models_table_ids возвращает перечень id таблиц из AuditLog соответствующих указанным моделям;
|
652
|
+
- сущности для реализации интеграций ГИС РУО, Сферум, РВД;
|
653
|
+
- cached_function кэширует результат функции на указанное время для указанного набора параметров функции;
|
654
|
+
- преобразователи str_or_empty, str_without_control_chars, uuid_or_none, int_or_none, decimal_or_none, float_or_none;
|
655
|
+
- HashData вспомогательный класс для хеширования данных;
|
656
|
+
- вспомогательные функции для работы с датами get_today_min_datetime, get_today_max_datetime,
|
657
|
+
get_date_range_intersection, is_date_range_intersection, date_to_str, класс Week для работы с неделей;
|
658
|
+
- make_chunks метод нарезки итерабельного объекта на части.
|
659
|
+
|
660
|
+
## 2.19.3
|
661
|
+
|
662
|
+
- Доработка audit_log
|
663
|
+
- Исправлен подход к удалению логов для моделей, которые стали нелогируемыми.
|
664
|
+
|
665
|
+
## 2.19.2
|
666
|
+
|
667
|
+
- Доработка audit_log
|
668
|
+
- Конфигурирование БД вынесено в отдельный метод educommon.audit_log.apps.AppConfig._configure_db,
|
669
|
+
который срабатывает после команды migrate (по сигналу post_migrate).
|
670
|
+
|
671
|
+
## 2.19.1
|
672
|
+
|
673
|
+
- Исправление audit_log
|
674
|
+
- Исправлена ошибка преобразования значения у поля типа FloatField
|
675
|
+
восстанавливаемой модели в LogProxy;
|
676
|
+
- Исправлена ошибка, когда pg_advisory_lock в educommon.utils.db.postgresql.Lock
|
677
|
+
приводила к дедлокам. Изменено на pg_try_advisory_lock.
|
678
|
+
|
679
|
+
## 2.19.0
|
680
|
+
|
681
|
+
- Исправление audit_log
|
682
|
+
- Исправлена ошибка при попытке удаления таблицы при наличии уже созданных
|
683
|
+
логов по ней
|
684
|
+
- Исправлена ошибка, когда для переменной PG_LOCK_ID брался хэш строки, что
|
685
|
+
приводило к дедлокам и непредсказуемому поведению приложения, когда оно
|
686
|
+
запускалось в нескольких экземплярах
|
687
|
+
- Небольшой рефакторинг configure_selective_audit_log.sql
|
688
|
+
|
689
|
+
## 2.18.0
|
690
|
+
|
691
|
+
- Добавлена команда reinstall_audit_log для переустановки audit_log.
|
692
|
+
|
693
|
+
## 2.17.1
|
694
|
+
|
695
|
+
- Исправление audit_log.
|
696
|
+
- Исправлена ошибка, возникающая при запуске миграции для дефолтной
|
697
|
+
базы после проведения миграции для сервисной.
|
698
|
+
- Исправлена ошибка, возникающая при запуске миграции для сервисной
|
699
|
+
базы после проведения миграции для дефолтной.
|
700
|
+
Теперь порядок запуска миграций для дефолтной/сервисной базы не важен.
|
701
|
+
- Исправлена ошибка, возникающая при вызове метода bulk_create - добавлена
|
702
|
+
обработка для версий Django ниже 2.22.
|
703
|
+
|
704
|
+
## 2.17.0
|
705
|
+
|
706
|
+
- Улучшение audit_log. Добавлена возможность выбора таблиц для логирования:
|
707
|
+
- Добавлен необязательный параметр settings.SELECTIVE_TABLES_LOG_ON,
|
708
|
+
который указывает нужно ли включить логирование только для указанных
|
709
|
+
таблиц. При отключенном/отсутствующем параметре логируются все таблицы.
|
710
|
+
- Добавлен миксин LogableModelMixin, который делает модель логируемой.
|
711
|
+
|
712
|
+
## 2.16.1
|
713
|
+
|
714
|
+
- Зафиксирована зависимость python-magic==0.4.15 для устранения проблем на ALT Linux
|
715
|
+
|
716
|
+
## 2.16.0
|
717
|
+
|
718
|
+
- Добавлена реализация асинхронной задачи с блокировкой повторного запуска
|
719
|
+
|
720
|
+
## 2.15.1
|
721
|
+
|
722
|
+
- **Конструктор отчетов**: Исправлена фильтрация по колонками типа `choices`.
|
723
|
+
|
724
|
+
## 2.15.0
|
725
|
+
|
726
|
+
- Улучшение. Поддержка распределения записей в больших таблицах
|
727
|
+
- Добавление. Команда удаления части данных
|
728
|
+
- Исправление. В секции не добавляются записи в последнюю миллисекунду периода
|
729
|
+
|
730
|
+
## 2.14.0
|
731
|
+
|
732
|
+
- У функции получения списка измененных моделей добавлен аргумент для
|
733
|
+
исключения системных моделей
|
734
|
+
|
735
|
+
## 2.13.0
|
736
|
+
|
737
|
+
- Изменено перечисление "Формы реализации образовательной программы"
|
738
|
+
RealizationForms:
|
739
|
+
- Добавлена поддержка специфических значений для продкутов
|
740
|
+
- Добавлены значения для продукта ЭК:
|
741
|
+
- 5: С применением исключительно электронного обучения
|
742
|
+
- 6: С применением исключительно дистанционных
|
743
|
+
образовательных технологий
|
744
|
+
- 7: Сетевая форма с использованием ресурсов иностранных организаций
|
745
|
+
|
746
|
+
- Добавлены новые коды в RealizationForms.WEBEDU_CODES, соответствующие
|
747
|
+
видам форм образовательных программ для перечисления RealizationForms:
|
748
|
+
|
749
|
+
- С применением исключительно электронного обучения
|
750
|
+
- С применением исключительно дистанционных образовательных технологий
|
751
|
+
|
752
|
+
|
753
|
+
## 2.12.1
|
754
|
+
|
755
|
+
- Исправлен поиск связанных объектов. Добавлено отображение неблокирующих
|
756
|
+
m2m связей при удалении объекта.
|
757
|
+
|
758
|
+
## 2.12.0
|
759
|
+
|
760
|
+
- Расширено перечисление "Вид адаптированности" AdaptationType, добавлено
|
761
|
+
значение: 212 - для обучающихся с расстройствами аутистического спектра.
|
762
|
+
|
763
|
+
## 2.11.0
|
764
|
+
|
765
|
+
- Расширен валидатор номера дома HouseValidator - с 10 до 12 символов,
|
766
|
+
добавлены символы `.`, `_`, `"`.
|
767
|
+
|
768
|
+
**При обновлении на версию нужно проверить, что параметр `max_length`
|
769
|
+
у полей модели, использующей валидатор, не меньше 12**
|
770
|
+
- Добавлен валидатор корпуса дома BuildingValidator
|
771
|
+
|
772
|
+
## 2.10.0
|
773
|
+
|
774
|
+
- Добавлена функция удаления разделов таблицы
|
775
|
+
|
776
|
+
## 2.9.1
|
777
|
+
|
778
|
+
- Расширен список поддерживаемых движков СУБД для использования
|
779
|
+
партиционирования.
|
780
|
+
- Добавлен model view для ContingentModelDeleted.
|
781
|
+
|
782
|
+
## 2.9.0
|
783
|
+
|
784
|
+
- Добавлен индекс по полю method_name для модели SmevLog.
|
785
|
+
- Добавление в каталог LegalDelegateTypes (Тип законного представителя)
|
786
|
+
дополнительного значения LEGAL_REPRESENTATIVE (Законный представитель)
|
787
|
+
|
788
|
+
## 2.8.0
|
789
|
+
|
790
|
+
- Добавлена модель и функционал для хранения данных об удалённых объектах
|
791
|
+
моделей (используется для хранения параметров для следующей выгрузки в
|
792
|
+
Контингент)
|
793
|
+
|
794
|
+
## 2.7.8
|
795
|
+
|
796
|
+
- **Фабрика метаклассов модифицирующих параметры полей модели**:
|
797
|
+
- Исправлена модификация валидатора длины поля.
|
798
|
+
|
799
|
+
## 2.7.7
|
800
|
+
|
801
|
+
- **Конструктор отчетов**:
|
802
|
+
- Исправлен возврат функции фильтрации данных методом
|
803
|
+
_DataFilterer.get_filter_function,
|
804
|
+
которые после правок в версии 1.26.10 работали только со строками
|
805
|
+
- В метод получения данных по основной модели отчета (источнику данных)
|
806
|
+
DataLoader._get_objects добавлено условие distinct,
|
807
|
+
без которого после фитрации по связям "один ко многим" остаются дубли
|
808
|
+
|
809
|
+
## 2.7.6
|
810
|
+
|
811
|
+
- **Конструктор отчетов**: Исправлена ошибка в случае
|
812
|
+
указания полей связанных моделей через ключ 'only'
|
813
|
+
в report_constructor_params.
|
814
|
+
|
815
|
+
## 2.7.5
|
816
|
+
|
817
|
+
- Исправлена орфографическая ошибка в сообщении об ошибке в
|
818
|
+
валидаторе ИНН и КПП
|
819
|
+
|
820
|
+
## 2.7.4
|
821
|
+
|
822
|
+
- Добавлен отсутствующий "магический" комментарий с кодировкой,
|
823
|
+
из-за отсутствия которого происходило падение на python 2
|
824
|
+
|
825
|
+
## 2.7.3
|
826
|
+
|
827
|
+
- Добавлен валидатор (минимальное значение)
|
828
|
+
для поля time в модели PostgreSQLError.
|
829
|
+
|
830
|
+
## 2.7.2
|
831
|
+
|
832
|
+
- **Конструктор отчетов**: Исправлена ошибка в случае
|
833
|
+
указания полей через ключ 'only' в report_constructor_params.
|
834
|
+
|
835
|
+
## 2.7.1
|
836
|
+
|
837
|
+
- Удален стандарный валидатор проверки длины для поля KPPField.
|
838
|
+
|
839
|
+
## 2.7.0
|
840
|
+
|
841
|
+
- В класс BaseIntervalMixin добавлены методы get_intersection_daterange_filter,
|
842
|
+
возвращающий фильтр по пересекающимся диапазонам дат и get_model_options,
|
843
|
+
возвращающий опции модели.
|
844
|
+
- Добавлены значения по Гражданству, которые приходят при запросе данных из КО.
|
845
|
+
|
846
|
+
## 2.6.1
|
847
|
+
|
848
|
+
- Исправлена работа колоночного фильтра "Результат"
|
849
|
+
для значения по умолчанию "Успешно" в SmevLogPack.
|
850
|
+
|
851
|
+
## 2.6.0
|
852
|
+
|
853
|
+
- Добавлен колоночный фильтр поля "результ" в пак логов СМЭВ.
|
854
|
+
- Добавлен кастомный фильтр по полям типа TextField.
|
855
|
+
- Заменена иконка ListWindow в паке логов СМЭВ.
|
856
|
+
|
857
|
+
## 2.5.7
|
858
|
+
|
859
|
+
- Исправлена регулярка для валидатора типа документа.
|
860
|
+
|
861
|
+
## 2.5.6
|
862
|
+
|
863
|
+
- Исправлена проверка количества значений для фильтра "между" в ReportFilter.
|
864
|
+
|
865
|
+
## 2.5.5
|
866
|
+
|
867
|
+
- Добавлен unicode_literals из __future__ в файл с основными валидаторами
|
868
|
+
для корректной работы регулярок с unicode.
|
869
|
+
|
870
|
+
## 2.5.4
|
871
|
+
|
872
|
+
- При парсинге xls если нет ошибок возвращался list(), а нужен set()
|
873
|
+
|
874
|
+
## 2.5.3
|
875
|
+
|
876
|
+
- Исправлена непредвиденная ошибка в окне редактирования шаблона КО в IE-11;
|
877
|
+
|
878
|
+
## 2.5.2
|
879
|
+
|
880
|
+
- При добавлении ошибки при парсинге xls листа остаются только уникальные.
|
881
|
+
|
882
|
+
## 2.5.1
|
883
|
+
|
884
|
+
- Валидаторы Серии и Номера документа: изменено регулярное выражение;
|
885
|
+
- Поля модели: добавлена переменная `__all__`.
|
886
|
+
|
887
|
+
## 2.5.0
|
888
|
+
|
889
|
+
- **get_related_instances_and_handlers**: Каскадное удаление для m2m-полей.
|
890
|
+
|
891
|
+
## 2.4.0
|
892
|
+
|
893
|
+
- Валидация полей:
|
894
|
+
- Добавлены валидаторы персональных данных физического лица для:
|
895
|
+
- ФИО;
|
896
|
+
- даты (например, рождения);
|
897
|
+
- дома;
|
898
|
+
- серии и номера паспорта;
|
899
|
+
- серии и номера остальных документов;
|
900
|
+
- Добавлены вспомогательные функции для создания миграций с валидаторами по
|
901
|
+
дате, в которых требуется динамически изменяющаяся дата. К примеру, когда
|
902
|
+
дата рождения не должна быть больше текущей даты.
|
903
|
+
- Поля модели для персональных данных:
|
904
|
+
- Добавлены поля для ФИО, СНИЛС, КПП, ИНН, ОГРН, серии и номера док-в
|
905
|
+
(отдельно - паспорта), дат;
|
906
|
+
- Некоторые (строковые) поля наследуют интерфейс `IMaskRegexField` и
|
907
|
+
указывают маску ввода.
|
908
|
+
|
909
|
+
## 2.3.3
|
910
|
+
|
911
|
+
- **CascadeDeleleMixin**: Добавлены сигналы pre_cascade и post_cascade.
|
912
|
+
|
913
|
+
## 2.3.2
|
914
|
+
|
915
|
+
- **CascadeDeleleMixin**: Исправлена совместимость с второй версией Python.
|
916
|
+
|
917
|
+
## 2.3.1
|
918
|
+
|
919
|
+
- **BaseImportPack**: Исправлена проблема вызова метода `get_loaders`
|
920
|
+
без параметров.
|
921
|
+
|
922
|
+
## 2.3.0
|
923
|
+
|
924
|
+
- **CascadeDeleleMixin**: Доработка алгоритма удаления связанных объектов.
|
925
|
+
|
926
|
+
## 2.2.6
|
927
|
+
|
928
|
+
- **FileMimeTypeValidator**: Исправлено получение mimetype для докуметов
|
929
|
+
созданных в MS office (с расширением docx, xslx, pptx и т.д.).
|
930
|
+
|
931
|
+
## 2.2.5
|
932
|
+
|
933
|
+
- **RBAC**: Исправлена ошибка функции _get_group_title при доступе к группе,
|
934
|
+
которой нет в rbac.groups.
|
935
|
+
|
936
|
+
- **RBAC JS**: Добавлена проверка на присутствие атрибута label у
|
937
|
+
canBeAssignedField.
|
938
|
+
|
939
|
+
## 2.2.4
|
940
|
+
|
941
|
+
- **FileMimeTypeValidator**: Исправил ошибку валидации, при которой если уже
|
942
|
+
валидировался файл, то его тип не определялся.
|
943
|
+
|
944
|
+
## 2.2.3
|
945
|
+
|
946
|
+
- **Конструктор отчетов**: Исправлена ошибка метода _is_row_nullable, из-за
|
947
|
+
которой выполнение прерывалось при проверке сложносоставных столбцов на
|
948
|
+
необходимость сортировки.
|
949
|
+
|
950
|
+
## 2.2.2
|
951
|
+
|
952
|
+
- **XLSLoader**: Исправлено написание ошибки для Импортера. Теперь указывается
|
953
|
+
номер строки.
|
954
|
+
|
955
|
+
## 2.2.1
|
956
|
+
|
957
|
+
- **RBAC**: Возможность добавления аннотации типов для метода `get_rbac_rule_data`
|
958
|
+
- **Конструктор отчетов**: Добавлено человекочитаемое представление для столбцов,
|
959
|
+
операторов, фильтров, и сортировки в конструкторе отчетов (report_constructor)
|
960
|
+
- Исправлена ошибка в шаблоне для отображения текста сообщения без
|
961
|
+
экранирования символов html-тегов в колонке "Сообщение" в таблице
|
962
|
+
перечисления связей при удалении объекта.
|
963
|
+
|
964
|
+
## 2.2.0
|
965
|
+
|
966
|
+
- **Конструктор отчетов**: Добавлена возможность подсчета количества и суммы
|
967
|
+
значений в отчете.
|
968
|
+
- **Конструктор отчетов**: Исправлено формирование данных при использовании
|
969
|
+
``ArrayField``.
|
970
|
+
|
971
|
+
## 2.1.2
|
972
|
+
|
973
|
+
- Исправлена ошибка в конструкторе отчетов Excel, не позволяющая
|
974
|
+
отсортировать массив, содержащий и обычные значения, и null (None).
|
975
|
+
|
976
|
+
## 2.1.1
|
977
|
+
|
978
|
+
- Исправление ошибки вызова super() у класса SingleErrorDecimalField.
|
979
|
+
|
980
|
+
## 2.1.0
|
981
|
+
|
982
|
+
- Добавлен валидатор SingleErrorDecimalValidator для поля
|
983
|
+
SingleErrorDecimalField, и добавлено поле SingleErrorDecimalField.
|
984
|
+
|
985
|
+
## 2.0.4
|
986
|
+
|
987
|
+
- Исправлен баг при неуказанном классе загрузчика в наследниках
|
988
|
+
importer.api.BaseImportPack
|
989
|
+
|
990
|
+
## 2.0.3
|
991
|
+
|
992
|
+
- Исправлена совместимость importer.api.BaseImportPack с Python3
|
993
|
+
|
994
|
+
## 2.0.2
|
995
|
+
|
996
|
+
- (Несовместима с Python3)
|
997
|
+
Исправлена совместимость importer.api.BaseImportPack с Python3
|
998
|
+
|
999
|
+
## 2.0.1
|
1000
|
+
|
1001
|
+
- (Несовместима с Python3) Исправлено эпизодическое отображение
|
1002
|
+
ошибок встраивания прокси из предшествующей загрузки
|
1003
|
+
при использовании LayoutProxyLoader
|
1004
|
+
|
1005
|
+
## 2.0.0
|
1006
|
+
|
1007
|
+
- Изменения для поддержки Python 3.7.
|
1008
|
+
- Удалены фактически не поддерживаемые south_migrations.
|
1009
|
+
|
1010
|
+
## 1.28.3
|
1011
|
+
|
1012
|
+
- **Конструктор отчетов**: Исправлена работа конструктора при работе с
|
1013
|
+
вложенными блоками, возникающими при обработке отношений многие-ко-многим.
|
1014
|
+
|
1015
|
+
## 1.28.2
|
1016
|
+
|
1017
|
+
- Добавлен механизм для комплексной валидации строк при дата-импорте.
|
1018
|
+
|
1019
|
+
## 1.28.1
|
1020
|
+
|
1021
|
+
- Исправлена работа конструктора отчетов с ArrayField, BooleanField.
|
1022
|
+
|
1023
|
+
## 1.28.0
|
1024
|
+
|
1025
|
+
- Добавлен валидатор ``FileMimeTypeValidator`` для FileField полей проверяющий
|
1026
|
+
mimtype файла.
|
1027
|
+
|
1028
|
+
## 1.27.1
|
1029
|
+
|
1030
|
+
- Исправлена ошибка в python3 TypeError: method expected 2 arguments, got 3
|
1031
|
+
|
1032
|
+
## 1.27.0
|
1033
|
+
|
1034
|
+
- Минимальная версия Django поднята до 1.11
|
1035
|
+
|
1036
|
+
## 1.26.16
|
1037
|
+
|
1038
|
+
- Исправлена ошибка приведения типов в XLSLoader.
|
1039
|
+
|
1040
|
+
## 1.26.15
|
1041
|
+
|
1042
|
+
- Исправлена ошибка при проверке необходимости игнорирования поля модели
|
1043
|
+
- Добавлена возможность добавить в конструкторе вычисляемое поле связанной модели
|
1044
|
+
|
1045
|
+
## 1.26.14
|
1046
|
+
|
1047
|
+
- Добавлена возможность изменить базовый кварисет валидатора уникальности.
|
1048
|
+
|
1049
|
+
## 1.26.13
|
1050
|
+
|
1051
|
+
- **Логи СМЭВ**:
|
1052
|
+
|
1053
|
+
* Добавлена проверка дат в окно параметров печати отчета
|
1054
|
+
* Печатная форма отчета изменена на Альбомную для того чтобы все столбцы
|
1055
|
+
умешались на одной странице
|
1056
|
+
|
1057
|
+
## 1.26.12
|
1058
|
+
|
1059
|
+
- Исправлена ошибка перекрытия окна с сообщением при вызове
|
1060
|
+
ApplicationLogicExeption, при использованиии CancelConfirmWindow.
|
1061
|
+
|
1062
|
+
## 1.26.11
|
1063
|
+
|
1064
|
+
- **Совместимость с Django2.0**: Для совместимости с django 2.0 доработаны:
|
1065
|
+
|
1066
|
+
* У ``AuditLogMiddleware`` добавлено наследование от MiddlewareMixin для
|
1067
|
+
совместимостью с новым стилем middleware
|
1068
|
+
* В модели ``ResetPasswords`` у поля с типом ForeignKey
|
1069
|
+
добавлен атрибут on_delete
|
1070
|
+
|
1071
|
+
## 1.26.10
|
1072
|
+
|
1073
|
+
- **Конструктор отчетов**: Исправлена работа фильтров.
|
1074
|
+
|
1075
|
+
## 1.26.9
|
1076
|
+
|
1077
|
+
- Добавлен валидатор модели для полей, становящихся обязательными в рамках
|
1078
|
+
плагина.
|
1079
|
+
- Добавлена возможность настраивать сообщение об ошибке для валидатора
|
1080
|
+
``UnchangeableFieldValidator``.
|
1081
|
+
|
1082
|
+
## 1.26.8
|
1083
|
+
|
1084
|
+
|
1085
|
+
- В дополнение к операции миграции ``AlterField`` с поддержкой других
|
1086
|
+
приложений добавлены операции ``AddField``, ``RemoveField`` и
|
1087
|
+
``RenameField``.
|
1088
|
+
|
1089
|
+
## 1.26.7
|
1090
|
+
|
1091
|
+
|
1092
|
+
- **Журнал изменений**: Исправлена ошибка, возникавшая при отображении строкового
|
1093
|
+
представления удаленого объекта модели, в которой есть поля типа
|
1094
|
+
``FileField`` или ``ImageField``.
|
1095
|
+
- **Журнал изменений**: Добавлена поддержка полей типа ``DateTimeField`` при
|
1096
|
+
отображении строкового представления объекта в журнале изменений.
|
1097
|
+
|
1098
|
+
## 1.26.6
|
1099
|
+
|
1100
|
+
|
1101
|
+
- **Конструктор отчетов**: Исправлена ошибка формирования отчета. Доработана
|
1102
|
+
функция проверки блока записей, добавлена проверка пустого множества.
|
1103
|
+
|
1104
|
+
## 1.26.5
|
1105
|
+
|
1106
|
+
|
1107
|
+
- **Конструктор отчетов**: Исправлена ошибка фильтрации коллонок для создания
|
1108
|
+
шаблона отчета.
|
1109
|
+
|
1110
|
+
|
1111
|
+
## 1.26.4
|
1112
|
+
|
1113
|
+
|
1114
|
+
- **Конструктор отчетов**: Исправлена фильтрация коллонок для создания
|
1115
|
+
шаблона отчета.
|
1116
|
+
|
1117
|
+
## 1.26.3
|
1118
|
+
|
1119
|
+
|
1120
|
+
- Добавлена возможность регистрации и перерегистрации представлений моделей,
|
1121
|
+
в зависимости от их приоритета.
|
1122
|
+
|
1123
|
+
|
1124
|
+
## 1.26.2
|
1125
|
+
|
1126
|
+
|
1127
|
+
- **Конструктор отчетов**: Исправлена ошибка связаная с кодировками при
|
1128
|
+
записи в файл.
|
1129
|
+
|
1130
|
+
## 1.26.1
|
1131
|
+
|
1132
|
+
|
1133
|
+
- **Конструктор отчетов**: В конструктор отчетов исправлена ошибка объеденения блоков в строке
|
1134
|
+
|
1135
|
+
## 1.26.0
|
1136
|
+
|
1137
|
+
|
1138
|
+
- Добавлена операция миграций ``AlterField`` для изменения параметров полей с
|
1139
|
+
поддержкой моделей других приложений.
|
1140
|
+
|
1141
|
+
## 1.25.1
|
1142
|
+
|
1143
|
+
|
1144
|
+
- **Подержка django 2.2**: Добавлена подержка django 2.2.
|
1145
|
+
|
1146
|
+
## 1.25.0
|
1147
|
+
|
1148
|
+
|
1149
|
+
- **validation**: В ModelValidationMixin добавлена возможность задавать
|
1150
|
+
классы-валидаторы для модели.
|
1151
|
+
- **validators**: Добавлены валидаторы для моделей.
|
1152
|
+
|
1153
|
+
## 1.24.0
|
1154
|
+
|
1155
|
+
|
1156
|
+
- **Конструктор отчетов**: вычисляемые поля.
|
1157
|
+
|
1158
|
+
## 1.24.0
|
1159
|
+
|
1160
|
+
|
1161
|
+
- **Конструктор отчетов**: вычисляемые поля.
|
1162
|
+
|
1163
|
+
## 1.23.0
|
1164
|
+
|
1165
|
+
|
1166
|
+
- **Конструктор отчетов**: Исправлено поведение редактора шаблонов так, чтобы
|
1167
|
+
в режиме ``read_only`` не были доступны кнопки редактирования шаблона.
|
1168
|
+
- **Конструктор отчетов**: в редактор шаблонов отчетов добавлена поддержка
|
1169
|
+
двойного клика мышью для добавления/удаления столбцов в отчет и
|
1170
|
+
разворачивания/сворачивания разделов.
|
1171
|
+
- **Конструктор отчетов**: добавлена поддержка полей логического типа. Ранее
|
1172
|
+
для таких полей в отчете отображались значения "0" и "1". После доработки
|
1173
|
+
отображаются "Нет" и "Да" соответственно.
|
1174
|
+
|
1175
|
+
## 1.22.1
|
1176
|
+
|
1177
|
+
|
1178
|
+
- **educommon.importer.XLSReader**: Исправлена обработка ключей словаря
|
1179
|
+
конфигураций страниц, так что бы не возникала ошибка, когда их тип отличный
|
1180
|
+
от str.
|
1181
|
+
|
1182
|
+
## 1.22.0
|
1183
|
+
|
1184
|
+
|
1185
|
+
- **django.db.utils**: Добавлен ``Lookup`` фильтрации текста по вхождению
|
1186
|
+
независимо от регистра, букв е/ё и наличия пробелов.
|
1187
|
+
|
1188
|
+
## 1.21.9
|
1189
|
+
|
1190
|
+
|
1191
|
+
- **validators**: Исправлено сообщение валидатора ОКТМО.
|
1192
|
+
|
1193
|
+
## 1.21.8
|
1194
|
+
|
1195
|
+
|
1196
|
+
- **extenders**: Исправлена ошибка добавления расширителей с приоритетом.
|
1197
|
+
|
1198
|
+
## 1.21.7
|
1199
|
+
|
1200
|
+
|
1201
|
+
- **ws_log**: Исправлена ошибка логирования в ``BaseWsApplicationLogger``.
|
1202
|
+
|
1203
|
+
## 1.21.6
|
1204
|
+
|
1205
|
+
|
1206
|
+
- **ws_log**: Исправлена ошибка при сохранение записи лога в Python3.
|
1207
|
+
При сохранении запрос/ответ в модели не приобразовывался из bytes в str. Это
|
1208
|
+
приводило к не правильному отображению запросов/ответов в логе.
|
1209
|
+
|
1210
|
+
## 1.21.5
|
1211
|
+
|
1212
|
+
|
1213
|
+
- ``utils.ui``: Багфикс в ``DatetimeFilterCreator``, фильтрация осуществлялась
|
1214
|
+
по полю ``time``, а не по полю, имя которого указывалось в аргументе
|
1215
|
+
``field_name``.
|
1216
|
+
|
1217
|
+
## 1.21.4
|
1218
|
+
|
1219
|
+
|
1220
|
+
- **Конструктор отчетов**: Добавлено текстовое представление модели
|
1221
|
+
ReportTemplate.
|
1222
|
+
|
1223
|
+
## 1.21.3
|
1224
|
+
|
1225
|
+
|
1226
|
+
- **importer**: в XLSLoader изменен текст ошибки при неправильном именовании
|
1227
|
+
листов в импортируемом файле.
|
1228
|
+
|
1229
|
+
## 1.21.2
|
1230
|
+
|
1231
|
+
|
1232
|
+
- **Конструктор отчетов**: исправлено падение в реестре конструктора отчета
|
1233
|
+
при несуществующих полях в подотчетных моделях.
|
1234
|
+
|
1235
|
+
## 1.21.1
|
1236
|
+
|
1237
|
+
|
1238
|
+
- **Построение отчета**: Метод ''SimpleReporter.make_report'' изменен
|
1239
|
+
для более удобного расширения.
|
1240
|
+
- Обработано исключение, генерируемое дескрипторами при ``clean()`` модели
|
1241
|
+
- Учтены связи ``OneToOneField`` при синхронизации данных с Контингентом.
|
1242
|
+
- Внесены исправления в конструктор отчетов. Исправлена проблема извлечения
|
1243
|
+
полей из RelatedObject.
|
1244
|
+
|
1245
|
+
## 1.21.0
|
1246
|
+
|
1247
|
+
|
1248
|
+
- Добавлен пакет **about**, реализующий базовый функционал приложения
|
1249
|
+
"Информация о системе".
|
1250
|
+
|
1251
|
+
## 1.20.9
|
1252
|
+
|
1253
|
+
|
1254
|
+
- **Импорты**: Исправлена ошибка формирования логов при импорте.
|
1255
|
+
|
1256
|
+
## 1.20.8
|
1257
|
+
|
1258
|
+
|
1259
|
+
- **Импорты**: Исправлено учитывание регистра названия листов при поиске
|
1260
|
+
загрузчиков и замалчивание ошибок при неправильном названии листов.
|
1261
|
+
|
1262
|
+
## 1.20.7
|
1263
|
+
|
1264
|
+
|
1265
|
+
- **Конструктор отчетов**: Исправлен рекурсивный поиск исключаемых полей.
|
1266
|
+
|
1267
|
+
## 1.20.6
|
1268
|
+
|
1269
|
+
|
1270
|
+
- Исправлено отображение лога в журнале изменений, пакет rbac,
|
1271
|
+
модель RolePermission
|
1272
|
+
|
1273
|
+
## 1.20.5
|
1274
|
+
|
1275
|
+
|
1276
|
+
- Добавлено сохранение названия функции при обертывании в
|
1277
|
+
``convert_validation_error_to``
|
1278
|
+
|
1279
|
+
## 1.20.4
|
1280
|
+
|
1281
|
+
|
1282
|
+
- Добавлено предстваление для модели ``contingent_plugin.ContingentModelChanged``
|
1283
|
+
- Доработано подключение плагина ``contingent_plugin``
|
1284
|
+
|
1285
|
+
## 1.20.3
|
1286
|
+
|
1287
|
+
|
1288
|
+
- Исправлен баг при получении модели для проверки в RelationsCheckMixin.
|
1289
|
+
Ошибка возникала при извлечении модели из прокси над другим прокси.
|
1290
|
+
|
1291
|
+
## 1.20.2
|
1292
|
+
|
1293
|
+
|
1294
|
+
- **RBAC**: Отключено отображение предупреждений об удалении зависимых объектов
|
1295
|
+
при удалении роли.
|
1296
|
+
|
1297
|
+
## 1.20.1
|
1298
|
+
|
1299
|
+
|
1300
|
+
- Исправлена ошибка связаная с правилом удаление(on_delete) в поле task_type
|
1301
|
+
модели RunningTask.
|
1302
|
+
|
1303
|
+
## 1.20.0
|
1304
|
+
|
1305
|
+
|
1306
|
+
- Добавлена поддержка django 2.0.
|
1307
|
+
|
1308
|
+
## 1.19.7
|
1309
|
+
|
1310
|
+
|
1311
|
+
- Исправлена ошибка при открытии окна BaseMultiSelectWindow
|
1312
|
+
|
1313
|
+
## 1.19.6
|
1314
|
+
|
1315
|
+
|
1316
|
+
- **RBAC**: багфикс в функции get_rbac_rule_data().
|
1317
|
+
|
1318
|
+
## 1.19.5
|
1319
|
+
|
1320
|
+
|
1321
|
+
- **utils.plugins**: багфикс в модуле (проявлялся в Python 2).
|
1322
|
+
|
1323
|
+
## 1.19.4
|
1324
|
+
|
1325
|
+
|
1326
|
+
- **Журнал изменений**: добавлена возможность отключения актуализации настроек
|
1327
|
+
журналирования.
|
1328
|
+
|
1329
|
+
## 1.19.3
|
1330
|
+
|
1331
|
+
|
1332
|
+
- Добавлена возможность автоматичекой перезагрузки грида после подтверждения
|
1333
|
+
удаления всех зависимых объектов.
|
1334
|
+
|
1335
|
+
## 1.19.2
|
1336
|
+
|
1337
|
+
|
1338
|
+
- Исправлена ошибка плагина ``contingent_plugin`` в функции
|
1339
|
+
``observer.ContingentFieldsObserver#_has_changes``. При применении дата
|
1340
|
+
миграций плагином логируются изменения данных. При этом в перечне полей
|
1341
|
+
логирования находятся и те, которые существовали в модели не всегда.
|
1342
|
+
Устранено падение, если поля в исторической модели еще не существует.
|
1343
|
+
|
1344
|
+
## 1.19.1
|
1345
|
+
|
1346
|
+
|
1347
|
+
- Добавлена возможность сохранения выбора при переходе между страницами
|
1348
|
+
BaseMultiSelectWindow
|
1349
|
+
|
1350
|
+
## 1.19.0
|
1351
|
+
|
1352
|
+
|
1353
|
+
- Добавлен пакет **rest**, реализующий базовый функционал для создания
|
1354
|
+
rest-сервисов
|
1355
|
+
- Исправлена работа ResultPermissionsAction для случая,
|
1356
|
+
когда у роли есть скрытые разрешения.
|
1357
|
+
|
1358
|
+
## 1.18.0
|
1359
|
+
|
1360
|
+
|
1361
|
+
- Добавлен класс-примесь ``DeferredActionsMixin`` для выполнения отложенных
|
1362
|
+
действий перед/после сохранения/удаления объекта модели.
|
1363
|
+
|
1364
|
+
## 1.17.5
|
1365
|
+
|
1366
|
+
|
1367
|
+
- Добавлена возможность расширять функции и методы встроенных типов
|
1368
|
+
|
1369
|
+
## 1.17.4
|
1370
|
+
|
1371
|
+
|
1372
|
+
- Исправлено получение пака в ``get_pack()``
|
1373
|
+
- Добавлена проверка типа расширяемой функции/метода
|
1374
|
+
|
1375
|
+
## 1.17.3
|
1376
|
+
|
1377
|
+
|
1378
|
+
- **ws_log**: Добавлен новый тип источника взаимодействия "МФЦ".
|
1379
|
+
|
1380
|
+
## 1.17.2
|
1381
|
+
|
1382
|
+
|
1383
|
+
- **ws_log**: Исправлена ошибка при логирование запросов в Python 3.
|
1384
|
+
|
1385
|
+
## 1.17.1
|
1386
|
+
|
1387
|
+
|
1388
|
+
- **ws_log**: Добавлен новый тип источника взаимодействия "Барс-Образование".
|
1389
|
+
- **delete_check**: Функции получения связанных объектов при удалении вынесены
|
1390
|
+
за DeleteCheck, исправлено формирование связей при использовании
|
1391
|
+
Django-коллектора.
|
1392
|
+
|
1393
|
+
## 1.17.0
|
1394
|
+
|
1395
|
+
|
1396
|
+
- В ``ModelValidationMixin`` добавлена возможность выполнения операций
|
1397
|
+
сохранения с проверкой (``clean_and_save()``, ``objects.create()``) внутри
|
1398
|
+
транзакции. Такая необходимость возникает в т.ч. когда внутри
|
1399
|
+
``full_clean()`` используется ``select_for_update()``.
|
1400
|
+
|
1401
|
+
## 1.16.3
|
1402
|
+
|
1403
|
+
|
1404
|
+
- Добавлены новые параметры полей ввода имен, ОКПО, ОГРН, ОКВЭД, ОКОПФ,
|
1405
|
+
ОКФС, телефона, эоектронной почты и номера счета.
|
1406
|
+
|
1407
|
+
## 1.16.2
|
1408
|
+
|
1409
|
+
|
1410
|
+
- **django.db.migration.operations**: добавлена поддержка "естественных"
|
1411
|
+
(natural) ключей в операции ``LoadFixture``.
|
1412
|
+
|
1413
|
+
## 1.16.1
|
1414
|
+
|
1415
|
+
|
1416
|
+
- **delete_check**: Сбор неблокирующих связей при удалении объектов заменен на
|
1417
|
+
использование коллектора Django.
|
1418
|
+
- **Интервальные модели**: оптимизирована проверка пересечения интервала
|
1419
|
+
с другими записями модели (параметр ``no_intersections_for``) при
|
1420
|
+
использовании внешних ключей.
|
1421
|
+
- **Реестр асинхронных задач**: Исправлен некорректный порядок отображения
|
1422
|
+
результатов выполнения асинхронной задачи.
|
1423
|
+
|
1424
|
+
## 1.16.0
|
1425
|
+
|
1426
|
+
|
1427
|
+
- Добавлено окно отображения связанных объектов с возможностью продолжить
|
1428
|
+
удаление объекта и его связей.
|
1429
|
+
|
1430
|
+
## 1.15.9
|
1431
|
+
|
1432
|
+
|
1433
|
+
- **RBAC**: Багфикс в команде ``rbac show actions`` при запуске в Python 3.
|
1434
|
+
- **RBAC**: В вывод команды ``rbac show actions`` добавлена подсветка имен
|
1435
|
+
разрешений и классов.
|
1436
|
+
|
1437
|
+
## 1.15.8
|
1438
|
+
|
1439
|
+
|
1440
|
+
- **Интервальные модели**: Багфикс в метаклассе интервальной модели. Ошибка
|
1441
|
+
проявлялась в том, случае, когда на основе классов-примесей
|
1442
|
+
``DateIntervalMixin`` и ``DateTimeIntervalMixin`` создавались классы-примеси.
|
1443
|
+
В метаклассе ``BaseIntervalMeta`` учитывались параметры только самого класса,
|
1444
|
+
но не его предков, в результате при сложном наследовании терялись параметры
|
1445
|
+
интервальной модели.
|
1446
|
+
- Удалено использование pip API в связи с тем, что в версии 10 оно было
|
1447
|
+
закрыто.
|
1448
|
+
|
1449
|
+
## 1.15.7
|
1450
|
+
|
1451
|
+
|
1452
|
+
- **Интервальные модели**: Багфикс в метаклассе интервальной модели, из-за
|
1453
|
+
которого нельзя было поменять параметры полей с границами интервала, если
|
1454
|
+
в классе модели использовался другой метакласс (конфликт с
|
1455
|
+
``model_modifier_metaclass``).
|
1456
|
+
|
1457
|
+
## 1.15.6
|
1458
|
+
|
1459
|
+
|
1460
|
+
- **Журнал изменений**: Удалена привязка к RBAC. Это мешало использовать журнал
|
1461
|
+
изменений в Системах без RBAC.
|
1462
|
+
|
1463
|
+
## 1.15.5
|
1464
|
+
|
1465
|
+
|
1466
|
+
- **Конструктор отчетов**: Добавление проверки окрашивания в красный только
|
1467
|
+
листьевю
|
1468
|
+
- **Журнал изменений**: багфикс в коде перенастройки подключения к сервисной
|
1469
|
+
БД из основной.
|
1470
|
+
|
1471
|
+
## 1.15.4
|
1472
|
+
|
1473
|
+
|
1474
|
+
- Багфикс после добавления поддержки Python 3: исправлен расчет высоты текста
|
1475
|
+
в ячейке
|
1476
|
+
|
1477
|
+
## 1.15.3
|
1478
|
+
|
1479
|
+
|
1480
|
+
- Добавлен перехват ObjectDoesNotExist ошибок для моделей.
|
1481
|
+
- Багфикс после добавления поддержки Python 3: исправлено разбиение слова на
|
1482
|
+
части для печатных форм.
|
1483
|
+
- **Конструктор отчетов**: Исправление отображения отчетов с неактуальными
|
1484
|
+
колонками.
|
1485
|
+
- **Конструктор отчетов**: Поле "Отображать данные по дочерним учреждениям"
|
1486
|
+
переименовано в поле "Отображать данные по дочерним организациям".
|
1487
|
+
|
1488
|
+
## 1.15.2
|
1489
|
+
|
1490
|
+
|
1491
|
+
- Багфикс после добавления поддержки Python 3: добавлено принудительное
|
1492
|
+
приведение номера строки к строковому виду в key-функции сортировки логов.
|
1493
|
+
|
1494
|
+
## 1.15.1
|
1495
|
+
|
1496
|
+
|
1497
|
+
- Багфикс после добавления поддержки Python 3: убран decode() для объектов str.
|
1498
|
+
|
1499
|
+
## 1.15.0
|
1500
|
+
|
1501
|
+
|
1502
|
+
- Добавлен функционал расширителей классов (``educommon.utils.plugins``).
|
1503
|
+
|
1504
|
+
## 1.14.3
|
1505
|
+
|
1506
|
+
|
1507
|
+
- **RBAC**: Багфикс в модели ``UserRole`` (непраивльно выполнялась проверка
|
1508
|
+
возможности назначения роли указанному типу пользователя).
|
1509
|
+
|
1510
|
+
## 1.14.2
|
1511
|
+
|
1512
|
+
|
1513
|
+
- **RBAC**: Багфикс в окне редактирования роли: не отображались наименования
|
1514
|
+
разделов.
|
1515
|
+
- Багфикс после добавления поддержки Python 3: при использовании директивы
|
1516
|
+
``from __future__ import absolute_imports`` в Python 2 значение
|
1517
|
+
``__package__`` содержит пустую строку вместо имени пакета.
|
1518
|
+
|
1519
|
+
## 1.14.1
|
1520
|
+
|
1521
|
+
|
1522
|
+
- **ws_log**: Исправлена ошибка сортировки по столбцу "Код метода".
|
1523
|
+
|
1524
|
+
## 1.14.0
|
1525
|
+
|
1526
|
+
|
1527
|
+
- Поддержка Python 3.
|
1528
|
+
|
1529
|
+
## 1.13.8
|
1530
|
+
|
1531
|
+
|
1532
|
+
- **Реестр асинхронных задач**: Исправлена ошибка, возникающая при попытке
|
1533
|
+
использования ``retry`` у асинхронных задач.
|
1534
|
+
|
1535
|
+
|
1536
|
+
## 1.13.7
|
1537
|
+
|
1538
|
+
|
1539
|
+
- **Конструктор отчетов**: Исправлена ошибка, возникающая при формировании
|
1540
|
+
и редактировании отчетов из шаблонов, поля которых были исключены
|
1541
|
+
при помощи ``model.report_constructor_params`` (except, only, skip).
|
1542
|
+
|
1543
|
+
|
1544
|
+
## 1.13.6
|
1545
|
+
|
1546
|
+
|
1547
|
+
- **m3**: Доработана совместимость с Django >= 1.9
|
1548
|
+
|
1549
|
+
## 1.13.5
|
1550
|
+
|
1551
|
+
|
1552
|
+
- **ws_log**: Добавлена возможность сортировки записей в реестре логов
|
1553
|
+
запросов СМЭВ (``educommon.ws_log.actions.SmevLogPack``)
|
1554
|
+
|
1555
|
+
## 1.13.4
|
1556
|
+
|
1557
|
+
|
1558
|
+
- **django.db.migration.operations**: В ``LoadFixture`` и ``CorrectSequence``
|
1559
|
+
добавлены возможности принудительно загрузить фикстуры и
|
1560
|
+
скорректировать sequence для моделей
|
1561
|
+
(например, для моделей, у которых параметр managed=False).
|
1562
|
+
|
1563
|
+
## 1.13.3
|
1564
|
+
|
1565
|
+
|
1566
|
+
- **Конструктор отчетов**: Исправлена ошибка, при которой некорректно
|
1567
|
+
выполнялась проверка ограничивающих параметров столбцов вложенных
|
1568
|
+
моделей источника.
|
1569
|
+
|
1570
|
+
## 1.13.2
|
1571
|
+
|
1572
|
+
|
1573
|
+
- **django.db.utils**: Багфикс в ``model_modifier_metaclass`` (при изменении
|
1574
|
+
параметры ``max_length`` у поля ``CharField`` в соответствующем валидаторе
|
1575
|
+
поля значение оставалось равным исходному).
|
1576
|
+
|
1577
|
+
## 1.13.1
|
1578
|
+
|
1579
|
+
|
1580
|
+
- **ws_log**: Исправлена ошибка при обработке события wsgi_exception.
|
1581
|
+
|
1582
|
+
## 1.13.0
|
1583
|
+
|
1584
|
+
|
1585
|
+
- **ws_log**
|
1586
|
+
|
1587
|
+
- Доработано логирование запросов к веб-сервисам.
|
1588
|
+
- Добавлен менеджер логгеров (``educommon.ws_log.utils.logger_manager``).
|
1589
|
+
- Добавлен класс-интерфейс для конфигурирования менеджера логгеров
|
1590
|
+
(``educommon.ws_log.IConfig``).
|
1591
|
+
- Добавлен логгер для уже существующих веб-сервисов
|
1592
|
+
(``educommon.ws_log.base.DefaultWsApplicationLogger``).
|
1593
|
+
|
1594
|
+
## 1.12.3
|
1595
|
+
|
1596
|
+
|
1597
|
+
- **RBAC**: Багфикс проверки типа пользователя в модели ``UserRole``.
|
1598
|
+
|
1599
|
+
## 1.12.2
|
1600
|
+
|
1601
|
+
|
1602
|
+
- **RBAC**: Реализована защита от удаления из всех ролей разрешения на
|
1603
|
+
редактирование роли.
|
1604
|
+
|
1605
|
+
## 1.12.1
|
1606
|
+
|
1607
|
+
|
1608
|
+
- **RBAC**: Багфикс в миграции 0004: из-за того, что не был прописан менеджер
|
1609
|
+
по умолчанию, использование модели ``UserRole`` в миграциях приводило к
|
1610
|
+
ошибке, т.к. атрибута ``objects`` у этой модели не было.
|
1611
|
+
|
1612
|
+
## 1.12.0
|
1613
|
+
|
1614
|
+
|
1615
|
+
- **RBAC**: Добавлена возможность назначения ролей определенному типу
|
1616
|
+
пользователей.
|
1617
|
+
|
1618
|
+
## 1.11.2
|
1619
|
+
|
1620
|
+
- ``utils.fonts``: Добавлен шрифт Calibri.
|
1621
|
+
|
1622
|
+
## 1.11.1
|
1623
|
+
|
1624
|
+
|
1625
|
+
- ``utils.ui``: Добавлена возможность указывать callable-объекты для
|
1626
|
+
формирования вариантов выбора в фильтре ``educommon.utils.ui.ChoicesFilter``.
|
1627
|
+
|
1628
|
+
## 1.11.0
|
1629
|
+
|
1630
|
+
|
1631
|
+
- **Конструктор отчетов**: Изменена логика обработки параметров моделей,
|
1632
|
+
теперь иерархия столбцов отчета формируется в зависимости от параметров
|
1633
|
+
источника данных.
|
1634
|
+
- **Конструктор отчетов**: Добавлена возможность указывать вложенные поля в
|
1635
|
+
параметрах конструктора модели.
|
1636
|
+
|
1637
|
+
## 1.10.0
|
1638
|
+
|
1639
|
+
|
1640
|
+
- Добавлен парсер для файлов лицензий (``educommon.utils.licence``).
|
1641
|
+
- **RBAC**: Добавлена возможность сокрытия разрешений от пользователя.
|
1642
|
+
- **RBAC**: В окно редактирования роли добавлен столбец "Зависимые разрешения".
|
1643
|
+
|
1644
|
+
## 1.9.1
|
1645
|
+
|
1646
|
+
|
1647
|
+
- **Конструктор отчетов**: Добавлена проверка заполненности параметров
|
1648
|
+
сортировки отчета на клиенте.
|
1649
|
+
|
1650
|
+
## 1.9.0
|
1651
|
+
|
1652
|
+
|
1653
|
+
- **Конструктор отчетов**: Минимальная версия *Django* поднята до *1.8*.
|
1654
|
+
- **Конструктор отчетов**: Регистрация `lower` лукапа при подключении плагина.
|
1655
|
+
- **Конструктор отчетов**: Исправлена работа фильтров "Равно одному из" и
|
1656
|
+
"Между".
|
1657
|
+
- Добавлена возможность расширения списка зависимых объектов перед удалением
|
1658
|
+
записей в слушателе ``DeleteCheck``, через сигнал ``collect_implicit``.
|
1659
|
+
- **Журнал веб-сервисов**: в окне печати и xls шаблоне изменено название поля
|
1660
|
+
с "Учреждение" на "Организация".
|
1661
|
+
- Добавлены переменные "Константы" обозначающие некоторые элементы справочника
|
1662
|
+
образовательных организаций
|
1663
|
+
- **RBAC**: Исправлена ошибка открытия списка ролей при наличии права только
|
1664
|
+
на просмотр.
|
1665
|
+
|
1666
|
+
## 1.8.3
|
1667
|
+
|
1668
|
+
|
1669
|
+
- Исправлена ошибка в ``educommon.django.db.utils.model_modifier_metaclass``.
|
1670
|
+
Не было учтено, что некоторые атрибуты поля имеют дубликаты *(например,
|
1671
|
+
значение ``verbose_name`` дублируется также и в атрибуте ``_verbose_name``)*.
|
1672
|
+
В результате, если не продублировать значение в таких атрибутах, при
|
1673
|
+
формировании файла миграции переопределенные в ``model_modifier_metaclass``
|
1674
|
+
параметры полей не будут учтены.
|
1675
|
+
|
1676
|
+
## 1.8.2
|
1677
|
+
|
1678
|
+
|
1679
|
+
- **RBAC**: Добавлена возможность указывать зависимости между разрешениями
|
1680
|
+
в виде callable-объекта (актуально для предотвращения кросс-импортов).
|
1681
|
+
|
1682
|
+
## 1.8.1
|
1683
|
+
|
1684
|
+
|
1685
|
+
- **RBAC**: Добавлена поддержка классов конфигурации django-приложений в
|
1686
|
+
параметре ``INSTALLED_APPS``.
|
1687
|
+
|
1688
|
+
## 1.8.0
|
1689
|
+
|
1690
|
+
|
1691
|
+
- **RBAC**: Добавлена возможность определять зависимости между разрешениями.
|
1692
|
+
- **RBAC**: В окно редактирования роли добавлена возможность просмотра итоговых
|
1693
|
+
разрешений, предоставляемых ролью (с учетом зависимых разрешений и вложенных
|
1694
|
+
ролей).
|
1695
|
+
- **RBAC**: Прописаны зависимости между разрешениями в следующих приложениях
|
1696
|
+
``educommon.auth.rbac`` и ``educommon.audit_log``.
|
1697
|
+
- **Утилиты**: добавлена функция ``patch_utf8_assertion_error``. Если её
|
1698
|
+
вызвать при инициализации проекта, то все исключения AssertionError
|
1699
|
+
с русскоязычными сообщениями будут отображаться корректно.
|
1700
|
+
|
1701
|
+
## 1.7.0
|
1702
|
+
|
1703
|
+
|
1704
|
+
- **RBAC**: Добавлено отображение текстового описания разрешения в окне
|
1705
|
+
редактирования роли.
|
1706
|
+
|
1707
|
+
- Перенос шаблонного фильтра ``jsonify`` в ``educommon.utils.system_app``.
|
1708
|
+
|
1709
|
+
## 1.6.8
|
1710
|
+
|
1711
|
+
|
1712
|
+
- **RBAC**: Доработка функции ``educommon.auth.rbac.utils.get_rbac_rule_data``.
|
1713
|
+
Добавлена поддержка метода ``get_rbac_rule_data`` в действиях (``Action``), а
|
1714
|
+
также поддержка аргумента ``action`` в методах ``get_rbac_rule_data``.
|
1715
|
+
|
1716
|
+
## 1.6.7
|
1717
|
+
|
1718
|
+
|
1719
|
+
- **Утилиты**: Багфикс в функции ``educommon.utild.db.get_related_fields()``.
|
1720
|
+
|
1721
|
+
## 1.6.6
|
1722
|
+
|
1723
|
+
|
1724
|
+
- **RBAC**: Багфикс в коде запуска обработчиков разрешений.
|
1725
|
+
|
1726
|
+
## 1.6.5
|
1727
|
+
|
1728
|
+
|
1729
|
+
- **RBAC**: Доработана проверка на вложенность при удалении роли из роли.
|
1730
|
+
- Вынесен шаблонный фильтр jsonify.
|
1731
|
+
|
1732
|
+
## 1.6.4
|
1733
|
+
|
1734
|
+
|
1735
|
+
- Добавлен источник взаимодействия "концентратор" в реестр "Поставщики СМЭВ"
|
1736
|
+
|
1737
|
+
## 1.6.3
|
1738
|
+
|
1739
|
+
|
1740
|
+
- **Утилиты**: исправлена ошибка в функции ``is_in_migration_command()``,
|
1741
|
+
допущенная в предыдущей версии ``educommon``.
|
1742
|
+
|
1743
|
+
## 1.6.2
|
1744
|
+
|
1745
|
+
|
1746
|
+
- **Утилиты**: доработана функция ``is_in_migration_command()``. Ранее в
|
1747
|
+
версиях Django 1.7 она возвращала ``True`` только если вызов функции
|
1748
|
+
осуществлялся в рамках выполнения management-команды ``migrate``, команды
|
1749
|
+
``makemigrations``, ``sqlmigrate`` и ``show_migrations`` не учитывались.
|
1750
|
+
Поддержка этих команд добавлена в функцию.
|
1751
|
+
|
1752
|
+
## 1.6.1
|
1753
|
+
|
1754
|
+
|
1755
|
+
- **Конструктор отчетов**: в окне редактирования шаблона отчета на вкладке
|
1756
|
+
"Фильтры" столбец "Оператор" переименован на "Условие".
|
1757
|
+
|
1758
|
+
- **Конструктор отчетов**: доработка для совместимости с Celery 4.x.
|
1759
|
+
``ConstructorConfig.async_task`` должен возвращать экземпляр класса, а в коде
|
1760
|
+
результат использовался как класс.
|
1761
|
+
|
1762
|
+
- Обновлены secure_media urlpatterns для Django 1.10.
|
1763
|
+
|
1764
|
+
## 1.6.0
|
1765
|
+
|
1766
|
+
|
1767
|
+
- **Конструктор отчетов**: добавлена возможность переопределения наименований
|
1768
|
+
столбцов при настройке источников данных.
|
1769
|
+
|
1770
|
+
## 1.5.0
|
1771
|
+
|
1772
|
+
|
1773
|
+
- **Журнал изменений**: добавлена проверка наличия в базах данных (основной и
|
1774
|
+
сервисной) необходимых расширений. При их отсутствии осуществляется попытка
|
1775
|
+
создания недостающих расширений: для основной БД --- ``postgres_fdw`` и
|
1776
|
+
``hstore``, для сервисной --- ``hstore``.
|
1777
|
+
- **Журнал изменений**: исправлена ошибка, возникающая при выполнении миграций
|
1778
|
+
на пустой БД.
|
1779
|
+
|
1780
|
+
## 1.4.0
|
1781
|
+
|
1782
|
+
|
1783
|
+
- Конструктор отчетов: фильтрация и сортировка данных, багфиксы.
|
1784
|
+
- Исправлена ошибка в зависимости от пакета ``m3-django-compat``, которая
|
1785
|
+
приводила к тому, что при установке зависимостей в соответствии со списком
|
1786
|
+
зависимостей проекта устанавливалась версия 1.3.0 несмотря на то, что другие
|
1787
|
+
пакеты требовали более высоких версий ``m3-django-compat``.
|
1788
|
+
|
1789
|
+
## 1.3.2
|
1790
|
+
|
1791
|
+
|
1792
|
+
- Исправлена миграция изменения Поле "Адрес сервиса изменения статуса"
|
1793
|
+
в модели "Поставщики СМЭВ"
|
1794
|
+
|
1795
|
+
|
1796
|
+
## 1.3.1
|
1797
|
+
|
1798
|
+
|
1799
|
+
- Поле "Адрес сервиса изменения статуса" в модели "Поставщики СМЭВ"
|
1800
|
+
сделано необязательным.
|
1801
|
+
|
1802
|
+
## 1.2.0
|
1803
|
+
|
1804
|
+
|
1805
|
+
- В educommon.importer.EnumCell добавлена возможность указывать значения,
|
1806
|
+
при которых ячейка считается пустой.
|
1807
|
+
|
1808
|
+
## 1.1.4
|
1809
|
+
|
1810
|
+
|
1811
|
+
- Добавлены типы законного представителя ("Попечитель" и "Руководитель воспита-
|
1812
|
+
тельного, лечебного и иного учреждения, в котором ребенок находится на
|
1813
|
+
полном государственном обеспечении") в качестве доступных для выбора в
|
1814
|
+
справочниках значений в ЭДС.
|
1815
|
+
|
1816
|
+
## 1.1.3
|
1817
|
+
|
1818
|
+
|
1819
|
+
- Исправление ошибки в функции ``educommon.ws_log.smev.applications.method_call``.
|
1820
|
+
Если дескриптор метода не найден(ResourceNotFound), при попытки получить
|
1821
|
+
из системы информацию по методу сервиса для логирования, падала ошибка.
|
1822
|
+
|
1823
|
+
## 1.1.2
|
1824
|
+
|
1825
|
+
|
1826
|
+
- Исправление ошибки в функции ``educommon.utils.m3.db.get_related_fields``.
|
1827
|
+
Ошибка заключалась в том, что функция возвращала M2M-поля, указывая на то,
|
1828
|
+
что из них есть ссылки (внешний ключ) на указанную в первом аргументе функции
|
1829
|
+
модель. Но фактически такой ссылки нет --- есть ссылка из промежуточной
|
1830
|
+
таблицы. Это приводило к неправильному функционированию слушателя
|
1831
|
+
``DeleteCheck``.
|
1832
|
+
|
1833
|
+
## 1.1.1
|
1834
|
+
|
1835
|
+
|
1836
|
+
- При отсутствии прав на редактирование разрешений ролей грид в
|
1837
|
+
``educommon.auth.rbac.ui.RoleEditWindow`` будет типа `ExtGridRowSelModel`,
|
1838
|
+
иначе `ExtGridCheckBoxSelModel`. Добавлен стиль для строк грида ролей
|
1839
|
+
которые не выбраны.
|
1840
|
+
|
1841
|
+
## 1.1.0
|
1842
|
+
|
1843
|
+
|
1844
|
+
- Объявлены две константы для перечисления трудных жизненных ситуаций
|
1845
|
+
(``educommon.contingent.catalogs.DifficultSituations``).
|
1846
|
+
- Добавлена совместимость ``educommon.django.db.partitioning`` c Django 1.4.
|
1847
|
+
- Добавлен справочник "Тип документа, подтверждающего права".
|
1848
|
+
|
1849
|
+
## 1.0.12
|
1850
|
+
|
1851
|
+
|
1852
|
+
- Исправлена 4-ая миграция модуля ``educommon.ws_log``, добавлено явное
|
1853
|
+
приведение типа, при изменении поля ``source``.
|
1854
|
+
|
1855
|
+
## 1.0.11
|
1856
|
+
|
1857
|
+
|
1858
|
+
- Блокировка грида в ``educommon.auth.rbac.ui.RoleEditWindow``, если имеются
|
1859
|
+
права только на просмотр ролей. Скрытие кнопки сохранить.
|
1860
|
+
|
1861
|
+
## 1.0.10
|
1862
|
+
|
1863
|
+
|
1864
|
+
- Исправление ошибки при фильтрации записей по полю "Объект" в Журнале
|
1865
|
+
изменений (``educommon.audit_log``).
|
1866
|
+
|
1867
|
+
## 1.0.9
|
1868
|
+
|
1869
|
+
|
1870
|
+
- Перенос проверки наличия полей в моделях для
|
1871
|
+
``contingent.contingent_plugin.observer.ContingentFieldsObserver``
|
1872
|
+
|
1873
|
+
## 1.0.8
|
1874
|
+
|
1875
|
+
|
1876
|
+
- Исправил функцию проверки наличия SQL процедур, необходимых
|
1877
|
+
для проведения партиционирования.
|
1878
|
+
|
1879
|
+
## 1.0.7
|
1880
|
+
|
1881
|
+
|
1882
|
+
- Исправлена ошибка UnicodeEncodeError при обработке
|
1883
|
+
``spyne_smev.fault.ApiError``.
|
1884
|
+
|
1885
|
+
## 1.0.5
|
1886
|
+
|
1887
|
+
|
1888
|
+
- Восстановлена загрузка фикстуры для модели типа асинхронных задач
|
1889
|
+
в django-миграциях.
|
1890
|
+
|
1891
|
+
## 1.0.4
|
1892
|
+
|
1893
|
+
|
1894
|
+
- Секционирование таблиц PostgreSQL: Багфикс в ``partitioning.sql``.
|
1895
|
+
|
1896
|
+
## 1.0.3
|
1897
|
+
|
1898
|
+
|
1899
|
+
- Секционирование таблиц PostgreSQL: Исправление ошибки в функции
|
1900
|
+
``partitioning.get_sequence_for_field()``.
|
1901
|
+
|
1902
|
+
## 1.0.2
|
1903
|
+
|
1904
|
+
|
1905
|
+
- Конструктор отчетов: переведение сборки в асинхронный режим работы.
|
1906
|
+
|
1907
|
+
## 1.0.1
|
1908
|
+
|
1909
|
+
|
1910
|
+
- Конструктор отчетов: увеличение времени ожидания сборки.
|
1911
|
+
|
1912
|
+
Сборка отчетов может занимать много времени, но при этом пока идет в
|
1913
|
+
синхронном режиме, поэтому таймаут ожидания ответа на HTTP-запрос
|
1914
|
+
сборки отчета увеличен до 30 минут.
|
1915
|
+
|
1916
|
+
## 1.0.0
|
1917
|
+
|
1918
|
+
|
1919
|
+
- Изменен порядок нумерации версий, описание см. в README.rst.
|
1920
|
+
- Реализация конструктора отчетов.
|
1921
|
+
- Исправление ошибок в параметрах моделей с ``CascadeDeleleMixin``.
|
1922
|
+
|
1923
|
+
## 0.15.32
|
1924
|
+
|
1925
|
+
|
1926
|
+
- Исправление ошибок в ``CascadeDeleteMixin``.
|
1927
|
+
|
1928
|
+
## 0.15.31
|
1929
|
+
|
1930
|
+
|
1931
|
+
- Исправлены ошибки в механизме импорта. В лог теперь попадают сообщения
|
1932
|
+
об ошибках извлечения данных из xls. Если были ошибки при импорте без
|
1933
|
+
игнорирования ошибок, то даже корректные данные не загружаются.
|
1934
|
+
|
1935
|
+
## 0.15.30
|
1936
|
+
|
1937
|
+
|
1938
|
+
- заменила None значения uftt_code в IdentityDocumentsTypes на значение 4
|
1939
|
+
(Другой документ, удостоверяющий личность )
|
1940
|
+
|
1941
|
+
## 0.15.29
|
1942
|
+
|
1943
|
+
|
1944
|
+
- educommon.audit_log: Исправлена ошибка в параметрах фильтра колонки "Объект".
|
1945
|
+
|
1946
|
+
## 0.15.28
|
1947
|
+
|
1948
|
+
|
1949
|
+
- Перенесен слушатель ``DeleteCheck``, собирающий и показывающий информацию о
|
1950
|
+
зависимых обьектах.
|
1951
|
+
- Перенесен ``model_view`` , отображающий связи о зависимых объектах.
|
1952
|
+
- Создана инфраструктура для тестирования паков.
|
1953
|
+
- Созданы примеси к моделям и пакам для каскадного удаления обьектов.
|
1954
|
+
- Тесты для примесей ``CascadeDeleleMixin`` и ``CascadeDeletePackMixin``.
|
1955
|
+
- Добавлена совместимость management-команды ``rbac`` с версиями django<1.10.
|
1956
|
+
- Перенесены функции ``get_field``, ``get_related_fields``,
|
1957
|
+
``get_related_instances``, ``get_nested_attr``, ``local_template``.
|
1958
|
+
|
1959
|
+
## 0.15.27
|
1960
|
+
|
1961
|
+
|
1962
|
+
- ``educommon.ws_log``: добавлен индекс для поля "Время СМЭВ запроса"
|
1963
|
+
(``ws_log_smevlog.time``).
|
1964
|
+
- ``educommon.ws_log``: оптимизирован запрос на выборку записей.
|
1965
|
+
|
1966
|
+
## 0.15.26
|
1967
|
+
|
1968
|
+
|
1969
|
+
- Исправлена ошибка pickle объекта модели партицированной таблицы
|
1970
|
+
|
1971
|
+
## 0.15.25
|
1972
|
+
|
1973
|
+
|
1974
|
+
- ``educommon.auth.simple_auth``: добавлена возможность кастомизации алгоритма
|
1975
|
+
поиска учетной записи по email при восстановлении пароля. В ``educommon.ioc``
|
1976
|
+
добавлена возможность зарегистрировать функцию ``get_user_by_email(email)``,
|
1977
|
+
в которой реализован альтернативный алгоритм.
|
1978
|
+
|
1979
|
+
## 0.15.24
|
1980
|
+
|
1981
|
+
|
1982
|
+
- Убрано сообщение «Файл пуст» при импорте.
|
1983
|
+
- Исправлена ошибка при миграциии ``ws_log`` на всех версиях Django.
|
1984
|
+
|
1985
|
+
## 0.15.23
|
1986
|
+
|
1987
|
+
|
1988
|
+
- Исправлена проблема с указанием высоты строки объединенных ячеек при
|
1989
|
+
использовании ``educommon.report.utils.adjust_row_height``.
|
1990
|
+
- Добавлен шрифт Tahoma Regular.
|
1991
|
+
- В метод ``BaseIntervalMixin.get_date_in_intervals_filter()`` добавлены
|
1992
|
+
аргументы ``include_lower_bounds`` и ``include_upper_bounds``, определяющие
|
1993
|
+
включение границ в интервалы.
|
1994
|
+
|
1995
|
+
## 0.15.22
|
1996
|
+
|
1997
|
+
|
1998
|
+
- Исправлена ошибка невозможности ввода значения фильтров русскими символами в
|
1999
|
+
management-команде ``delete_objects``.
|
2000
|
+
|
2001
|
+
## 0.15.21
|
2002
|
+
|
2003
|
+
|
2004
|
+
- Добавлена management-команда ``delete_objects`` для удаления объектов.
|
2005
|
+
- В ``educommon.django.db.partitioning`` добавлены management-команды
|
2006
|
+
для осуществления секционирования и миграции данных из родительской
|
2007
|
+
таблицы в соответствующие секции.
|
2008
|
+
- Добавлена функция ``reconfigure_object_tree_by_access`` для
|
2009
|
+
перенастройки древовидного грида в зависимости от прав доступа.
|
2010
|
+
- RBAC: В окне редактирования роли исправлена сортировка списка разрешений.
|
2011
|
+
|
2012
|
+
## 0.15.20
|
2013
|
+
|
2014
|
+
|
2015
|
+
- Добавлен журнал изменений
|
2016
|
+
|
2017
|
+
## 0.15.19
|
2018
|
+
|
2019
|
+
|
2020
|
+
- Исправлена ошибка при миграции ``contingent_plugin`` на версиях Django выше
|
2021
|
+
1.9.0.
|
2022
|
+
|
2023
|
+
## 0.15.18
|
2024
|
+
|
2025
|
+
|
2026
|
+
- Исправлена ошибка при которой невозможно изменить название файла отчета, если
|
2027
|
+
задан параметр ``title`` у пака для генерации отчета.
|
2028
|
+
|
2029
|
+
## 0.15.17
|
2030
|
+
|
2031
|
+
|
2032
|
+
- Поддержка версий PostgreSQL<9.5 в коде партиционирования таблиц БД. Для
|
2033
|
+
установки изменений в БД нужно выполнить
|
2034
|
+
``partitioning.init(database_alias, force=True)``. Изменение вышло также в
|
2035
|
+
версии 0.14.24.
|
2036
|
+
|
2037
|
+
## 0.15.16
|
2038
|
+
|
2039
|
+
|
2040
|
+
- Поддержка табличных пространств в партиционированных таблицах. Новые разделы
|
2041
|
+
будут создаваться в том же табличном пространстве, в котором находится
|
2042
|
+
основная таблица, а не в табличном пространстве по умолчанию. Для установки
|
2043
|
+
изменений в БД нужно выполнить
|
2044
|
+
``partitioning.init(database_alias, force=True)``.
|
2045
|
+
|
2046
|
+
## 0.15.15
|
2047
|
+
|
2048
|
+
|
2049
|
+
- Исправление ошибки получения списка зависимых объектов в
|
2050
|
+
``educommon.objectpack.actions.RelationsCheckMixin``.
|
2051
|
+
|
2052
|
+
## 0.15.14
|
2053
|
+
|
2054
|
+
|
2055
|
+
- Исправление ошибок, допущенных в версии 0.15.10, в очередности параметров
|
2056
|
+
инициализации ``educommon.importer.proxy_import.ProxyLoader`` и пустому
|
2057
|
+
логу при загрузке строк в ``educommon.importer.proxy.MultiProxyLoader``,
|
2058
|
+
приводивших к проблемам с обратной совместимостью.
|
2059
|
+
|
2060
|
+
## 0.15.13
|
2061
|
+
|
2062
|
+
|
2063
|
+
- Исправление ошибок модуля импортера для работы библиотеки с версиями
|
2064
|
+
m3-core ниже 2.2.5.
|
2065
|
+
|
2066
|
+
## 0.15.12
|
2067
|
+
|
2068
|
+
|
2069
|
+
- К initial миграции contingent_plugin добавлен run_before со всеми
|
2070
|
+
приложениями из settings.PROJECT_APPS.
|
2071
|
+
|
2072
|
+
## 0.15.11
|
2073
|
+
|
2074
|
+
|
2075
|
+
- Добавлена обработка критической ошибки импорта для предварительной проверки.
|
2076
|
+
|
2077
|
+
## 0.15.10
|
2078
|
+
|
2079
|
+
|
2080
|
+
- Добавлен функционал предварительной проверки шаблона для операции импорта.
|
2081
|
+
|
2082
|
+
## 0.15.9
|
2083
|
+
|
2084
|
+
|
2085
|
+
- Исправление ошибок в коде партиционирования таблиц БД, допущенных в версии
|
2086
|
+
0.14.21.
|
2087
|
+
|
2088
|
+
## 0.15.8
|
2089
|
+
|
2090
|
+
|
2091
|
+
- Исправление ошибок, допущенных в версии 0.14.20/0.15.7, в коде
|
2092
|
+
ппартиционирования таблиц БД.
|
2093
|
+
|
2094
|
+
## 0.15.7
|
2095
|
+
|
2096
|
+
|
2097
|
+
- Доработана печать Логов СМЭВ.
|
2098
|
+
- Дополнительная оптимизация триггеров, обеспечивающих партиционирование таблиц
|
2099
|
+
БД.
|
2100
|
+
|
2101
|
+
## 0.15.6
|
2102
|
+
|
2103
|
+
|
2104
|
+
- Исправлена ошибка ``educommon.importer.proxy_import.ProxyLoader``,
|
2105
|
+
в которой вызов метода ``load`` при наличии ошибок в импорте
|
2106
|
+
возвращал True.
|
2107
|
+
|
2108
|
+
## 0.15.5
|
2109
|
+
|
2110
|
+
|
2111
|
+
- Оптимизация триггеров, обеспечивающих партиционирование таблиц БД (также
|
2112
|
+
в версии 0.14.19).
|
2113
|
+
|
2114
|
+
## 0.15.4
|
2115
|
+
|
2116
|
+
|
2117
|
+
- Исправления в OriginalObjectMixin, исправляющие ошибку по внесению None
|
2118
|
+
в WeakValueDictionary.
|
2119
|
+
|
2120
|
+
## 0.15.3
|
2121
|
+
|
2122
|
+
|
2123
|
+
- Исправления в OriginalObjectMixin, позволяющие без проблем накатывать
|
2124
|
+
миграции с загрузкой из фикстур.
|
2125
|
+
- Добавлены константы для справочников "Образовательные программы", "Виды
|
2126
|
+
адаптированности", "Формы реализации образовательной программы".
|
2127
|
+
|
2128
|
+
## 0.15.2
|
2129
|
+
|
2130
|
+
|
2131
|
+
- В ``educommon.report.utils`` добавлены функции ``cm_to_inch``,
|
2132
|
+
``inch_to_cm``, ``get_cell_bounds``, ``get_cell_width`` и
|
2133
|
+
``get_cell_height``.
|
2134
|
+
- В функцию ``educommon.report.utils.adjust_row_height`` добавлена поддержка
|
2135
|
+
объединенных ячеек.
|
2136
|
+
|
2137
|
+
## 0.15.1
|
2138
|
+
|
2139
|
+
|
2140
|
+
- Багфикс в базовом классе для роутеров БД ``ServiceDbRouterBase``.
|
2141
|
+
|
2142
|
+
## 0.15.0 (2016-09-15)
|
2143
|
+
|
2144
|
+
|
2145
|
+
- Выполнен рефакторинг наблюдателя за изменениями в моделях (инструкции по
|
2146
|
+
обновлению см. в ``UPGRADE.rst``).
|
2147
|
+
- Изменения для совместимости с Django 1.10.
|
2148
|
+
|
2149
|
+
## 0.14.25
|
2150
|
+
|
2151
|
+
|
2152
|
+
- ``educommon.ws_log``: добавлен индекс для поля "Время СМЭВ запроса"
|
2153
|
+
(``ws_log_smevlog.time``).
|
2154
|
+
- ``educommon.ws_log``: оптимизирован запрос на выборку записей.
|
2155
|
+
|
2156
|
+
## 0.14.24
|
2157
|
+
|
2158
|
+
|
2159
|
+
- Поддержка версий PostgreSQL<9.5 в коде партиционирования таблиц БД. Для
|
2160
|
+
установки изменений в БД нужно выполнить
|
2161
|
+
``partitioning.init(database_alias, force=True)``.
|
2162
|
+
|
2163
|
+
## 0.14.23
|
2164
|
+
|
2165
|
+
|
2166
|
+
- Поддержка табличных пространств в партиционированных таблицах. Новые разделы
|
2167
|
+
будут создаваться в том же табличном пространстве, в котором находится
|
2168
|
+
основная таблица, а не в табличном пространстве по умолчанию. Для установки
|
2169
|
+
изменений в БД нужно выполнить
|
2170
|
+
``partitioning.init(database_alias, force=True)``.
|
2171
|
+
|
2172
|
+
## 0.14.22
|
2173
|
+
|
2174
|
+
|
2175
|
+
- Исправление ошибок в коде ппартиционирования таблиц БД, допущенных в версии
|
2176
|
+
0.14.21.
|
2177
|
+
|
2178
|
+
## 0.14.21
|
2179
|
+
|
2180
|
+
|
2181
|
+
- Исправление ошибок, допущенных в версии 0.14.20, в коде ппартиционирования
|
2182
|
+
таблиц БД.
|
2183
|
+
|
2184
|
+
## 0.14.20
|
2185
|
+
|
2186
|
+
|
2187
|
+
- Дополнительная оптимизация триггеров, обеспечивающих партиционирование таблиц
|
2188
|
+
БД.
|
2189
|
+
|
2190
|
+
## 0.14.19
|
2191
|
+
|
2192
|
+
|
2193
|
+
- Оптимизация триггеров, обеспечивающих партиционирование таблиц БД.
|
2194
|
+
|
2195
|
+
## 0.14.18 (2016-09-14)
|
2196
|
+
|
2197
|
+
|
2198
|
+
- Исправлена ошибка, когда при ошибке в xml не отображалось имя метода в
|
2199
|
+
логах СМЭВ
|
2200
|
+
- Исправлена ошибка при определении сообщения о пересечении интервалов в RBAC
|
2201
|
+
- simple_report заменен на m3-simple-report
|
2202
|
+
- Убраны номера версий у termcolor и django-sendfile
|
2203
|
+
|
2204
|
+
## 0.14.17 (2016-08-26)
|
2205
|
+
|
2206
|
+
|
2207
|
+
- Исправлены ошибки совместимости с django 1.4 в contingent_plugin
|
2208
|
+
|
2209
|
+
## 0.14.16 (2016-08-09)
|
2210
|
+
|
2211
|
+
|
2212
|
+
- Добавлена модель для отслеживания измененных данных контингента
|
2213
|
+
- Добавлена реализация паттерна observer для django models
|
2214
|
+
- Добавлена функция для автоматического увеличения высоты строки в отчете,
|
2215
|
+
в зависимости от содержимого ячейки.
|
2216
|
+
|
2217
|
+
## 0.14.15 (2016-08-01)
|
2218
|
+
|
2219
|
+
- RBAC. Проверка на существование объекта RolePermission
|
2220
|
+
|
2221
|
+
## 0.14.14 (2016-07-29)
|
2222
|
+
|
2223
|
+
|
2224
|
+
- Исправлено сообщение об ошибке уникальности в SmevProvider
|
2225
|
+
- Исправлена ошибка миграции ws_log в south migrations
|
2226
|
+
|
2227
|
+
## 0.14.13 (2016-07-27)
|
2228
|
+
|
2229
|
+
|
2230
|
+
- Переделано поле "Источник взаимодействия" в модели "Поставщики СМЭВ"
|
2231
|
+
- Убрал запись в лог ФИО поставщика, т.к. это свойство специфично для каждого
|
2232
|
+
продукта.
|
2233
|
+
- Добавил вызов метода update_log, который может быть определен в классах web-сервисов,
|
2234
|
+
чтобы производить с объектом-логом специфичные для продукта операции.
|
2235
|
+
|
2236
|
+
## 0.14.12 (2016-07-25)
|
2237
|
+
|
2238
|
+
|
2239
|
+
- Фикс получения related_objects через m3-django-compat
|
2240
|
+
в ``objectpack.actions.RelationsCheckMixin``.
|
2241
|
+
- Добавил возможность автоматически заполнять поле Учреждение в окне настройки
|
2242
|
+
печати логов СМЭВ.
|
2243
|
+
- Исправление циклических импортов в ``utils.ui``.
|
2244
|
+
- Убрано неявное поведение при инициализации RBAC.
|
2245
|
+
|
2246
|
+
## 0.14.11 (2016-07-20)
|
2247
|
+
|
2248
|
+
|
2249
|
+
- В ``objectpack.actions.RelationsCheckMixin`` добавлена опциональная настройка
|
2250
|
+
для задания заголовков таблиц зависимых объектов.
|
2251
|
+
- Багфикс в модуле ATCFS. Исправлен вывод отладочной информации при выполнении
|
2252
|
+
команды atcfs_migrate.
|
2253
|
+
- Исправлена инициализация RBAC при прохождении миграций БД.
|
2254
|
+
|
2255
|
+
## 0.14.10 (2016-07-18)
|
2256
|
+
|
2257
|
+
|
2258
|
+
- Добавлены константы для справочника "Типы документов удостоверяющих личность".
|
2259
|
+
|
2260
|
+
## 0.14.9 (2016-07-12)
|
2261
|
+
|
2262
|
+
|
2263
|
+
- Добавлены новые поля в реестр логов СМЭВ, а так же их заполнение при логировании
|
2264
|
+
запросов к web-сервисам.
|
2265
|
+
- Поле error в логах СМЭВ переименовано в result.
|
2266
|
+
- Добавлена возможность печатать логи СМЭВ.
|
2267
|
+
- Добавлен параметр для ввода адреса ``url_field_params``.
|
2268
|
+
|
2269
|
+
## 0.14.8 (2016-07-06)
|
2270
|
+
|
2271
|
+
|
2272
|
+
- Изменения для совместимости с Django 1.9.
|
2273
|
+
|
2274
|
+
## 0.14.7 (2016-07-06)
|
2275
|
+
|
2276
|
+
|
2277
|
+
- Добавлено новое значение для справочника "Трудная жизненная ситуация", также
|
2278
|
+
вынесены константы для справочника "Тип документа, удостоверяющего
|
2279
|
+
личность"
|
2280
|
+
- Устранена несовместимость с Django 1.8.
|
2281
|
+
|
2282
|
+
## 0.14.6 (2016-06-30)
|
2283
|
+
|
2284
|
+
|
2285
|
+
- Изменена генерация имен файлов для отчетов, теперь они включают в себя
|
2286
|
+
названия отчетов
|
2287
|
+
- Добавлены новые поля в реестр "Поставщики СМЭВ"
|
2288
|
+
- Базовый класс для роутеров моделей дополнен методом ``allow_migrate`` в
|
2289
|
+
целях совместимости с Django>=1.7.
|
2290
|
+
- RBAC: Удалена зависимость от South (нужно для проектов с Django>=1.7).
|
2291
|
+
- Добавлена поддержка миграций Django в приложениях ``simple_auth``, ``rbac`` и
|
2292
|
+
``async``.
|
2293
|
+
- Изменения для поддержки Django 1.7.
|
2294
|
+
|
2295
|
+
## 0.14.5 (2016-06-07)
|
2296
|
+
|
2297
|
+
|
2298
|
+
- Справочник физкультурных групп пополнен новыми значениями.
|
2299
|
+
- В ``m3.extensions.ui.BaseEditWinExtender`` добавлена поддержка маппинга
|
2300
|
+
``ArrayField`` → ``ExtMultiSelectField``.
|
2301
|
+
- RBAC: добавлено verbose_name модели RoleParent.
|
2302
|
+
|
2303
|
+
## 0.14.4 (2016-05-27)
|
2304
|
+
|
2305
|
+
|
2306
|
+
- Добавлен реестр "Поставщики СМЭВ".
|
2307
|
+
|
2308
|
+
## 0.14.3 (2016-05-26)
|
2309
|
+
|
2310
|
+
|
2311
|
+
- **ws_log**: Изменение в коде извлечения данных из ``METHOD_VERBOSE_NAMES``:
|
2312
|
+
значения ключей заменены на словари с ключами ``method_verbose_name``,
|
2313
|
+
``interaction`` и ``protocol``.
|
2314
|
+
- **ws_log**: Добавлено определение вида взаимодействия по протоколу.
|
2315
|
+
|
2316
|
+
## 0.14.2 (2016-05-19)
|
2317
|
+
|
2318
|
+
|
2319
|
+
- Изменение async: добавлены поля описания задачи.
|
2320
|
+
- Изменение async: в результат добавлено время выполнения задачи
|
2321
|
+
после её завершения.
|
2322
|
+
|
2323
|
+
## 0.14.1 (2016-05-08)
|
2324
|
+
|
2325
|
+
|
2326
|
+
- Обновление пакета ``m3-django-compat`` версии 1.1.x.
|
2327
|
+
- Декоратор ``nested_commit_on_success`` помечен как устаревший.
|
2328
|
+
- ``nested_commit_on_success``, ``commit_on_success`` и ``commit_manually``
|
2329
|
+
заменены на ``m3_django_compat.atomic``.
|
2330
|
+
- Базовый класс менеджеров моделей изменен с
|
2331
|
+
``django.db.models.manager.Manager`` на ``m3_django_compat.Manager``.
|
2332
|
+
|
2333
|
+
## 0.14.0 (2016-05-07)
|
2334
|
+
|
2335
|
+
|
2336
|
+
- Подключение пакета ``m3-django-compat``, реализующего инструменты обеспечения
|
2337
|
+
совместимости кода с версиями Django>=1.4.
|
2338
|
+
|
2339
|
+
## 0.13.8 (2016-05-12)
|
2340
|
+
|
2341
|
+
- ws_log: отключено логирование wsdl-запросов.
|
2342
|
+
- ws_log: при возникновении ошибки указывается тип запроса "Не СМЭВ".
|
2343
|
+
|
2344
|
+
## 0.13.7 (2016-05-06)
|
2345
|
+
|
2346
|
+
|
2347
|
+
- Багфикс фильтрации в реестре логирования вебсервисов.
|
2348
|
+
|
2349
|
+
## 0.13.6 (2016-04-27)
|
2350
|
+
|
2351
|
+
|
2352
|
+
- Добавлена примесь ``DateTimeIntervalMixin``, аналог ``DateIntervalMixin``
|
2353
|
+
для дат со временем.
|
2354
|
+
|
2355
|
+
## 0.13.5 (2016-04-25)
|
2356
|
+
|
2357
|
+
|
2358
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``.
|
2359
|
+
|
2360
|
+
## 0.13.4 (2016-04-13)
|
2361
|
+
|
2362
|
+
|
2363
|
+
- Багфикс запуска приложений на django 1.9
|
2364
|
+
|
2365
|
+
## 0.13.3 (2016-04-07)
|
2366
|
+
|
2367
|
+
|
2368
|
+
- Багфикс в журнале веб-сервисов (educommon.ws_log): Исправил вывод ошибки,
|
2369
|
+
когда после ошибки в методе web-сервиса, в лог записывалась ошибка валидации xml.
|
2370
|
+
|
2371
|
+
## 0.13.2 (2016-04-02)
|
2372
|
+
|
2373
|
+
|
2374
|
+
- Багфикс в журнале веб-сервисов (educommon.ws_log): запись журнала не
|
2375
|
+
сохранялась(падала ошибка при сохранении), так как в модель логирования было
|
2376
|
+
добавлено обязательное поле direction, которое не заполнялось при сохранении.
|
2377
|
+
|
2378
|
+
## 0.13.1 (2016-04-01)
|
2379
|
+
|
2380
|
+
|
2381
|
+
- Багфикс в журнале веб-сервисов (educommon.ws_log): запись журнала не
|
2382
|
+
сохранялась, если не был указан ответ веб-сервиса.
|
2383
|
+
|
2384
|
+
## 0.13.0 (2016-04-01)
|
2385
|
+
|
2386
|
+
|
2387
|
+
- Добавлено поле Направление запроса в модель журнала запросов вебсервисов.
|
2388
|
+
Внимание! Поле обязательно для заполнения! После перехода на данную версию
|
2389
|
+
educommon необходимо при сохранении инстанса модели SmevLog указывать
|
2390
|
+
значение атрибута direction.
|
2391
|
+
|
2392
|
+
## 0.12.9 (2016-04-22)
|
2393
|
+
|
2394
|
+
|
2395
|
+
- Исправлена примесь ``ModelProxyValidationMixin``:
|
2396
|
+
|
2397
|
+
1. Lazy объекты принудительно преобразуются в строки для проверки вхождения
|
2398
|
+
в список ошибок.
|
2399
|
+
2. ``ModelProxyValidationMixin`` устанавливает верный атрибут, указывающий, что
|
2400
|
+
объект Django-модели прошел валидацию.
|
2401
|
+
|
2402
|
+
## 0.12.8 (2016-04-01)
|
2403
|
+
|
2404
|
+
|
2405
|
+
- Оптимизация процесса инициализации подсистемы RBAC:
|
2406
|
+
|
2407
|
+
1. Из-за неправильной подстановки значений по умолчанию для поля
|
2408
|
+
``Permission.description`` (``None`` вместо ``u''``) при каждой
|
2409
|
+
инициализации подсистемы RBAC разрешения, у которых не было описания,
|
2410
|
+
обновлялись в БД, т.е. для каждого разрешения без описания выполнялся
|
2411
|
+
один ненужный UPDATE-запрос.
|
2412
|
+
2. При проверке наличия изменений в параметрах разрешений неоптимально
|
2413
|
+
загружалась информация из БД (по одной записи на каждое разрешение),
|
2414
|
+
что приводило к выполнению одного SELECT-запроса на каждое разрешение.
|
2415
|
+
|
2416
|
+
## 0.12.7 (2016-03-31)
|
2417
|
+
|
2418
|
+
|
2419
|
+
- Багфиксы в кэширующем бэкенде RBAC:
|
2420
|
+
|
2421
|
+
1. Сигналы ``post_save`` и ``post_delete`` срабатывали для всех моделей
|
2422
|
+
системы (нужно было учитывать только сигналы от моделей RBAC).
|
2423
|
+
2. Не обрабатывались изменения в M2M-модели, используемой для хранения
|
2424
|
+
разрешений ролей, т.к. Django не отправляет сигналы от автоматически
|
2425
|
+
созданных моделей. В результате изменение списка разрешений роли не
|
2426
|
+
приводило к перезагрузке кэша.
|
2427
|
+
|
2428
|
+
## 0.12.6 (2016-03-23)
|
2429
|
+
|
2430
|
+
|
2431
|
+
- Багфиксы в параметрах сборки и установки пакета (теперь сборка и установка
|
2432
|
+
пакета не требует предварительной установки ``m3-builder``).
|
2433
|
+
|
2434
|
+
## 0.12.5 (2016-03-22)
|
2435
|
+
|
2436
|
+
|
2437
|
+
- Подключение ``m3-builder`` как расширения ``setuptools``.
|
2438
|
+
|
2439
|
+
## 0.12.4 (2016-03-21)
|
2440
|
+
|
2441
|
+
|
2442
|
+
- Журнал запросов СМЭВ.
|
2443
|
+
|
2444
|
+
## 0.12.3 (2016-03-17)
|
2445
|
+
|
2446
|
+
|
2447
|
+
- Исправлена некорректная загрузка ролей пользователей с ограниченным сроком
|
2448
|
+
действия в кеширующем бэкенде для подсистемы RBAC (см. версию 0.11.6).
|
2449
|
+
|
2450
|
+
## 0.12.2 (2016-03-14)
|
2451
|
+
|
2452
|
+
|
2453
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2454
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2455
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2456
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки
|
2457
|
+
(см. версию 0.6.7).
|
2458
|
+
|
2459
|
+
## 0.12.1 (2016-03-11)
|
2460
|
+
|
2461
|
+
|
2462
|
+
- ``contingent.catalogs.IdentityDocumentsTypes`` обновлен перечнем типов
|
2463
|
+
документов, которые могут не иметь серии.
|
2464
|
+
|
2465
|
+
## 0.12.0 (2016-03-03)
|
2466
|
+
|
2467
|
+
|
2468
|
+
- Переименование класса-примеси ``DeleteAfterSaveMixin`` на
|
2469
|
+
``DeleteOnSaveMixin`` в связи с добавлением возможности удаления объектов
|
2470
|
+
*перед* сохранением.
|
2471
|
+
|
2472
|
+
## 0.11.6 (2015-03-17)
|
2473
|
+
|
2474
|
+
|
2475
|
+
- Исправлена некорректная загрузка ролей пользователей с ограниченным сроком
|
2476
|
+
действия в кеширующем бэкенде для подсистемы RBAC.
|
2477
|
+
|
2478
|
+
## 0.11.5 (2015-03-16)
|
2479
|
+
|
2480
|
+
|
2481
|
+
- Исправлена ошибка в setup.py, приводящая к невозможности установки версии
|
2482
|
+
0.11.4.
|
2483
|
+
|
2484
|
+
## 0.11.4 (2016-03-14)
|
2485
|
+
|
2486
|
+
|
2487
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2488
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2489
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2490
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки
|
2491
|
+
(см. версию 0.6.7).
|
2492
|
+
|
2493
|
+
## 0.11.3 (2016-02-25)
|
2494
|
+
|
2495
|
+
|
2496
|
+
- Исправлена ошибка при получение связанных записей Django 1.9
|
2497
|
+
|
2498
|
+
## 0.11.2 (2016-02-25)
|
2499
|
+
|
2500
|
+
|
2501
|
+
- ATC FS: Отображение информации при недоступности ВФХ.
|
2502
|
+
|
2503
|
+
## 0.11.1 (2016-02-19)
|
2504
|
+
|
2505
|
+
|
2506
|
+
- ATC FS: Багфиксы в коде обработки действий при недоступном сервере ВФХ.
|
2507
|
+
|
2508
|
+
## 0.11.0 (2016-02-10)
|
2509
|
+
|
2510
|
+
|
2511
|
+
- Функции для объединения обработчиков правил RBAC логическими операциями НЕ, И,
|
2512
|
+
ИЛИ.
|
2513
|
+
- Реализован кеширующий бэкенд для подсистемы RBAC.
|
2514
|
+
- Добавлен модуль ``educommon.utils.version``, выполняющий сбор данных о билде
|
2515
|
+
проекта.
|
2516
|
+
|
2517
|
+
## 0.10.3 (2016-03-14)
|
2518
|
+
|
2519
|
+
|
2520
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2521
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2522
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2523
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки
|
2524
|
+
(см. версию 0.6.7).
|
2525
|
+
|
2526
|
+
## 0.10.2 (2016-02-02)
|
2527
|
+
|
2528
|
+
|
2529
|
+
- Доработка приложения для авторизации пользователей: реализован компонентный
|
2530
|
+
подход к формированию страницы входа в систему.
|
2531
|
+
|
2532
|
+
## 0.10.1 (2016-02-01)
|
2533
|
+
|
2534
|
+
|
2535
|
+
- Багфикс в классе ``StringFieldsCleanerMixin`` (см. версию 0.9.6).
|
2536
|
+
|
2537
|
+
## 0.10.0 (2016-01-29)
|
2538
|
+
|
2539
|
+
|
2540
|
+
Добавлена частичная поддержка Django 1.9 с полной обратной совместимостью:
|
2541
|
+
|
2542
|
+
- Метод ``educommon.importer.proxy.MultiProxyLoader.load_rows`` переписан
|
2543
|
+
с использованием ``transaction.atomc`` (``delay_in_situations`` он
|
2544
|
+
не поддерживает).
|
2545
|
+
- Добавлен конфиг класс ``educommon.objectpack.apps.EduObjectPackConfig`` для
|
2546
|
+
избавления конфликта имен с приложением m3-objectpack.
|
2547
|
+
- В менеджерах моделей, методу ``get_query_set`` добавлен
|
2548
|
+
его новый аналог - ``get_queryset``.
|
2549
|
+
|
2550
|
+
## 0.9.7 (2016-03-14)
|
2551
|
+
|
2552
|
+
|
2553
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2554
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2555
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2556
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки
|
2557
|
+
(см. версию 0.6.7).
|
2558
|
+
|
2559
|
+
## 0.9.6 (2016-02-01)
|
2560
|
+
|
2561
|
+
|
2562
|
+
- Багфикс в классе ``StringFieldsCleanerMixin``.
|
2563
|
+
|
2564
|
+
## 0.9.5 (2016-01-25)
|
2565
|
+
|
2566
|
+
|
2567
|
+
- Режим раздельного вывода ошибок и предупреждений при импорте.
|
2568
|
+
|
2569
|
+
## 0.9.4 (2016-01-22)
|
2570
|
+
|
2571
|
+
|
2572
|
+
- Багфикс в обработчике сигнала ``post_delete`` подсистемы RBAC.
|
2573
|
+
- ATC FS: введено ограничение на длительность подключения к ВФХ.
|
2574
|
+
- Доработка класса-примеси ``DateIntervalMixin``: в метод
|
2575
|
+
``interval_intersected_error_message()`` передается дополнительный аргумент
|
2576
|
+
others для возможности формирования более информативных сообщений.
|
2577
|
+
|
2578
|
+
## 0.9.3 (2016-01-20)
|
2579
|
+
|
2580
|
+
|
2581
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``.
|
2582
|
+
|
2583
|
+
## 0.9.2 (2016-01-20)
|
2584
|
+
|
2585
|
+
|
2586
|
+
- Багфикс в классе-примеси ``ModelValidationMixin``.
|
2587
|
+
|
2588
|
+
## 0.9.1 (2016-01-19)
|
2589
|
+
|
2590
|
+
|
2591
|
+
- Багфикс в классе-примеси ``ModelValidationMixin``.
|
2592
|
+
|
2593
|
+
## 0.9.0 (2016-01-15)
|
2594
|
+
|
2595
|
+
|
2596
|
+
- Багфикс в пакете educommon.importer (Приведение дат к более точному типу).
|
2597
|
+
- В классе-примеси для принудительной валидации моделей
|
2598
|
+
``ModelValidationMixin`` добавлена поддержка сигналов ``pre_clean`` и
|
2599
|
+
``post_clean``.
|
2600
|
+
- Добавлен класс-примесь ``DeleteAfterSaveMixin`` для удаления объектов после
|
2601
|
+
сохранения модели.
|
2602
|
+
- Добавлен класс-примесь ``StringFieldsCleanerMixin`` для удаления из строковых
|
2603
|
+
полей модели лишних пробелов.
|
2604
|
+
|
2605
|
+
## 0.8.5 (2015-12-21)
|
2606
|
+
|
2607
|
+
|
2608
|
+
- Багфикс в пакете ``educommon.importer`` (конфликт имени ``ValidationError`` в
|
2609
|
+
``proxy.py`` и ``XLSReader.py``).
|
2610
|
+
|
2611
|
+
## 0.8.4 (2015-12-17)
|
2612
|
+
|
2613
|
+
|
2614
|
+
- В модуле ATCFS реализован механизм передачи в интерфейс ошибок в
|
2615
|
+
удобочитаемом виде.
|
2616
|
+
|
2617
|
+
## 0.8.3 (2015-12-14)
|
2618
|
+
|
2619
|
+
|
2620
|
+
- В ``educommon.ioc`` добавлены 3 глобальных переменных для корректной работы
|
2621
|
+
с ``edureception``. Переменные содержат информацию о моделях справочников.
|
2622
|
+
|
2623
|
+
## 0.8.2 (2015-12-03)
|
2624
|
+
|
2625
|
+
|
2626
|
+
- В модуле ATCFS удалена зависимость от пакета rfc6266.
|
2627
|
+
|
2628
|
+
## 0.8.1 (2015-12-02)
|
2629
|
+
|
2630
|
+
|
2631
|
+
- Исправлена ошибка в базовом классе асинхронных задач.
|
2632
|
+
|
2633
|
+
## 0.8.0 (2015-11-30)
|
2634
|
+
|
2635
|
+
|
2636
|
+
- Добавлены модели и базовый класс для асинхронных задач.
|
2637
|
+
|
2638
|
+
## 0.7.1 (2016-03-14)
|
2639
|
+
|
2640
|
+
|
2641
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2642
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2643
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2644
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки
|
2645
|
+
(см. версию 0.6.7).
|
2646
|
+
|
2647
|
+
## 0.7.0 (2015-11-26)
|
2648
|
+
|
2649
|
+
|
2650
|
+
- Добавлен справочник "Формы реализации образовательной программы".
|
2651
|
+
- Добавлен класс-примесь ``ModelValidationMixin``, обеспечивающий валидацию
|
2652
|
+
данных в моделях перед их сохранением в БД.
|
2653
|
+
|
2654
|
+
## 0.6.11 (2016-04-16)
|
2655
|
+
|
2656
|
+
|
2657
|
+
- Багфикс в коде партиционирования таблиц БД.
|
2658
|
+
|
2659
|
+
## 0.6.10 (2016-04-15)
|
2660
|
+
|
2661
|
+
|
2662
|
+
- Багфикс в коде партиционирования таблиц БД.
|
2663
|
+
|
2664
|
+
## 0.6.9 (2016-04-15)
|
2665
|
+
|
2666
|
+
|
2667
|
+
- Багфикс в коде партиционирования таблиц БД.
|
2668
|
+
|
2669
|
+
## 0.6.8 (2016-03-21)
|
2670
|
+
|
2671
|
+
|
2672
|
+
- Багфикс в коде партиционирования таблиц БД.
|
2673
|
+
|
2674
|
+
## 0.6.7 (2016-03-14)
|
2675
|
+
|
2676
|
+
|
2677
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2678
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2679
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2680
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки.
|
2681
|
+
|
2682
|
+
## 0.6.6 (2015-12-21)
|
2683
|
+
|
2684
|
+
|
2685
|
+
- Багфикс в пакете educommon.importer (конфликт имени ValidationError в
|
2686
|
+
proxy.py и XLSReader.py). (back port по задаче EDUSCHL-3826)
|
2687
|
+
|
2688
|
+
## 0.6.7 (2016-03-14)
|
2689
|
+
|
2690
|
+
|
2691
|
+
- Багфикс в коде партиционирования таблиц БД. Ограничения (check constraints),
|
2692
|
+
накладываемые на разделы, должны содержать только константы, т.к. иначе не
|
2693
|
+
работает т.н. constraint exclusion и при запросе данных из таблицы
|
2694
|
+
просматриваются все разделы, а не те, которые удовлетворяют условию выборки.
|
2695
|
+
|
2696
|
+
## 0.6.6 (2015-12-21)
|
2697
|
+
|
2698
|
+
|
2699
|
+
- Багфикс в пакете educommon.importer (конфликт имени ValidationError в
|
2700
|
+
proxy.py и XLSReader.py). (back port по задаче EDUSCHL-3826)
|
2701
|
+
|
2702
|
+
## 0.6.5 (2015-11-23)
|
2703
|
+
|
2704
|
+
|
2705
|
+
- Подправлен ``BaseSaveListener`` для возможности подписи нескольких слушателей
|
2706
|
+
на один тот же экшн.
|
2707
|
+
|
2708
|
+
## 0.6.4 (2015-11-10)
|
2709
|
+
|
2710
|
+
|
2711
|
+
- Доработан модуль IoC-контейнера для работы плагина "Прием специалиста" в ЭДС.
|
2712
|
+
|
2713
|
+
## 0.6.3 (2015-11-09)
|
2714
|
+
|
2715
|
+
|
2716
|
+
- Доработан справочник типов "Образовательная организация" для ЭК.
|
2717
|
+
- Расширены значения, доступные в ЭК, справочника "Тип законного
|
2718
|
+
представителя".
|
2719
|
+
|
2720
|
+
## 0.6.2 (2015-10-19)
|
2721
|
+
|
2722
|
+
|
2723
|
+
- Изменено поведение декоратора ``convert_validation_error_to`` - при
|
2724
|
+
формировании сообщения об ошибке названия полей остаются такими, как описаны
|
2725
|
+
в модели (убрана функция ``capitalize``).
|
2726
|
+
- Добавлен модуль ``educommon.django.storages.atcfs``. Модуль позволяет
|
2727
|
+
использовать в качестве File Storage внешнее файловое хранилище ATCFS.
|
2728
|
+
|
2729
|
+
## 0.6.1 (2015-10-12)
|
2730
|
+
|
2731
|
+
|
2732
|
+
- Исправлены значения справочника Группа здоровья (для лиц 18 лет и старше).
|
2733
|
+
- Для справочника ОКОГУ создана виртуальная модель с дополнительным полем
|
2734
|
+
"Сокращенное наименование".
|
2735
|
+
|
2736
|
+
## 0.6.0 (2015-10-06)
|
2737
|
+
|
2738
|
+
|
2739
|
+
- Добавлен справочник "Вид обучения для детей с ОВЗ".
|
2740
|
+
- В справочник "Трудные жизненные ситуации" добавлена новая категория.
|
2741
|
+
- Исправлен баг с пустыми наследниками ``BaseEnumerateProductSpecific``.
|
2742
|
+
|
2743
|
+
|
2744
|
+
## 0.5.56 (2015-10-05)
|
2745
|
+
|
2746
|
+
|
2747
|
+
- В классе ``HealthGroups`` добавлены атрибуты класса, что хранят значения
|
2748
|
+
специфичные для лиц до/после 18 лет.
|
2749
|
+
|
2750
|
+
|
2751
|
+
## 0.5.55 (2015-10-02)
|
2752
|
+
|
2753
|
+
|
2754
|
+
- В классе ``BaseEnumerateProductSpecific`` удалили все методы специфичной
|
2755
|
+
выборки по продукту, такие как ``get_specific_choices``, ``get_all_values``,
|
2756
|
+
``get_webedu_choices``, ``get_kinder_choices``, и т.д.
|
2757
|
+
- Переименовали переменные содержащие, ограниченные в рамках продукта,
|
2758
|
+
идентификаторы справочников. Добавили новый метод ``set_category``, на вход
|
2759
|
+
которого необходимо передавать список идентификаторов, для ограничения
|
2760
|
+
справочника из продукта при старте системы.
|
2761
|
+
|
2762
|
+
## 0.5.54 (2015-09-30)
|
2763
|
+
|
2764
|
+
|
2765
|
+
- Функции ``get_week_start`` и ``get_week_end`` в модуле
|
2766
|
+
``educommon.utils.date``.
|
2767
|
+
|
2768
|
+
## 0.5.53 (2015-09-28)
|
2769
|
+
|
2770
|
+
|
2771
|
+
- Поддержка пакета ``edureception`` в ``ioc`` (продуктовых моделей Специалиста,
|
2772
|
+
Кабинета и Посетителя приема).
|
2773
|
+
- Константы номеров дней недели в модуле ``educommon.utils.date``.
|
2774
|
+
|
2775
|
+
## 0.5.52 (2015-09-25)
|
2776
|
+
|
2777
|
+
|
2778
|
+
- В ``OksmVirtialModel`` добавлен атрибут с кодом РФ.
|
2779
|
+
|
2780
|
+
## 0.5.51 (2015-09-17)
|
2781
|
+
|
2782
|
+
|
2783
|
+
- Добавил константы-значения в справочник "Формы образования".
|
2784
|
+
- Удалил задублированный справочник "Группы здоровья".
|
2785
|
+
|
2786
|
+
## 0.5.50 (2015-09-17)
|
2787
|
+
|
2788
|
+
|
2789
|
+
-Перенес класс-примесь для проверки связей записи.
|
2790
|
+
|
2791
|
+
## 0.5.49 (2015-09-15)
|
2792
|
+
|
2793
|
+
|
2794
|
+
- Перенос справочников
|
2795
|
+
- Изменение кодов для справочников с учетом новых требований.
|
2796
|
+
|
2797
|
+
## 0.5.48 (2015-09-10)
|
2798
|
+
|
2799
|
+
|
2800
|
+
- Добавлена функция ``educommon.utils.is_ranges_intersected`` для проверки
|
2801
|
+
пересечения диапазонов значений.
|
2802
|
+
- В класс-примесь ``DateIntervalMixin`` добавлен метод
|
2803
|
+
``is_intersected_with`` для проверки пересечения интервалов.
|
2804
|
+
- Багфикс в ``educommon.importer.proxy.CacheProxy``.
|
2805
|
+
|
2806
|
+
## 0.5.47 (2015-09-08)
|
2807
|
+
|
2808
|
+
|
2809
|
+
- Исправлено значения в справочнике Типы документы удостоверяющие личность
|
2810
|
+
- Убраны дублирующиеся записи.
|
2811
|
+
|
2812
|
+
## 0.5.46 (2015-09-04)
|
2813
|
+
|
2814
|
+
|
2815
|
+
- Исправлена ошибка при загрузке данных справочника ОКСМ.
|
2816
|
+
|
2817
|
+
## 0.5.45 (2015-09-04)
|
2818
|
+
|
2819
|
+
|
2820
|
+
- ``BaseEnumerateVirtualModel`` для справочников Контингента.
|
2821
|
+
- Добавлен справочник ОКСМ.
|
2822
|
+
- Добавлен метод получения значения по ``id`` из справочника "Типы документов
|
2823
|
+
удостоверяющих личность".
|
2824
|
+
|
2825
|
+
## 0.5.44 (2015-08-28)
|
2826
|
+
|
2827
|
+
|
2828
|
+
- Валидаторы для КПП, ОКАТО, ОКТМО, ОКПО, ОГРН, ОКВЭД, ОКОПФ, ОКФС.
|
2829
|
+
|
2830
|
+
|
2831
|
+
## 0.5.43 (2015-08-26)
|
2832
|
+
|
2833
|
+
|
2834
|
+
- Добавлена возможность указать пустой список в ``model_fields`` класса
|
2835
|
+
``BaseEditWinExtender``.
|
2836
|
+
|
2837
|
+
## 0.5.42 (2015-08-26)
|
2838
|
+
|
2839
|
+
|
2840
|
+
- Задекорированы методы работы со справочником "Типы документов, удостоверяющих
|
2841
|
+
личность", декоратором ``classmethod``.
|
2842
|
+
|
2843
|
+
|
2844
|
+
## 0.5.41 (2015-08-25)
|
2845
|
+
|
2846
|
+
|
2847
|
+
- Добавлен справочник "Образовательная организация"
|
2848
|
+
|
2849
|
+
|
2850
|
+
## 0.5.40 (2015-08-24)
|
2851
|
+
|
2852
|
+
|
2853
|
+
- Добавлен справочник "Типы документов удостоверяющих личность"
|
2854
|
+
- Добавлен справочник "Вид адаптированности"
|
2855
|
+
- Добавлен справочник "Вид обучения при длительном лечении"
|
2856
|
+
|
2857
|
+
## 0.5.39 (2015-08-13)
|
2858
|
+
|
2859
|
+
|
2860
|
+
- Доработка класса-примеси ``PackValidationMixin`` - учтена особенность
|
2861
|
+
``SlavePack``.
|
2862
|
+
- Функции для работы с паками: ``get_pack``, ``get_pack_id`` и
|
2863
|
+
``get_id_value``.
|
2864
|
+
- RBAC: Вспомогательные функции для работы с правилами.
|
2865
|
+
|
2866
|
+
|
2867
|
+
## 0.5.38 (2015-08-11)
|
2868
|
+
|
2869
|
+
|
2870
|
+
- Багфикс в классе-примеси к составным моделям ``ModelProxyValidationMixin``.
|
2871
|
+
|
2872
|
+
## 0.5.37 (2015-08-11)
|
2873
|
+
|
2874
|
+
|
2875
|
+
- ``educommon.django.db.utils``: из ЭДО перенесена фабрика метаклассов,
|
2876
|
+
модифицирующих параметры полей модели.
|
2877
|
+
- Откат багфикса в классе-примеси к составным моделям
|
2878
|
+
``ModelProxyValidationMixin``.
|
2879
|
+
- RBAC: Багфиксы в модели ``UserRole``.
|
2880
|
+
|
2881
|
+
## 0.5.36 (2015-08-10)
|
2882
|
+
|
2883
|
+
|
2884
|
+
- Багфикс в классе-примеси к составным моделям ``ModelProxyValidationMixin``.
|
2885
|
+
|
2886
|
+
## 0.5.35 (2015-08-10)
|
2887
|
+
|
2888
|
+
|
2889
|
+
- Обновил коды в ОКОГУ для сада.
|
2890
|
+
|
2891
|
+
## 0.5.34 (2015-08-10)
|
2892
|
+
|
2893
|
+
|
2894
|
+
- RBAC: Добавлена возможность запрещать назначение роли пользователю.
|
2895
|
+
|
2896
|
+
## 0.5.33 (2015-08-07)
|
2897
|
+
|
2898
|
+
|
2899
|
+
- Добавлены коды в ОКОПФ для сада.
|
2900
|
+
|
2901
|
+
## 0.5.32 (2015-08-05)
|
2902
|
+
|
2903
|
+
|
2904
|
+
- RBAC: Багфиксы в окнах реестра "Роли".
|
2905
|
+
|
2906
|
+
## 0.5.31 (2015-08-05)
|
2907
|
+
|
2908
|
+
|
2909
|
+
- RBAC: Багфикс в модели ``UserRole``.
|
2910
|
+
|
2911
|
+
## 0.5.30 (2015-08-05)
|
2912
|
+
|
2913
|
+
|
2914
|
+
- Справочники контингента ОКОГУ и ОКОПФ переведены на
|
2915
|
+
``BaseEnumerateProductSpecific`` для возможности определения специфичных
|
2916
|
+
наборов данных из справочников для конкретного продукта.
|
2917
|
+
|
2918
|
+
## 0.5.29 (2015-07-03)
|
2919
|
+
|
2920
|
+
|
2921
|
+
- Для интервальной модели сделан менеджер ``ActualObjectsManager``,
|
2922
|
+
отбрасывающий объекты, в интервал которых не попадает текущая дата.
|
2923
|
+
|
2924
|
+
## 0.5.28 (2015-07-27)
|
2925
|
+
|
2926
|
+
|
2927
|
+
- Подправлены значения справочника ОКОГУ контингента.
|
2928
|
+
|
2929
|
+
## 0.5.27 (2015-07-27)
|
2930
|
+
|
2931
|
+
|
2932
|
+
- RBAC: Добавлена возможность использования групп разрешений без названия.
|
2933
|
+
|
2934
|
+
## 0.5.26 (2015-07-21)
|
2935
|
+
|
2936
|
+
|
2937
|
+
- Справочник "Тип законного представителя" доработан для ЭДС
|
2938
|
+
- Исправлены коды в нескольких справочнике ОКФС
|
2939
|
+
- Багфикс в ``DateIntervalMixin``.
|
2940
|
+
|
2941
|
+
## 0.5.25 (2015-07-20)
|
2942
|
+
|
2943
|
+
|
2944
|
+
- RBAC: У поля title модели ``Permission`` удалено ограничение уникальности
|
2945
|
+
значений.
|
2946
|
+
|
2947
|
+
## 0.5.24 (2015-07-17)
|
2948
|
+
|
2949
|
+
|
2950
|
+
- В подсистеме управления доступом на основе ролей реализованы средства для
|
2951
|
+
управления ролями системы: окно для работы с иерархией ролей и окно
|
2952
|
+
редактирования параметров роли.
|
2953
|
+
|
2954
|
+
## 0.5.22 (2015-07-08)
|
2955
|
+
|
2956
|
+
|
2957
|
+
- В подсистеме управления доступом на основе ролей добавлена возможность
|
2958
|
+
проверки наличия у пользователя прав доступа без учета правил (``Rules``).
|
2959
|
+
Актуально для включения/отключения элементов интерфейса и т.п.
|
2960
|
+
- В management-команде ``rbac`` приложения ``educommon.auth.rbac`` добавлен
|
2961
|
+
параметр ``show actions``, позволяющий просматривать список экшенов системы
|
2962
|
+
с разбивкой по разрешениям.
|
2963
|
+
- В класс-примесь для интервальных моделей ``DateIntervalMixin`` добавлен метод
|
2964
|
+
для проверки вхождения указанной даты в интервал.
|
2965
|
+
|
2966
|
+
## 0.5.21 (2015-07-08)
|
2967
|
+
|
2968
|
+
|
2969
|
+
- Добавлен справочник "Тип законного представителя"
|
2970
|
+
- Исправлены коды в нескольких справочниках
|
2971
|
+
|
2972
|
+
## 0.5.20 (2015-07-08)
|
2973
|
+
|
2974
|
+
|
2975
|
+
- Багфикс в коде функций, обеспечивающих партиционирование таблиц в БД.
|
2976
|
+
|
2977
|
+
## 0.5.19 (2015-07-05)
|
2978
|
+
|
2979
|
+
|
2980
|
+
- Багфикс в подсистеме управления доступом на основе ролей (RBAC).
|
2981
|
+
|
2982
|
+
## 0.5.18 (2015-07-03)
|
2983
|
+
|
2984
|
+
|
2985
|
+
- Добавлен справочник "Трудные жизненные ситуации".
|
2986
|
+
|
2987
|
+
## 0.5.17 (2015-07-02)
|
2988
|
+
|
2989
|
+
|
2990
|
+
- Типы образовательных программ для ЭК.
|
2991
|
+
- Отдача ``media`` содержимого без проверки авторизации (папка ``public``).
|
2992
|
+
|
2993
|
+
## 0.5.15 (2015-06-26)
|
2994
|
+
|
2995
|
+
|
2996
|
+
- Багфикс в классе-примеси ``DateintervalMixin``.
|
2997
|
+
|
2998
|
+
## 0.5.14 (2015-06-26)
|
2999
|
+
|
3000
|
+
|
3001
|
+
- Добавлена подсистема авторизации на основе ролей (RBAC):
|
3002
|
+
``educommon.auth.rbac``.
|
3003
|
+
|
3004
|
+
## 0.5.13 (2015-06-26)
|
3005
|
+
|
3006
|
+
|
3007
|
+
- Добавлен модуль ``secure_media`` для контроля доступа к файлам по URL
|
3008
|
+
``/media/``.
|
3009
|
+
|
3010
|
+
## 0.5.12 (2015-06-25)
|
3011
|
+
|
3012
|
+
|
3013
|
+
- Добавлена возможность задекларировать дополнительный контекст при расширении
|
3014
|
+
интерфейсов плагинами.
|
3015
|
+
- Добавлен биндинг компонента ``ExtCheckBox`` при расширении интерфейсов
|
3016
|
+
плагинами.
|
3017
|
+
|
3018
|
+
|
3019
|
+
## 0.5.11 (2015-06-25)
|
3020
|
+
|
3021
|
+
|
3022
|
+
- Установка параметров и работа со связанными сущностями при расширении
|
3023
|
+
интерфейсов плагинами.
|
3024
|
+
- Исправлен биндинг компонента выбора из справочника при расширении интерфейсов
|
3025
|
+
плагинами.
|
3026
|
+
- Обновлен справочник "Типы документов об образовании".
|
3027
|
+
|
3028
|
+
## 0.5.10 (2015-06-22)
|
3029
|
+
|
3030
|
+
|
3031
|
+
- Базовые классы для расширения интерфейсов плагинами.
|
3032
|
+
- Добавлена функция сбора данных с фильтрующих полей у грида с изменяющимся
|
3033
|
+
числом колонок.
|
3034
|
+
|
3035
|
+
## 0.5.9 (2015-06-17)
|
3036
|
+
|
3037
|
+
|
3038
|
+
- Композитный провайдер с загрузкой зависимых подпровайдеров.
|
3039
|
+
|
3040
|
+
## 0.5.8 (2015-06-15)
|
3041
|
+
|
3042
|
+
|
3043
|
+
- Добавлен компонент простой аутентификации через логин и пароль
|
3044
|
+
(``educommon.auth.simple_auth``).
|
3045
|
+
|
3046
|
+
## 0.5.7 (2015-06-15)
|
3047
|
+
|
3048
|
+
|
3049
|
+
- Исправления для ``ModelProxyValidationMixin``.
|
3050
|
+
|
3051
|
+
## 0.5.6 (2015-06-11)
|
3052
|
+
|
3053
|
+
|
3054
|
+
- Добавлен справочник "Типы документов об образовании".
|
3055
|
+
|
3056
|
+
## 0.5.5 (2015-06-10)
|
3057
|
+
|
3058
|
+
|
3059
|
+
- Добавлен справочник "Образовательные программы".
|
3060
|
+
|
3061
|
+
## 0.5.4 (2015-06-08)
|
3062
|
+
|
3063
|
+
|
3064
|
+
- Исправлена ошибка импорта пакета ``educommon.objectpack``.
|
3065
|
+
|
3066
|
+
## 0.5.3 (2015-06-08)
|
3067
|
+
|
3068
|
+
|
3069
|
+
- Добавлен справочник "Статусы организаций".
|
3070
|
+
|
3071
|
+
## 0.5.2 (2015-06-04)
|
3072
|
+
|
3073
|
+
|
3074
|
+
- Исправлена ошибка при не передаче контекста ``ProxyLoader``.
|
3075
|
+
- Исправлена ошибка при генерации обработчика событий комбобокса.
|
3076
|
+
в фильтрующей панели ``FilterPanel``.
|
3077
|
+
|
3078
|
+
## 0.5.1 (2015-06-04)
|
3079
|
+
|
3080
|
+
|
3081
|
+
- Исправлена ошибка импорта.
|
3082
|
+
|
3083
|
+
## 0.5.0 (2015-06-04)
|
3084
|
+
|
3085
|
+
|
3086
|
+
- Реализация механизма импортов.
|
3087
|
+
- Пак и интерфейсы ``BaseGridPack`` для работы с гридами с изменяющимся
|
3088
|
+
количество колонок.
|
3089
|
+
- Справочники Контингента.
|
3090
|
+
- Реализация отложенных действий: управление порядком выполнения
|
3091
|
+
обработчиков сигналов возбужденных в контексте некой операции,
|
3092
|
+
"завернутой" в транзакцию.
|
3093
|
+
|
3094
|
+
## 0.4.5 (2015-06-03)
|
3095
|
+
|
3096
|
+
|
3097
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``.
|
3098
|
+
|
3099
|
+
## 0.4.4 (2015-06-02)
|
3100
|
+
|
3101
|
+
|
3102
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``: устранена
|
3103
|
+
неправильная обработка значений в аргументе ``exclude`` метода
|
3104
|
+
``full_clean``.
|
3105
|
+
|
3106
|
+
## 0.4.3 (2015-06-01)
|
3107
|
+
|
3108
|
+
|
3109
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``: теперь ошибки
|
3110
|
+
валидации внешних ключей зависимых моделей пропускаются, т.к. модели
|
3111
|
+
создаются при сохранении составной модели.
|
3112
|
+
- В декоратор ``convert_validation_error_to`` добавлена возможность обработки
|
3113
|
+
исключений, сгенерированных вне метода модели (см. аргумент ``model``
|
3114
|
+
декоратора).
|
3115
|
+
|
3116
|
+
## 0.4.2 (2015-05-30)
|
3117
|
+
|
3118
|
+
|
3119
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``: некорректная
|
3120
|
+
обработка многоуровневой вложенности моделей в ``relations``.
|
3121
|
+
|
3122
|
+
## 0.4.1 (2015-05-28)
|
3123
|
+
|
3124
|
+
|
3125
|
+
- Багфикс в классе-примеси ``ModelProxyValidationMixin``.
|
3126
|
+
|
3127
|
+
## 0.4.0 (2015-05-25)
|
3128
|
+
|
3129
|
+
|
3130
|
+
- Добавлен декоратор ``educommon.m3.convert_validation_error_to``,
|
3131
|
+
предназначенный для форматирования ошибок валидации моделей Django,
|
3132
|
+
возникающих в декорируемой функции/методе.
|
3133
|
+
- Добавлен класс-примесь ``educommon.m3.ModelProxyValidationMixin`` для
|
3134
|
+
составных прокси-моделей objectpack'а (``objectpack.models.ModelProxy``),
|
3135
|
+
добавляющий возможность валидации данных перед сохранением.
|
3136
|
+
- Добавлен класс-примесь ``educommon.m3.PackValidationMixin``, добавляющий
|
3137
|
+
валидацию моделей к пакам из ``objectpack``.
|
3138
|
+
|
3139
|
+
|
3140
|
+
## 0.3.3 (2015-05-13)
|
3141
|
+
|
3142
|
+
|
3143
|
+
- Добавлены параметры полей ввода серии и номера документов.
|
3144
|
+
(``educommon.extjs.fields.input_params``).
|
3145
|
+
|
3146
|
+
## 0.3.2 (2015-04-21)
|
3147
|
+
|
3148
|
+
|
3149
|
+
- Класс-построитель отчетов ``SimpleReporter`` на основе ``simple-report``.
|
3150
|
+
- Пак ``CommonReportPack`` - теперь просто обертка для работы с m3
|
3151
|
+
(``educommon.report.actions``).
|
3152
|
+
|
3153
|
+
|
3154
|
+
## 0.3.1 (2015-04-10)
|
3155
|
+
|
3156
|
+
|
3157
|
+
- Доработка класса ``CommonReportPack``
|
3158
|
+
(``educommon.report.actions``).
|
3159
|
+
|
3160
|
+
|
3161
|
+
## 0.3.0 (2015-04-01)
|
3162
|
+
|
3163
|
+
|
3164
|
+
- Добавлены базовые классы для более удобного создания отчётов:
|
3165
|
+
провайдеры, билдеры, адаптеры юниттесты
|
3166
|
+
(``educommon.report``).
|
3167
|
+
- Новый класс ``CommonReportPack`` для создания отчётов (взамен
|
3168
|
+
``SimpleReportPack``) (``educommon.report.actions``).
|
3169
|
+
|
3170
|
+
|
3171
|
+
## 0.2.0 (2015-04-01)
|
3172
|
+
|
3173
|
+
|
3174
|
+
- Добавлен модуль для партиционирования таблиц баз данных, находящихся под
|
3175
|
+
управлением СУБД PostgreSQL (``educommon.django.db.partitioning``).
|
3176
|
+
|
3177
|
+
## 0.1.4 (2015-02-09)
|
3178
|
+
|
3179
|
+
|
3180
|
+
- Добавлен базовый класс роутера моделей Django для приложений, использующих
|
3181
|
+
сервисную БД (``educommon.django.db.routers.ServiceDbRouterBase``).
|
3182
|
+
|
3183
|
+
## 0.1.3 (2014-12-15)
|
3184
|
+
|
3185
|
+
|
3186
|
+
- Добавлены параметры фильтрации для полей ввода СНИЛС и ИНН.
|
3187
|
+
|
3188
|
+
## 0.1.2 (2014-12-12)
|
3189
|
+
|
3190
|
+
|
3191
|
+
- Добавлен валидатор для ИНН (Индивидуальный номер налогоплательщика).
|
3192
|
+
|
3193
|
+
## 0.1.1 (2014-12-11)
|
3194
|
+
|
3195
|
+
|
3196
|
+
- Добавлена функция ``educommon.django.db.validators.validate_value()`` для
|
3197
|
+
проверки с помощью валидаторов значений переменных.
|
3198
|
+
- Добавлена функция ``educommon.django.db.validators.simple.is_snils_valid()``
|
3199
|
+
для валидации СНИЛС.
|
3200
|
+
|
3201
|
+
## 0.1.0 (2014-12-11)
|
3202
|
+
|
3203
|
+
|
3204
|
+
- Добавлен валидатор для СНИЛС (Страховой номер индивидуального лицевого
|
3205
|
+
счёта).
|