add product
This commit is contained in:
1 parent
423d4cf40e
commit
c8d45dd07c
58 files changed
+8309
-674
No files matched your search
@@ -16,11 +16,14 @@ class ProductCreateApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceAdminPermission)
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
name = serializers.CharField(required=True, max_length=20)
|
||||
price = serializers.DecimalField(required=True, max_digits=20, decimal_places=2)
|
||||
name = serializers.CharField(required=True, max_length=200)
|
||||
price = serializers.IntegerField(required=True, min_value=0, max_value=9223372036854775807)
|
||||
category = serializers.IntegerField(required=True)
|
||||
acc_code = serializers.CharField(required=False)
|
||||
attr = serializers.CharField(required=False)
|
||||
attr = serializers.JSONField(required=False, allow_null=True)
|
||||
order_prd = serializers.IntegerField(required=False, allow_null=True, min_value=0, max_value=2147483647)
|
||||
excel_order = serializers.IntegerField(required=False, allow_null=True, min_value=0, max_value=2147483647)
|
||||
view_only = serializers.BooleanField(required=False)
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@@ -64,11 +67,14 @@ class ProductUpdateApi(APIView):
|
||||
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceAdminPermission)
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
name = serializers.CharField(required=True, max_length=20)
|
||||
price = serializers.DecimalField(required=True, max_digits=20, decimal_places=2)
|
||||
name = serializers.CharField(required=True, max_length=200)
|
||||
price = serializers.IntegerField(required=True, min_value=0, max_value=9223372036854775807)
|
||||
category = serializers.IntegerField(required=True)
|
||||
acc_code = serializers.CharField(required=False)
|
||||
attr = serializers.CharField(required=False)
|
||||
attr = serializers.JSONField(required=False, allow_null=True)
|
||||
order_prd = serializers.IntegerField(required=False, allow_null=True, min_value=0, max_value=2147483647)
|
||||
excel_order = serializers.IntegerField(required=False, allow_null=True, min_value=0, max_value=2147483647)
|
||||
view_only = serializers.BooleanField(required=False)
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@@ -77,7 +83,7 @@ class ProductUpdateApi(APIView):
|
||||
|
||||
def put(self, request, product_id: int):
|
||||
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer = self.InputSerializer(data=request.data, partial=True)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
user_workspace_uuid = get_user_workspace_uuid(request)
|
||||
@@ -116,7 +122,7 @@ class ProductListApi(generics.ListAPIView):
|
||||
|
||||
class OutputSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ProductCategoryModel
|
||||
model = ProductModel
|
||||
exclude = ('sys_ws', )
|
||||
|
||||
def get_queryset(self):
|
||||
@@ -154,7 +160,7 @@ class ProductListCategoryApi(generics.ListAPIView):
|
||||
)
|
||||
data = {
|
||||
"category_name": category.name,
|
||||
"category_img": category.image.url,
|
||||
"category_img": category.image.url if category.image else None,
|
||||
"products": serializer.data,
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user