49 lines
1.5 KiB
Python
Executable File
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)
|