fix organization pagination - quota distribution

This commit is contained in:
2025-06-15 09:08:19 +03:30
parent b52baa5d3b
commit 92382d0ad1
17 changed files with 647 additions and 24 deletions

View File

@@ -12,6 +12,7 @@ class CustomOperations:
request: object = None,
view: object = None,
data_key: str = None,
data: dict = None,
additional_data: dict = None
) -> typing.Any:
"""
@@ -25,9 +26,16 @@ class CustomOperations:
view_data[data_key].update({'user': user.id}) # noqa
if additional_data:
view_data[data_key].update(additional_data)
serializer = view.serializer_class(data=view_data[data_key]) # noqa
serializer.is_valid(raise_exception=True)
# if we have data_key for dictionary data get value
# if not, just put additional data in serializer
if data_key:
serializer = view.serializer_class(data=view_data[data_key]) # noqa
if data:
serializer = view.serializer_class(data=data) # noqa
serializer.is_valid(raise_exception=True) # noqa
view.perform_create(serializer) # noqa
headers = view.get_success_headers(serializer.data) # noqa
return serializer.data
@@ -38,6 +46,7 @@ class CustomOperations:
obj_id: object = None,
view: object = None,
data_key: str = None,
data: dict = None,
additional_data: dict = None
) -> typing.Any:
view_data = request.data # included needed data for view set # noqa
@@ -45,8 +54,11 @@ class CustomOperations:
view_data[data_key].update({'user': user.id}) # noqa
if additional_data:
view_data[data_key].update(additional_data)
serializer = view.serializer_class(data=view_data[data_key]) # noqa
serializer.is_valid(raise_exception=True)
if data_key:
serializer = view.serializer_class(data=view_data[data_key]) # noqa
if data:
serializer = view.serializer_class(data=data) # noqa
serializer.is_valid(raise_exception=True) # noqa
serializer.update(view.queryset.get(id=obj_id), view_data[data_key]) # noqa
# view.perform_update(serializer) # noqa
headers = view.get_success_headers(serializer.data) # noqa