示例#1
0
    def get(self, request, *args, **kwargs):
        permissions = ['product.view_commodityforstate']
        if utils.check_permission(request=self.request, permissions=permissions):
            get_parameter = self.request.query_params.get('state')

            if get_parameter:
                try:
                    commodity_state_list = models.CommodityForState.objects.filter(state_id=get_parameter)
                    data = []
                    for commodity_state in commodity_state_list:
                        data.append({
                            'id': commodity_state.pk,
                            'metal': commodity_state.metal.name,
                            'metal_category': commodity_state.metal_category.name,
                            'purity': [purity.name for purity in commodity_state.metal_purity.all()],
                            'is_active': commodity_state.is_active
                        })

                except Exception as e:
                    raise ValidationError(detail=e)

            else:
                state_id_list = models.CommodityForState.objects.values('state_id').distinct()
                state_queryset = models.State.objects.filter(id__in=state_id_list).order_by('state_name')
                data = []
                for state in state_queryset:
                    data.append(
                        {
                            "id": state.pk,
                            "state": state.state_name
                        }
                    )
            if not data:
                raise ValidationError(detail={'details': "Wrongly Queried."})
            return Response(data=data, status=status.HTTP_201_CREATED)
示例#2
0
 def get(self, request, *args, **kwargs):
     permissions = ['product.view_markettime']
     if utils.check_permission(request=self.request, permissions=permissions):
         queryset = models.MarketTime.objects.all()
         print(queryset)
         serailizer = serializers.MarketTimeSerailizer(queryset, many=True)
         return Response(serailizer.data, status=status.HTTP_201_CREATED)
示例#3
0
 def post(self, request, *args, **kwargs):
     permissions = ['product.add_deliverytime']
     if utils.check_permission(request=self.request, permissions=permissions):
         serializer = serializers.DeliveryTypeSerailizer(data=request.data)
         if serializer.is_valid(raise_exception=True):
             serializer.save()
             return Response({"message": "Delivery Time Added Successfully"}, status=status.HTTP_201_CREATED)
         return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#4
0
 def post(self, request, *args, **kwargs):
     permissions = ['product.add_markettime']
     if utils.check_permission(request=self.request, permissions=permissions):
         serializer = serializers.MarketTimeSerailizer(data=request.data)
         if len(models.MarketTime.objects.all()) < 1:
             if serializer.is_valid(raise_exception=True):
                 serializer.save()
                 return Response({"message": "Market Time Added Successfully"}, status=status.HTTP_201_CREATED)
             return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
         return Response({'message': 'Already Exsists'}, status=status.HTTP_400_BAD_REQUEST)
示例#5
0
 def post(self, request, *args, **kwargs):
     permissions = ['product.add_state', 'product.add_city']
     if utils.check_permission(request=request, permissions=permissions):
         serializer = serializers.AddStateCitySerailizer(data=request.data)
         if serializer.is_valid(raise_exception=True):
             city1 = models.City.objects.get_or_create(city_name=serializer.validated_data['city'])
             state1 = models.State.objects.get_or_create(state_name=serializer.validated_data['state'])
             state1[0].city.add(city1[0])
             print(state1, city1)
             return Response({"message": "State Added"})
         return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#6
0
 def put(self, request, *args, **kwargs):
     permissions = ['product.change_metal']
     if utils.check_permission(request=self.request, permissions=permissions):
         get_parameter = self.request.query_params
         if get_parameter.get('id'):
             try:
                 queryset = models.Metal.objects.get(pk=int(get_parameter.get('id')))
                 serailizer = serializers.MetalSerailizer(queryset, data=request.data)
                 if serailizer.is_valid(raise_exception=True):
                     serailizer.save()
                     return Response({'message': "Metal Updated Sucessfully"}, status=status.HTTP_201_CREATED)
                 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
             except Exception as e:
                 return Response({"message": "Doesn't Exist"}, status=status.HTTP_400_BAD_REQUEST)
         return Response({"message": "Enter the id to update the metal"}, status=status.HTTP_400_BAD_REQUEST)
示例#7
0
    def post(self, request, *args, **kwargs):

        if not ((request.user.is_admin and request.user.is_verified) or request.user.is_superuser):
            raise ValidationError(detail={'detail': 'You are not Authorized to do any changes'})
        permissions = ['product.add_commodityforstate']
        if utils.check_permission(request=self.request, permissions=permissions):
            serializer = serializers.CommoditiesForStateSerializer(data=self.request.data)
            if serializer.is_valid(raise_exception=True):
                try:
                    serializer.save()
                    return Response(
                        {"message": "Commdities Realted to Stated Added Sucessfully"},
                        status=status.HTTP_201_CREATED)
                except Exception as e:
                    raise ValidationError(detail={'message': e})
            return Response(serializer.errors['Exception Value'], status=status.HTTP_400_BAD_REQUEST)
示例#8
0
    def put(self, request, *args, **kwargs):
        permission_classes = [user_permission.IsSuperAdminOrAdmin, user_permission.IsVerified]

        permissions = ['product.change_commodityforstate']
        if utils.check_permission(request=self.request, permissions=permissions):
            get_parameter = self.request.query_params
            if get_parameter.get('id'):
                try:
                    queryset = models.CommodityForState.objects.get(pk=int(get_parameter.get('id')))
                    print(queryset)
                    serailizer = serializers.CommoditiesForStateSerializer(queryset, data=self.request.data)
                    if serailizer.is_valid(raise_exception=True):

                        serailizer.save()
                        return Response(
                            {'message': "Commodity for State Updated Sucessfully"},
                            status=status.HTTP_201_CREATED)
                    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
                except Exception as e:
                    raise ValidationError(detail={'message': e})
            return Response(
                {"message": "Enter the id to update the Commodity for State"},
                status=status.HTTP_400_BAD_REQUEST)