(change, add): party status change api added, and celery task changed
This commit is contained in:
@@ -57,7 +57,6 @@ class PartyCreateSerializer(serializers.Serializer):
|
|||||||
total_price=resource.get('total_price'),
|
total_price=resource.get('total_price'),
|
||||||
qqs=resource.get('qqs'),
|
qqs=resource.get('qqs'),
|
||||||
))
|
))
|
||||||
create_inventory.delay(resource['wherehouse_id'], resource['quantity'], resource['product_id'], resource['unity_id'], resource['total_price'])
|
|
||||||
if validated_data.get('currency') == 'uzs':
|
if validated_data.get('currency') == 'uzs':
|
||||||
if resource.get('currency') == 'usd':
|
if resource.get('currency') == 'usd':
|
||||||
usd_value = UsdCourse.objects.first().value
|
usd_value = UsdCourse.objects.first().value
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ urlpatterns = [
|
|||||||
path(
|
path(
|
||||||
'<uuid:party_id>/order/<uuid:order_id>/remove/', party_views.OrderDeleteToPartyApiView.as_view()
|
'<uuid:party_id>/order/<uuid:order_id>/remove/', party_views.OrderDeleteToPartyApiView.as_view()
|
||||||
),
|
),
|
||||||
|
path('<uuid:party_id>/is_made/', party_views.PartyChangeStatusToIsMadeApiView.as_view()),
|
||||||
]
|
]
|
||||||
)),
|
)),
|
||||||
]
|
]
|
||||||
@@ -9,6 +9,7 @@ from core.apps.accounts.permissions.permissions import HasRolePermission
|
|||||||
from core.apps.orders.serializers import party as serializers
|
from core.apps.orders.serializers import party as serializers
|
||||||
from core.apps.orders.models import Party, PartyAmount, DeletedParty, Order
|
from core.apps.orders.models import Party, PartyAmount, DeletedParty, Order
|
||||||
from core.apps.orders.filters.party import PartyFilter
|
from core.apps.orders.filters.party import PartyFilter
|
||||||
|
from core.apps.orders.tasks.order import create_inventory
|
||||||
|
|
||||||
|
|
||||||
class PartyCreateApiView(generics.GenericAPIView):
|
class PartyCreateApiView(generics.GenericAPIView):
|
||||||
@@ -134,4 +135,30 @@ class OrderDeleteToPartyApiView(generics.GenericAPIView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
party.orders.remove(order)
|
party.orders.remove(order)
|
||||||
return Response({'success': True, 'message': 'Order removed from party'}, status=200)
|
return Response({'success': True, 'message': 'Order removed from party'}, status=200)
|
||||||
|
|
||||||
|
|
||||||
|
class PartyChangeStatusToIsMadeApiView(generics.GenericAPIView):
|
||||||
|
serializer_class = None
|
||||||
|
queryset = Party.objects.all()
|
||||||
|
permission_classes = [HasRolePermission]
|
||||||
|
required_permission = ['party']
|
||||||
|
pagination_class = None
|
||||||
|
|
||||||
|
def get(self, request, party_id):
|
||||||
|
party = get_object_or_404(Party, id=party_id)
|
||||||
|
party.status = 'PARTY_IS_MADE'
|
||||||
|
party.save()
|
||||||
|
for order in party.orders.all():
|
||||||
|
create_inventory.delay(
|
||||||
|
order.wherehouse.id,
|
||||||
|
order.quantity,
|
||||||
|
order.product.id,
|
||||||
|
order.unity.id,
|
||||||
|
order.total_price
|
||||||
|
)
|
||||||
|
return Response(
|
||||||
|
{'success': True, 'message': 'party updated'},
|
||||||
|
status=200
|
||||||
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user