zou 1.0.2__tar.gz → 1.0.3__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.
- {zou-1.0.2/zou.egg-info → zou-1.0.3}/PKG-INFO +1 -1
- zou-1.0.3/zou/__init__.py +1 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/playlist.py +30 -6
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/tasks/resources.py +1 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/playlist.py +6 -0
- zou-1.0.3/zou/migrations/versions/a0f668430352_add_created_by_field_to_playlists.py +36 -0
- {zou-1.0.2 → zou-1.0.3/zou.egg-info}/PKG-INFO +1 -1
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/SOURCES.txt +1 -0
- zou-1.0.2/zou/__init__.py +0 -1
- {zou-1.0.2 → zou-1.0.3}/LICENSE +0 -0
- {zou-1.0.2 → zou-1.0.3}/README.rst +0 -0
- {zou-1.0.2 → zou-1.0.3}/pyproject.toml +0 -0
- {zou-1.0.2 → zou-1.0.3}/setup.cfg +0 -0
- {zou-1.0.2 → zou-1.0.3}/setup.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/api.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/assets/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/assets/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/auth/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/auth/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/breakdown/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/breakdown/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/chats/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/chats/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/comments/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/comments/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/concepts/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/concepts/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/asset_instance.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/attachment_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/budget.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/budget_entry.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/chat.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/chat_message.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/comments.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/custom_action.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/day_off.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/department.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/entity.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/entity_link.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/entity_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/event.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/file_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/hardware_item.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/metadata_descriptor.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/milestone.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/news.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/notification.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/organisation.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/output_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/output_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/person.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/plugin.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/preview_background_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/preview_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/production_schedule_version.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/project.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/project_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/salary_scale.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/schedule_item.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/search_filter.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/search_filter_group.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/software.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/status_automation.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/studio.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/subscription.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/task.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/task_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/task_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/time_spent.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/crud/working_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/departments/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/departments/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/edits/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/edits/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/entities/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/entities/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/events/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/events/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/assets.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/casting.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/edits.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/persons.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/playlists.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/projects.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/shots.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/task_types.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/tasks.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/export/csv/time_spents.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/files/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/files/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/index/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/index/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/news/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/news/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/persons/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/persons/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/playlists/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/playlists/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/previews/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/previews/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/projects/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/projects/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/search/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/search/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/shots/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/shots/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/assets.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/casting.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/edits.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/persons.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/shots.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/csv/task_type_estimations.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/kitsu.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/otio.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/assets.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/episode.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/exception.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/import_errors.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/notes.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/person.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/project.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/scene.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/sequence.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/shot.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/steps.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/tasks.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/team.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/source/shotgun/versions.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/tasks/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/user/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/blueprints/user/resources.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/config.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/file_trees/default.json +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/file_trees/simple.json +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/indexer/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/indexer/indexing.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/mixin.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/asset_instance.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/attachment_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/budget.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/budget_entry.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/build_job.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/chat.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/chat_message.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/comment.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/custom_action.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/data_import_error.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/day_off.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/department.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/desktop_login_log.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/entity.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/entity_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/event.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/file_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/hardware_item.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/login_log.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/metadata_descriptor.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/milestone.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/news.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/notification.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/organisation.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/output_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/output_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/person.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/plugin.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/preview_background_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/preview_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/production_schedule_version.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/project.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/project_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/salary_scale.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/schedule_item.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/search_filter.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/search_filter_group.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/serializer.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/software.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/status_automation.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/studio.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/subscription.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/task.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/task_status.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/task_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/time_spent.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/models/working_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/assets_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/auth_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/backup_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/base_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/breakdown_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/budget_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/chats_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/comments_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/concepts_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/custom_actions_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/deletion_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/departments_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/edits_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/emails_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/entities_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/events_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/exception.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/file_tree_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/files_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/index_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/names_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/news_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/notifications_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/persons_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/playlists_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/plugins_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/preview_files_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/projects_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/scenes_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/schedule_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/shots_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/stats_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/status_automations_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/sync_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/tasks_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/telemetry_services.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/templates_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/time_spents_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/services/user_service.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/stores/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/stores/auth_tokens_store.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/stores/file_store.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/stores/publisher_store.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/stores/queue_store.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/swagger.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/api.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/auth.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/cache.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/chats.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/colors.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/commands.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/csv_utils.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/date_helpers.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/dbhelpers.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/emails.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/env.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/events.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/fido.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/flask.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/fs.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/git.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/logs.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/monitoring.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/permissions.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/plugins.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/query.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/redis.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/remote_job.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/saml.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/shell.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/string.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/app/utils/thumbnail.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/cli.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/debug.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/event_stream.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/job_settings.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/README +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/alembic.ini +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/env.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/script.py.mako +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/utils/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/utils/base.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/003be8a91001_add_start_and_end_dates_to_projects.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0596674df51d_add_department_mentions_to_comments.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/05ac7e8caa21_remove_unique_constraint_for_taskstatus_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/05b7dc79a416_add_archived_fields_to_main_tables.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/06552e22f9e7_add_comment_updated_by.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0bd1e89f2a6f_add_productionscheduleversiontasklink_uc.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0c05b22194f3_add_performance_indexes.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0cf5e0e035fa_drop_column_tasktype_for_shots.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0ec3762a745d_add_attachment_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/0ef6416a507b_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/10cf267d95c9_fix_schedule_item.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/16328eae4b5f_add_new_constraint_for_timespent.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/16df47d76c64_add_some_indexes.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/17ef8f7be758_disallow_null_choicetype.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1b0ab951adca_add_reply_id_to_attachments.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1bb55759146f_add_table_studio.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1cb44194db49_add_file_size_field_to_preview_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1e150c2cea4d_add_nb_entities_out.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1e2d77a2f0c4_add_hd_by_default_column.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/1fab8c420678_add_attachments_to_message_chats.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/20a8ad264659_tasktypeassettypelink_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/20dfeb36142b_add_projecttaskstatuslink_roles_for_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/23122f290ca2_add_entity_chat_models.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/269d41bfb73f_add_entity_entity_links.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/26f96f65cfa3_add_productionversionschedule_uc.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/2762a797f1f9_add_people_salary_information.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/29df910f04a4_create_unique_constraint_project_id_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/29fe01a6c9eb_add_status_automation_field.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/2adc020885fa_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/2baede80b111_add_entity_status_field.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/306266361f4f_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/307edd8c639d_change_comment_updated_by_in_comment_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/328fd44c6347_add_entity_created_by.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/32f134ff1201_add_is_shared_flag_to_filters.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/346250b5304c_add_position_to_preview_files.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3476e147e632_add_acks_to_comments.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/389cfb9de776_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/38baa9a23b3d_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/398150912a3f_validation_status_preview.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3b0d1321079e_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3d5c93bafb9d_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3d8e68dffeee_fix_task_person_link.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3e0538ddf80f_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/3fee3bd10f9d_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4095103c7d01_add_is_clients_isolated_flag_to_projects.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/40dea9555940_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/42ec83db6a01_change_person_preferred_two_factor_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4368137b44e1_productionscheduleversion_add_on_delete_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/43d0cf0ed5e7_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/443d1e78a932_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/45c2de366e66_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/45f739ef962a_add_people_salary_scale_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4aab1f84ad72_introduce_plugin_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4bd9bfb73f11_add_fields_to_the_software_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4e3738cdc34c_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/4f2398ebcd49_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/523ee9647bee_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/539a3a00c417_for_departmentlink_index_person_id_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/54ee0d1d60ba_add_build_job_model.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/556526e47daa_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/57222395f2be_add_statusautomation_import_last_revision.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5798d2c9020b_change_person_role_to_choicetype.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/590aa1ffe731_add_notifications_enabled_flag.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/59a7445a966c_add_entity_is_shared.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5a291251823c_add_max_retake_parameter.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5ab9d7a75887_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5b0fcbb94f24_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5b7fa3e51701_add_is_client_allowed_flag_to_task_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5b980f0dc365_add_comment_links.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5b9fd9ddfe43_add_homepage_and_contract_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5c0498e264bc_add_slack_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5e2ce62632a6_add_workflow_to_project.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5f1620d191af_add_playlist_id_field_to_notification.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/5f715f2b6348_add_new_table_productionscheduleversion.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/680c64565f9d_for_searchfiltergroup_is_shared.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/693cc511d28d_add_taskstatus_priority.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6aa446ee4072_add_is_for_all_flage_to_playlists.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6bd3b102d61b_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6c597e842afa_add_task_type_field_to_playlists.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6d1b2c60f58b_add_milestone_model.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6d7fa5a8e9a5_add_timesheets_locked_field_to_org.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6eeaff945706_add_data_field_on_entity_links.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/6f6049877105_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/71d546ace0ee_add_performance_indexes.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7417c8eb70d8_add_for_entity_field_to_playlists.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/772a5e43f05b_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7748d3d22925_add_columns_to_searchfilter_table_to_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/77d6820f494f_add_reply_to_notif.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7a16258f2fab_add_currency_field_to_budgets.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7b1f765677d8_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7bc746997e8d_add_slack_token_field_to_organisation.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/7dc79d4ed7cd_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/818f7bda2528_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/82e7f7a95e84_add_project_id_to_events.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/82ee682204ab_add_is_generated_from_ldap_column_to_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/83e2f33a9b14_add_project_bugdet_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8588f254d6b8_add_archived_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8739ae9fa28b_add_for_client_field.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/87efceb6745b_add_ready_for_to_entity.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/892b264937ec_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8a1b4a1b7f4a_add_totp_columns_for_person.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8ab98c178903_add_budget_entry_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8e4f39e321f4_add_day_off_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8e67c183bed7_add_preference_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/8fbd40afbe5f_allow_to_set_float_values_for_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9010a64e5a2d_add_indices.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9060dd4f6116_notification_uc.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/925771029620_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/92b40d79ad3f_allow_message_attachments.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/92bdfe07e5f5_discord_integration.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/956659992419_add_columns_for_person_to_store_fido_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9683bd840dee_add_archived_field_to_software.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/96c79d31e648_add_mail_otp_columns_for_person.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/96f58a4a2a58_person_partial_index_for_email_only_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/971dbf5a0faf_add_short_name_for_asset_type_entity_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/98c90621cf58_add_for_client_flag_to_playlist.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/99825b9cc778_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9a09467f9b2c_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9af2df17a9d5_add_hardware_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9b85c14fa8a7_add_day_off_new_columns.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9bd17364fc18_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9d3bb33c6fc6_add_department_keys_to_filter_models.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9e5b3a9b0cee_add_new_column_metadatadescriptor_data_type_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/9f8445f9b42c_add_man_days_fields.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a23682ccc1f1_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a252a094e977_add_descriptions_for_entities_tasks_and_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a519c710877c_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a65bdadbae2f_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a66508788c53_add_nb_assets_ready.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a6c25eed3ea1_add_login_failed_attemps_and_last_login_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/a7c43f3fbc76_add_duration_column_to_the_preview_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/aa0a60033106_feedback_request.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/addbad59c706_allow_to_manage_drawings_instead_of_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/addbbefa7028_add_departments_link_to_metadata_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/ae0127f2fc56_add_previewfile_width_and_previewfile_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/af1790868e2c_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/b45cb782bb9c_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/b4dd0add5f79_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/b8c0a0f9d054_drop_task_status_is_reviewable.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/b8ed0fb263f8_add_person_jti_and_jti_expiration_date.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/b97a71306fc8_add_is_casting_standby_column_to_entity.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/be56dc0fb760_for_is_shared_disallow_nullable.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/bf1347acdee2_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/c49e41f1298b_add_previewbackground.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/c68c2a62cfac_add_mimetype_column_to_attachment.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/c726b98be194_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/c81f3e83bdb5_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/ca28796a2a62_add_is_done_field_to_the_task_model.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/ce7f46f445dc_add_column_estimation_for_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/cf3d365de164_add_entity_version_model.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/cf6cec6d6bf5_add_status_field_to_preview_file.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d25118cddcaa_modify_salary_scale_model.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d5665dca188b_add_version_field_to_software.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d80267806131_task_status_new_column_is_default.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d80f02824047_add_plugin_revision.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d8dcd5196d57_add_casting_label.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/d97f2730bf7b_add_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/dde6be40f54f_add_departement_links_tables_for_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/de8a3de227ef_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/deeacd38d373_for_projecttaskstatuslink_set_default_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/df1834485f57_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/df9f8a147e80_change_file_size_to_big_integer.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e1ef93f40d3d_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e29638428dfd_add_schedule_item_table.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e3f6db74cc1e_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e4b48ca33539_add_project_production_schedule_version_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e7e633bd6fa2_add_exceptions_to_budget_entries.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e839d6603c09_add_person_id_to_shot_history.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/e8bc24998b34_remove_on_delete_cascade_for_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/ee2373fbe3a4_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f0567e8d0c62_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f0c6cbb61869_add_production_style_field.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f344b867a911_for_description_of_entity_task_working_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f4ff5a73d283_add_person_ldap_uid.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f5b113876a49_add_preferred_two_factor_authentication_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f5bdca075cdc_add_preview_download_flag_to_projects.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f874ad5e898a_add_link_entity_type_task_type.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/f995b28fb749_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/fb6b6f188497_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/fb87feaaa094_add_missing_unique_constraints.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/fba149993140_add_missing_index.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/fc322f908695_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/fee7c696166e_.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/feffd3c5b806_introduce_concepts.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/migrations/versions/ffeed4956ab1_add_more_details_to_projects.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/migrations/alembic.ini +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/migrations/env.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/migrations/script.py.mako +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/models.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/plugin_template/routes.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/remote/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/remote/config_payload.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/remote/normalize_movie.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/remote/playlist.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/utils/__init__.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou/utils/movie.py +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/dependency_links.txt +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/entry_points.txt +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/not-zip-safe +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/requires.txt +0 -0
- {zou-1.0.2 → zou-1.0.3}/zou.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.0.3"
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from flask_jwt_extended import jwt_required
|
|
2
2
|
|
|
3
3
|
from zou.app.models.playlist import Playlist
|
|
4
|
-
from zou.app.
|
|
4
|
+
from zou.app.models.build_job import BuildJob
|
|
5
|
+
from zou.app.services import user_service, playlists_service, persons_service
|
|
5
6
|
|
|
6
7
|
from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
|
|
7
|
-
from zou.app.utils import fields
|
|
8
|
+
from zou.app.utils import fields, permissions
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class PlaylistsResource(BaseModelsResource):
|
|
@@ -169,6 +170,7 @@ class PlaylistsResource(BaseModelsResource):
|
|
|
169
170
|
data["task_type_id"]
|
|
170
171
|
):
|
|
171
172
|
data["task_type_id"] = None
|
|
173
|
+
data["created_by"] = persons_service.get_current_user()["id"]
|
|
172
174
|
return data
|
|
173
175
|
|
|
174
176
|
|
|
@@ -353,12 +355,23 @@ class PlaylistResource(BaseModelResource):
|
|
|
353
355
|
400:
|
|
354
356
|
description: Integrity error or cannot delete
|
|
355
357
|
"""
|
|
356
|
-
|
|
357
|
-
|
|
358
|
+
return super().delete(instance_id)
|
|
359
|
+
|
|
360
|
+
def pre_delete(self, playlist):
|
|
361
|
+
query = BuildJob.query.filter_by(playlist_id=playlist["id"])
|
|
362
|
+
for job in query.all():
|
|
363
|
+
playlists_service.remove_build_job(playlist, job.id)
|
|
358
364
|
|
|
359
365
|
def check_update_permissions(self, playlist, data):
|
|
360
|
-
user_service.
|
|
361
|
-
|
|
366
|
+
if user_service.has_manager_project_access(playlist["project_id"]):
|
|
367
|
+
return True
|
|
368
|
+
elif permissions.has_supervisor_permissions() and (
|
|
369
|
+
playlist["created_by"]
|
|
370
|
+
in [None, persons_service.get_current_user()["id"]]
|
|
371
|
+
):
|
|
372
|
+
return True
|
|
373
|
+
else:
|
|
374
|
+
raise permissions.PermissionDenied()
|
|
362
375
|
|
|
363
376
|
def pre_update(self, instance_dict, data):
|
|
364
377
|
if "shots" in data:
|
|
@@ -372,3 +385,14 @@ class PlaylistResource(BaseModelResource):
|
|
|
372
385
|
]
|
|
373
386
|
data["shots"] = shots
|
|
374
387
|
return data
|
|
388
|
+
|
|
389
|
+
def check_delete_permissions(self, playlist):
|
|
390
|
+
if user_service.has_manager_project_access(playlist["project_id"]):
|
|
391
|
+
return True
|
|
392
|
+
elif permissions.has_supervisor_permissions() and (
|
|
393
|
+
playlist["created_by"]
|
|
394
|
+
in [None, persons_service.get_current_user()["id"]]
|
|
395
|
+
):
|
|
396
|
+
return True
|
|
397
|
+
else:
|
|
398
|
+
raise permissions.PermissionDenied()
|
|
@@ -2681,6 +2681,7 @@ class SetTaskMainPreviewResource(Resource):
|
|
|
2681
2681
|
preview_file = preview_files_service.get_last_preview_file_for_task(
|
|
2682
2682
|
task_id
|
|
2683
2683
|
)
|
|
2684
|
+
entity = None
|
|
2684
2685
|
if preview_file is not None:
|
|
2685
2686
|
entity = entities_service.update_entity_preview(
|
|
2686
2687
|
task["entity_id"], preview_file["id"]
|
|
@@ -30,6 +30,12 @@ class Playlist(db.Model, BaseMixin, SerializerMixin):
|
|
|
30
30
|
|
|
31
31
|
build_jobs = relationship("BuildJob")
|
|
32
32
|
|
|
33
|
+
created_by = db.Column(
|
|
34
|
+
UUIDType(binary=False),
|
|
35
|
+
db.ForeignKey("person.id"),
|
|
36
|
+
nullable=True,
|
|
37
|
+
)
|
|
38
|
+
|
|
33
39
|
__table_args__ = (
|
|
34
40
|
db.UniqueConstraint(
|
|
35
41
|
"name", "project_id", "episode_id", name="playlist_uc"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""add created_by field to playlists
|
|
2
|
+
|
|
3
|
+
Revision ID: a0f668430352
|
|
4
|
+
Revises: a1b2c3d4e5f6
|
|
5
|
+
Create Date: 2025-12-03 12:10:52.626583
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
from alembic import op
|
|
9
|
+
import sqlalchemy as sa
|
|
10
|
+
import sqlalchemy_utils
|
|
11
|
+
import sqlalchemy_utils
|
|
12
|
+
import uuid
|
|
13
|
+
|
|
14
|
+
# revision identifiers, used by Alembic.
|
|
15
|
+
revision = 'a0f668430352'
|
|
16
|
+
down_revision = 'a1b2c3d4e5f6'
|
|
17
|
+
branch_labels = None
|
|
18
|
+
depends_on = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def upgrade():
|
|
22
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
23
|
+
with op.batch_alter_table('playlist', schema=None) as batch_op:
|
|
24
|
+
batch_op.add_column(sa.Column('created_by', sqlalchemy_utils.types.uuid.UUIDType(binary=False), default=uuid.uuid4, nullable=True))
|
|
25
|
+
batch_op.create_foreign_key(None, 'person', ['created_by'], ['id'])
|
|
26
|
+
|
|
27
|
+
# ### end Alembic commands ###
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def downgrade():
|
|
31
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
32
|
+
with op.batch_alter_table('playlist', schema=None) as batch_op:
|
|
33
|
+
batch_op.drop_constraint(None, type_='foreignkey')
|
|
34
|
+
batch_op.drop_column('created_by')
|
|
35
|
+
|
|
36
|
+
# ### end Alembic commands ###
|
|
@@ -412,6 +412,7 @@ zou/migrations/versions/9bd17364fc18_.py
|
|
|
412
412
|
zou/migrations/versions/9d3bb33c6fc6_add_department_keys_to_filter_models.py
|
|
413
413
|
zou/migrations/versions/9e5b3a9b0cee_add_new_column_metadatadescriptor_data_type_.py
|
|
414
414
|
zou/migrations/versions/9f8445f9b42c_add_man_days_fields.py
|
|
415
|
+
zou/migrations/versions/a0f668430352_add_created_by_field_to_playlists.py
|
|
415
416
|
zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py
|
|
416
417
|
zou/migrations/versions/a23682ccc1f1_.py
|
|
417
418
|
zou/migrations/versions/a252a094e977_add_descriptions_for_entities_tasks_and_.py
|
zou-1.0.2/zou/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.0.2"
|
{zou-1.0.2 → zou-1.0.3}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zou-1.0.2 → zou-1.0.3}/setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|