zou 0.20.23__py3-none-any.whl → 0.20.24__py3-none-any.whl
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/__init__.py +1 -1
- zou/app/blueprints/auth/resources.py +15 -4
- zou/app/blueprints/crud/comments.py +1 -1
- zou/app/models/comment.py +1 -1
- zou/app/services/tasks_service.py +14 -14
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/METADATA +3 -3
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/RECORD +11 -11
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/LICENSE +0 -0
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/WHEEL +0 -0
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/entry_points.txt +0 -0
- {zou-0.20.23.dist-info → zou-0.20.24.dist-info}/top_level.txt +0 -0
zou/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.20.
|
|
1
|
+
__version__ = "0.20.24"
|
|
@@ -20,7 +20,7 @@ from flask_jwt_extended import (
|
|
|
20
20
|
|
|
21
21
|
from sqlalchemy.exc import OperationalError, TimeoutError
|
|
22
22
|
from babel.dates import format_datetime
|
|
23
|
-
from saml2 import entity
|
|
23
|
+
from saml2 import entity, client_base
|
|
24
24
|
|
|
25
25
|
from zou.app import app, config
|
|
26
26
|
from zou.app.mixin import ArgsMixin
|
|
@@ -32,6 +32,7 @@ from zou.app.services import (
|
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
from zou.app.utils.flask import is_from_browser
|
|
35
|
+
from zou.app.utils.saml import saml_client_for
|
|
35
36
|
|
|
36
37
|
from zou.app.stores import auth_tokens_store
|
|
37
38
|
from zou.app.services.exception import (
|
|
@@ -1449,9 +1450,19 @@ class SAMLLoginResource(Resource, ArgsMixin):
|
|
|
1449
1450
|
"""
|
|
1450
1451
|
if not config.SAML_ENABLED:
|
|
1451
1452
|
return {"error": "SAML is not enabled."}, 400
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1453
|
+
|
|
1454
|
+
try:
|
|
1455
|
+
_, info = current_app.extensions[
|
|
1456
|
+
"saml_client"
|
|
1457
|
+
].prepare_for_authenticate()
|
|
1458
|
+
except client_base.SAMLError:
|
|
1459
|
+
# retry with new client
|
|
1460
|
+
current_app.extensions["saml_client"] = saml_client_for(
|
|
1461
|
+
config.SAML_METADATA_URL
|
|
1462
|
+
)
|
|
1463
|
+
_, info = current_app.extensions[
|
|
1464
|
+
"saml_client"
|
|
1465
|
+
].prepare_for_authenticate()
|
|
1455
1466
|
|
|
1456
1467
|
redirect_url = None
|
|
1457
1468
|
|
|
@@ -191,7 +191,7 @@ class CommentResource(BaseModelResource):
|
|
|
191
191
|
|
|
192
192
|
def update_data(self, data, instance_id):
|
|
193
193
|
data = super().update_data(data, instance_id)
|
|
194
|
-
data["
|
|
194
|
+
data["editor_id"] = persons_service.get_current_user_raw().id
|
|
195
195
|
return data
|
|
196
196
|
|
|
197
197
|
@jwt_required()
|
zou/app/models/comment.py
CHANGED
|
@@ -587,13 +587,13 @@ def get_comments(task_id, is_client=False, is_manager=False):
|
|
|
587
587
|
|
|
588
588
|
|
|
589
589
|
def _prepare_query(task_id, is_client, is_manager):
|
|
590
|
-
|
|
590
|
+
Editor = aliased(Person, name="editor_id")
|
|
591
591
|
query = (
|
|
592
592
|
Comment.query.order_by(Comment.created_at.desc())
|
|
593
593
|
.filter_by(object_id=task_id)
|
|
594
594
|
.join(Person, Comment.person_id == Person.id)
|
|
595
595
|
.join(TaskStatus, Comment.task_status_id == TaskStatus.id)
|
|
596
|
-
.join(
|
|
596
|
+
.join(Editor, Comment.editor_id == Editor.id, isouter=True)
|
|
597
597
|
.add_columns(
|
|
598
598
|
TaskStatus.name,
|
|
599
599
|
TaskStatus.short_name,
|
|
@@ -601,9 +601,9 @@ def _prepare_query(task_id, is_client, is_manager):
|
|
|
601
601
|
Person.first_name,
|
|
602
602
|
Person.last_name,
|
|
603
603
|
Person.has_avatar,
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
604
|
+
Editor.first_name,
|
|
605
|
+
Editor.last_name,
|
|
606
|
+
Editor.has_avatar,
|
|
607
607
|
)
|
|
608
608
|
)
|
|
609
609
|
if not is_manager and not is_client:
|
|
@@ -623,9 +623,9 @@ def _run_task_comments_query(query):
|
|
|
623
623
|
person_first_name,
|
|
624
624
|
person_last_name,
|
|
625
625
|
person_has_avatar,
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
626
|
+
editor_first_name,
|
|
627
|
+
editor_last_name,
|
|
628
|
+
editor_has_avatar,
|
|
629
629
|
) = result
|
|
630
630
|
|
|
631
631
|
comment_dict = comment.serialize()
|
|
@@ -635,12 +635,12 @@ def _run_task_comments_query(query):
|
|
|
635
635
|
"has_avatar": person_has_avatar,
|
|
636
636
|
"id": str(comment.person_id),
|
|
637
637
|
}
|
|
638
|
-
if comment.
|
|
639
|
-
comment_dict["
|
|
640
|
-
"first_name":
|
|
641
|
-
"last_name":
|
|
642
|
-
"has_avatar":
|
|
643
|
-
"id": str(comment.
|
|
638
|
+
if comment.editor_id is not None:
|
|
639
|
+
comment_dict["editor"] = {
|
|
640
|
+
"first_name": editor_first_name,
|
|
641
|
+
"last_name": editor_last_name,
|
|
642
|
+
"has_avatar": editor_has_avatar,
|
|
643
|
+
"id": str(comment.editor_id),
|
|
644
644
|
}
|
|
645
645
|
comment_dict["task_status"] = {
|
|
646
646
|
"name": task_status_name,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.24
|
|
4
4
|
Summary: API to store and manage the data of your animation production
|
|
5
5
|
Home-page: https://zou.cg-wire.com
|
|
6
6
|
Author: CG Wire
|
|
@@ -35,12 +35,12 @@ Requires-Dist: flask_mail==0.10.0
|
|
|
35
35
|
Requires-Dist: flask_principal==0.4.0
|
|
36
36
|
Requires-Dist: flask_restful==0.3.10
|
|
37
37
|
Requires-Dist: flask_sqlalchemy==3.1.1
|
|
38
|
-
Requires-Dist: flask-fs2[s3,swift]==0.7.
|
|
38
|
+
Requires-Dist: flask-fs2[s3,swift]==0.7.29
|
|
39
39
|
Requires-Dist: flask-jwt-extended==4.7.1
|
|
40
40
|
Requires-Dist: flask-migrate==4.1.0
|
|
41
41
|
Requires-Dist: flask-socketio==5.5.1
|
|
42
42
|
Requires-Dist: flask==3.1.0
|
|
43
|
-
Requires-Dist: gazu==0.10.
|
|
43
|
+
Requires-Dist: gazu==0.10.31
|
|
44
44
|
Requires-Dist: gevent-websocket==0.10.1
|
|
45
45
|
Requires-Dist: gevent==24.11.1
|
|
46
46
|
Requires-Dist: gunicorn==23.0.0
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
zou/__init__.py,sha256=
|
|
1
|
+
zou/__init__.py,sha256=e4eHFkFusnqPsZ-0i4EKTp1LAFG4IVv0XLODv8gy51E,24
|
|
2
2
|
zou/cli.py,sha256=HuYi2Ma7SP2SD7C9d9dwpZ49BHpytKIoyJP_su9JwZY,18755
|
|
3
3
|
zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
|
|
4
4
|
zou/event_stream.py,sha256=EpohqFJwWL0zs-Ic_W5dX5_XSDeCrqHQPL5Re39OnQ0,6382
|
|
@@ -12,7 +12,7 @@ zou/app/blueprints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
12
12
|
zou/app/blueprints/assets/__init__.py,sha256=T2zhDagHjXF6jRwOQ8vqokZTkBHyY7XtTI0Rlooamjs,2931
|
|
13
13
|
zou/app/blueprints/assets/resources.py,sha256=YIR1n21vsvM-dYPcnXVePU9rlCf1es-Y5HYURDVYKmI,25628
|
|
14
14
|
zou/app/blueprints/auth/__init__.py,sha256=xP874bMWUnLIirOPSEbpe-Q2fBBQrxZGKd0tLZmNJXk,1128
|
|
15
|
-
zou/app/blueprints/auth/resources.py,sha256=
|
|
15
|
+
zou/app/blueprints/auth/resources.py,sha256=MeOMT6E_CxvyDROFWwu9vE1NNhh5UPBdaBuNZ-Ru2GA,46009
|
|
16
16
|
zou/app/blueprints/breakdown/__init__.py,sha256=Dp6GWSGxxWIedpyzTTEKpCRUYEo8oVNVyQhwNvTMmQM,1888
|
|
17
17
|
zou/app/blueprints/breakdown/resources.py,sha256=pmGlHLiXFsPRbxf403SiVgGiaBbtK8G_tfYbXSkJtAU,13593
|
|
18
18
|
zou/app/blueprints/chats/__init__.py,sha256=YGmwGvddg3MgSYVIh-hmkX8t2em9_LblxBeJzFqFJD4,558
|
|
@@ -27,7 +27,7 @@ zou/app/blueprints/crud/attachment_file.py,sha256=-yur0V16BOTvpdqtNymDTHEugwRPgG
|
|
|
27
27
|
zou/app/blueprints/crud/base.py,sha256=HJcZKeNe3RVe_qEC9bSlpz4FRKhqavzrsfFLSZ8OmoY,15907
|
|
28
28
|
zou/app/blueprints/crud/chat.py,sha256=Sq1r0y9ANjS113PUpwgAhnjYsxxLKMCM-a7DJ_icF00,344
|
|
29
29
|
zou/app/blueprints/crud/chat_message.py,sha256=bEEUoV0sNzu5sntNS6fpLh5NC6wWiycWCXtTE-t4yG4,387
|
|
30
|
-
zou/app/blueprints/crud/comments.py,sha256=
|
|
30
|
+
zou/app/blueprints/crud/comments.py,sha256=tdEvRCr40gui-O4HRSleIDqa8z-eYvS-82zizCnjUaI,7902
|
|
31
31
|
zou/app/blueprints/crud/custom_action.py,sha256=zz8E1IgtaV44BGC7m9t7YSQ9t_fYTtoxl_qRn20XijI,992
|
|
32
32
|
zou/app/blueprints/crud/day_off.py,sha256=hr_cSBG-r7i_an2AkRmgTPtzbwojaI6el_JDUHgBBx4,2571
|
|
33
33
|
zou/app/blueprints/crud/department.py,sha256=6UVd4OhloboQAHd6vtDjwdTNgx3tf9XyBAcb4IXnmt0,987
|
|
@@ -141,7 +141,7 @@ zou/app/models/base.py,sha256=vZoPzdixyRbk0SoDJGEbQ9LFouBaDCA7gVSZ1o_SIhI,8808
|
|
|
141
141
|
zou/app/models/build_job.py,sha256=aW6KZXkyMP9d3g8fvcOYk9EAoNMw-6IleZdWbaqLLVw,1286
|
|
142
142
|
zou/app/models/chat.py,sha256=u-IZB67IYlMMoPooFSKJX2kpXFdshlmRKf7UuwAcA6c,1273
|
|
143
143
|
zou/app/models/chat_message.py,sha256=8w7xtoqCW_CRoGKrF4ba5w-oyAHIRh-2ms3p5sQQor4,874
|
|
144
|
-
zou/app/models/comment.py,sha256=
|
|
144
|
+
zou/app/models/comment.py,sha256=aDi64Yny5RvlSDace5ydUqxI7_hhugBVnO6EvR19tAE,6040
|
|
145
145
|
zou/app/models/custom_action.py,sha256=wx5ASKJ2oG-ivASZbVf1nLiL7zELgQBJ8U1jDdvGkuU,578
|
|
146
146
|
zou/app/models/data_import_error.py,sha256=dCyzaX0KATa0F8h5V3sTPlXz-XNl1VNkflRfJuaCmsg,425
|
|
147
147
|
zou/app/models/day_off.py,sha256=WMZs7oMhUBpMnNyvhgpl1j6egZ5J0drnrF1dH3N5cII,691
|
|
@@ -210,7 +210,7 @@ zou/app/services/shots_service.py,sha256=UW7QcW2Gi_OsbBuR_96FCjNKnsm3SH2R1AcBRnL
|
|
|
210
210
|
zou/app/services/stats_service.py,sha256=e9h090eZWADtzXycy1WOup_jlxGwQojrr1y_PDcVatc,13156
|
|
211
211
|
zou/app/services/status_automations_service.py,sha256=tVio7Sj7inhvKS4UOyRhcdpwr_KNP96hT1o0X7XcGF4,715
|
|
212
212
|
zou/app/services/sync_service.py,sha256=iWxx1kOGEXympHmSBBQWtDZWNtumdxp8kppee0OefMo,41811
|
|
213
|
-
zou/app/services/tasks_service.py,sha256=
|
|
213
|
+
zou/app/services/tasks_service.py,sha256=6ZFq4DhJ9HDgWT3CcikUWWImMNuHko1Bz_ARKPfeoEw,69775
|
|
214
214
|
zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
|
|
215
215
|
zou/app/services/time_spents_service.py,sha256=H9X-60s6oqtY9rtU-K2jKwUSljfkdGlf_9wMr3iVfIA,15158
|
|
216
216
|
zou/app/services/user_service.py,sha256=SKW6n3eMRDUJljUE893cYUrg00xyUwUkxLHzQHjIZT0,51362
|
|
@@ -419,9 +419,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
|
|
|
419
419
|
zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
|
|
420
420
|
zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
421
421
|
zou/utils/movie.py,sha256=d67fIL9dVBKt-E_qCGXRbNNdbJaJR5sHvZeX3hf8ldE,16559
|
|
422
|
-
zou-0.20.
|
|
423
|
-
zou-0.20.
|
|
424
|
-
zou-0.20.
|
|
425
|
-
zou-0.20.
|
|
426
|
-
zou-0.20.
|
|
427
|
-
zou-0.20.
|
|
422
|
+
zou-0.20.24.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
|
|
423
|
+
zou-0.20.24.dist-info/METADATA,sha256=9s5B7TaMUQKnFX40S1TLXCkH8wta-BEvuxjlcgqs-uw,6673
|
|
424
|
+
zou-0.20.24.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
|
425
|
+
zou-0.20.24.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
|
|
426
|
+
zou-0.20.24.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
|
|
427
|
+
zou-0.20.24.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|