Files
outbo-2-stgclone/evg-outbo-api/outbo/apps/activity_log/viewsets.py
T
2024-11-27 13:18:16 +01:00

49 lines
1.5 KiB
Python
Executable File

from outbo.apps.activity_log.models import ProductLogItem, ProjectLogItem
from outbo.apps.activity_log.serializers import (
ProductLogItemSerializer,
ProjectLogItemSerializer,
)
from outbo.apps.core.viewsets import (
AutoPermissionViewSetMixin,
ListModelMixin,
MultipleSerializerViewSet,
NestedViewSetMixin,
CreateModelMixin,
)
from outbo.apps.products.models import Product
from outbo.apps.projects.models import Project
class ProductLogItemNestedViewSet(
AutoPermissionViewSetMixin,
ListModelMixin,
CreateModelMixin,
NestedViewSetMixin,
MultipleSerializerViewSet,
):
queryset = ProductLogItem.objects.all()
serializer_class_set = ProductLogItemSerializer
def perform_create(self, *, serializer):
current_user = self.request.user
parents = self.get_parents_query_dict()
product = Product.objects.get(pk=parents["product_id"])
return serializer.save(product=product, created_by=current_user)
class ProjectLogItemNestedViewSet(
AutoPermissionViewSetMixin,
ListModelMixin,
CreateModelMixin,
NestedViewSetMixin,
MultipleSerializerViewSet,
):
queryset = ProjectLogItem.objects.all()
serializer_class_set = ProjectLogItemSerializer
def perform_create(self, *, serializer):
current_user = self.request.user
parents = self.get_parents_query_dict()
project = Project.objects.get(pk=parents["project_id"])
return serializer.save(project=project, created_by=current_user)