From e128410d54c5bcaefeabbba3a7b9a309b0bca752 Mon Sep 17 00:00:00 2001
From: Oliver Walters <oliver.henry.walters@gmail.com>
Date: Tue, 26 May 2020 20:26:37 +1000
Subject: [PATCH] Update 'required' status for new serializers

(cherry picked from commit 2306e29743eb25266c78bec5357d1194e0778c58)
---
 InvenTree/order/serializers.py |  4 ++--
 InvenTree/part/serializers.py  |  2 +-
 InvenTree/stock/serializers.py | 10 ++++++++--
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py
index 6561d93ddd..2f87727ced 100644
--- a/InvenTree/order/serializers.py
+++ b/InvenTree/order/serializers.py
@@ -114,7 +114,7 @@ class POAttachmentSerializer(InvenTreeModelSerializer):
     Serializers for the PurchaseOrderAttachment model
     """
 
-    attachment = InvenTreeAttachmentSerializerField()
+    attachment = InvenTreeAttachmentSerializerField(required=True)
 
     class Meta:
         model = PurchaseOrderAttachment
@@ -259,7 +259,7 @@ class SOAttachmentSerializer(InvenTreeModelSerializer):
     Serializers for the SalesOrderAttachment model
     """
 
-    attachment = InvenTreeAttachmentSerializerField()
+    attachment = InvenTreeAttachmentSerializerField(required=True)
 
     class Meta:
         model = SalesOrderAttachment
diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py
index e1330cbb56..4efe1fa613 100644
--- a/InvenTree/part/serializers.py
+++ b/InvenTree/part/serializers.py
@@ -47,7 +47,7 @@ class PartAttachmentSerializer(InvenTreeModelSerializer):
     Serializer for the PartAttachment class
     """
 
-    attachment = InvenTreeAttachmentSerializerField()
+    attachment = InvenTreeAttachmentSerializerField(required=True)
 
     class Meta:
         model = PartAttachment
diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py
index f41c3f6f89..e4d602ec11 100644
--- a/InvenTree/stock/serializers.py
+++ b/InvenTree/stock/serializers.py
@@ -212,7 +212,7 @@ class StockItemAttachmentSerializer(InvenTreeModelSerializer):
 
     user_detail = UserSerializerBrief(source='user', read_only=True)
 
-    attachment = InvenTreeAttachmentSerializerField()
+    attachment = InvenTreeAttachmentSerializerField(required=True)
 
     class Meta:
         model = StockItemAttachment
@@ -227,6 +227,12 @@ class StockItemAttachmentSerializer(InvenTreeModelSerializer):
             'user_detail',
         ]
 
+        read_only_fields = [
+            'upload_date',
+            'user',
+            'user_detail'
+        ]
+
 
 class StockItemTestResultSerializer(InvenTreeModelSerializer):
     """ Serializer for the StockItemTestResult model """
@@ -235,7 +241,7 @@ class StockItemTestResultSerializer(InvenTreeModelSerializer):
 
     key = serializers.CharField(read_only=True)
 
-    attachment = InvenTreeAttachmentSerializerField()
+    attachment = InvenTreeAttachmentSerializerField(required=False)
 
     def __init__(self, *args, **kwargs):
         user_detail = kwargs.pop('user_detail', False)