* PATCH for YuanRateAPI

* Don't delete promocode, deactivate it
This commit is contained in:
Phil Zhitnikov 2023-07-07 01:19:00 +04:00
parent ae80c0de30
commit 4f456d0809
2 changed files with 5 additions and 5 deletions

View File

@ -188,4 +188,4 @@ class PromocodeSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Promocode model = Promocode
fields = ('id', 'name', 'discount', 'freedelivery', 'nocomission') fields = ('id', 'name', 'discount', 'freedelivery', 'nocomission', 'is_active')

View File

@ -109,8 +109,7 @@ class YuanRateAPI(generics.GenericAPIView):
yuan_rate = GlobalSettings.load().yuan_rate yuan_rate = GlobalSettings.load().yuan_rate
return Response(data={'currency': yuan_rate}) return Response(data={'currency': yuan_rate})
# FIXME: use PATCH method for updates def patch(self, request, *args, **kwargs):
def post(self, request, *args, **kwargs):
data = json.loads(request.body) data = json.loads(request.body)
instance = self.get_object() instance = self.get_object()
@ -234,8 +233,9 @@ class PromoCodeAPI(mixins.CreateModelMixin, generics.GenericAPIView):
if 'name' not in data: if 'name' not in data:
raise CRMException('name is required') raise CRMException('name is required')
instance = get_object_or_404(self.get_queryset(), name=data['name']) instance: Promocode = get_object_or_404(self.get_queryset(), name=data['name'])
instance.delete() instance.is_active = False
instance.save()
return Response(status=status.HTTP_204_NO_CONTENT) return Response(status=status.HTTP_204_NO_CONTENT)