fix - some changes in pos randher/ web herd / web licestock/

This commit is contained in:
2025-11-11 14:51:11 +03:30
parent 6ffba48cd0
commit 3df331c0f3
3 changed files with 35 additions and 13 deletions

View File

@@ -7,7 +7,6 @@ from rest_framework.permissions import AllowAny
from rest_framework.response import Response from rest_framework.response import Response
from apps.core.mixins.search_mixin import DynamicSearchMixin from apps.core.mixins.search_mixin import DynamicSearchMixin
from apps.herd.exception import DuplicateRancherException
from apps.herd.models import Herd, Rancher from apps.herd.models import Herd, Rancher
from apps.herd.pos.api.v1.serializers import HerdSerializer, RancherSerializer from apps.herd.pos.api.v1.serializers import HerdSerializer, RancherSerializer
from apps.livestock.web.api.v1.serializers import LiveStockSerializer from apps.livestock.web.api.v1.serializers import LiveStockSerializer
@@ -141,8 +140,8 @@ class RancherViewSet(viewsets.ModelViewSet, DynamicSearchMixin):
rancher = self.queryset.filter(national_code=request.data['national_code']) rancher = self.queryset.filter(national_code=request.data['national_code'])
if len(rancher) > 1: # if len(rancher) > 1:
raise DuplicateRancherException() # raise DuplicateRancherException()
if rancher.exists(): if rancher.exists():
serializer = self.serializer_class(rancher.first()) serializer = self.serializer_class(rancher.first())

View File

@@ -1,5 +1,5 @@
from django.db import transaction from django.db import transaction
from rest_framework import status from rest_framework import status, filters
from rest_framework import viewsets from rest_framework import viewsets
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
@@ -20,6 +20,20 @@ class HerdViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet):
""" Herd ViewSet """ """ Herd ViewSet """
queryset = Herd.objects.all() queryset = Herd.objects.all()
serializer_class = HerdSerializer serializer_class = HerdSerializer
filter_backends = [filters.SearchFilter]
search_fields = [
"rancher__ranching_farm",
"name",
"code",
"province__name",
"city__name",
"postal",
"institution",
"epidemiologic",
"contractor",
"activity",
"capacity",
]
@transaction.atomic @transaction.atomic
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):

View File

@@ -1,14 +1,13 @@
from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
from rest_framework import viewsets
from apps.livestock import models as livestock_models
from apps.tag.web.api.v1.api import TagViewSet
from . import serializers as livestock_serializers
from rest_framework.exceptions import APIException
from rest_framework.decorators import action
from rest_framework.response import Response
from common.tools import CustomOperations
from django.db import transaction from django.db import transaction
from rest_framework import status from rest_framework import status
from rest_framework import viewsets, filters
from rest_framework.decorators import action
from rest_framework.exceptions import APIException
from rest_framework.response import Response
from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
from apps.livestock import models as livestock_models
from . import serializers as livestock_serializers
def trash(queryset, pk): def trash(queryset, pk):
@@ -27,6 +26,16 @@ def delete(queryset, pk):
class LiveStockViewSet(viewsets.ModelViewSet, SoftDeleteMixin): # noqa class LiveStockViewSet(viewsets.ModelViewSet, SoftDeleteMixin): # noqa
queryset = livestock_models.LiveStock.objects.all() queryset = livestock_models.LiveStock.objects.all()
serializer_class = livestock_serializers.LiveStockSerializer serializer_class = livestock_serializers.LiveStockSerializer
filter_backends = [filters.SearchFilter]
search_fields = [
"gender",
"type__name",
"use_type__name",
"species__name",
"herd__name",
"herd__description",
"herd__rancher__ranching_farm",
]
@action( @action(
methods=['put'], methods=['put'],