added images
This commit is contained in:
parent
f3c88919c3
commit
8290dda9cf
@ -11,7 +11,7 @@ class Product(models.Model):
|
|||||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="products")
|
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="products")
|
||||||
stock_limit = models.IntegerField(null=True, blank=True)
|
stock_limit = models.IntegerField(null=True, blank=True)
|
||||||
alert_enabled = models.BooleanField(default=False)
|
alert_enabled = models.BooleanField(default=False)
|
||||||
|
image = models.CharField(null=True, blank=True)
|
||||||
@property
|
@property
|
||||||
def is_stock_low(self):
|
def is_stock_low(self):
|
||||||
return self.alert_enabled and self.stock_limit is not None and self.quantity < self.stock_limit
|
return self.alert_enabled and self.stock_limit is not None and self.quantity < self.stock_limit
|
||||||
|
@ -44,7 +44,12 @@ class ProductSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Product
|
model = Product
|
||||||
fields = ["id", "name", "description", "quantity", "creation_date", "modification_date", "user","stock_limit","alert_enabled","is_stock_low"]
|
fields = ["id", "name", "description", "quantity", "creation_date", "modification_date", "user","stock_limit","alert_enabled","is_stock_low","image"]
|
||||||
|
|
||||||
|
def validate_quantity(self, value):
|
||||||
|
if value < 0:
|
||||||
|
raise serializers.ValidationError("La quantité ne peut pas être négative.")
|
||||||
|
return value
|
||||||
|
|
||||||
def get_is_stock_low(self, obj):
|
def get_is_stock_low(self, obj):
|
||||||
if not isinstance(obj, Product):
|
if not isinstance(obj, Product):
|
||||||
|
@ -47,13 +47,8 @@ class ProductView(viewsets.ModelViewSet):
|
|||||||
serializer_class = ProductSerializer
|
serializer_class = ProductSerializer
|
||||||
queryset = Product.objects.all()
|
queryset = Product.objects.all()
|
||||||
|
|
||||||
def perform_create(self, request):
|
def perform_create(self, serializer):
|
||||||
if 'quantity' not in request.data or request.data.get('quantity') is None:
|
serializer.save(user=self.request.user)
|
||||||
return Response({"quantity": ["give a quantity"]}, status=status.HTTP_400_BAD_REQUEST)
|
|
||||||
serializers = self.get_serializer(data=request.data)
|
|
||||||
serializers.is_valid(raise_exception=True)
|
|
||||||
serializers.save(user=self.request.user)
|
|
||||||
return Response(serializers.data, status=status.HTTP_201_CREATED)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return Product.objects.filter(user_id=self.request.user)
|
return Product.objects.filter(user_id=self.request.user)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user