mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-28 11:36:44 +00:00
[Bug] Project code fix (#7599)
* Fix project_code serializer field - Imroperly marked as "read only" * Add unit test * Bump API version * Add project code label to order serializers - Making it available in exported dataset
This commit is contained in:
parent
b59ecdaeac
commit
494c12f0e5
@ -1,12 +1,15 @@
|
|||||||
"""InvenTree API version information."""
|
"""InvenTree API version information."""
|
||||||
|
|
||||||
# InvenTree API version
|
# InvenTree API version
|
||||||
INVENTREE_API_VERSION = 216
|
INVENTREE_API_VERSION = 217
|
||||||
|
|
||||||
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
||||||
|
|
||||||
|
|
||||||
INVENTREE_API_TEXT = """
|
INVENTREE_API_TEXT = """
|
||||||
|
v217 - 2024-07-09 : https://github.com/inventree/InvenTree/pull/7599
|
||||||
|
- Fixes bug in "project_code" field for order API endpoints
|
||||||
|
|
||||||
v216 - 2024-07-08 : https://github.com/inventree/InvenTree/pull/7595
|
v216 - 2024-07-08 : https://github.com/inventree/InvenTree/pull/7595
|
||||||
- Moves API endpoint for contenttype lookup by model name
|
- Moves API endpoint for contenttype lookup by model name
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ class BuildSerializer(NotesFieldMixin, DataImportExportSerializerMixin, InvenTre
|
|||||||
'part_name',
|
'part_name',
|
||||||
'part_detail',
|
'part_detail',
|
||||||
'project_code',
|
'project_code',
|
||||||
|
'project_code_label',
|
||||||
'project_code_detail',
|
'project_code_detail',
|
||||||
'overdue',
|
'overdue',
|
||||||
'reference',
|
'reference',
|
||||||
@ -98,6 +99,8 @@ class BuildSerializer(NotesFieldMixin, DataImportExportSerializerMixin, InvenTre
|
|||||||
|
|
||||||
barcode_hash = serializers.CharField(read_only=True)
|
barcode_hash = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
|
project_code_label = serializers.CharField(source='project_code.code', read_only=True, label=_('Project Code Label'))
|
||||||
|
|
||||||
project_code_detail = ProjectCodeSerializer(source='project_code', many=False, read_only=True)
|
project_code_detail = ProjectCodeSerializer(source='project_code', many=False, read_only=True)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -104,8 +104,8 @@ class AbstractOrderSerializer(DataImportExportSerializerMixin, serializers.Seria
|
|||||||
source='responsible', read_only=True, many=False
|
source='responsible', read_only=True, many=False
|
||||||
)
|
)
|
||||||
|
|
||||||
project_code = serializers.CharField(
|
project_code_label = serializers.CharField(
|
||||||
source='project_code.code', label=_('Project Code'), read_only=True
|
source='project_code.code', read_only=True, label='Project Code Label'
|
||||||
)
|
)
|
||||||
|
|
||||||
# Detail for project code field
|
# Detail for project code field
|
||||||
@ -151,6 +151,7 @@ class AbstractOrderSerializer(DataImportExportSerializerMixin, serializers.Seria
|
|||||||
'completed_lines',
|
'completed_lines',
|
||||||
'link',
|
'link',
|
||||||
'project_code',
|
'project_code',
|
||||||
|
'project_code_label',
|
||||||
'project_code_detail',
|
'project_code_detail',
|
||||||
'reference',
|
'reference',
|
||||||
'responsible',
|
'responsible',
|
||||||
|
@ -1978,6 +1978,18 @@ class ReturnOrderTests(InvenTreeAPITestCase):
|
|||||||
self.assertEqual(reference['required'], True)
|
self.assertEqual(reference['required'], True)
|
||||||
self.assertEqual(reference['type'], 'string')
|
self.assertEqual(reference['type'], 'string')
|
||||||
|
|
||||||
|
def test_project_code(self):
|
||||||
|
"""Test the 'project_code' serializer field."""
|
||||||
|
self.assignRole('return_order.add')
|
||||||
|
response = self.options(reverse('api-return-order-list'), expected_code=200)
|
||||||
|
project_code = response.data['actions']['POST']['project_code']
|
||||||
|
|
||||||
|
self.assertFalse(project_code['required'])
|
||||||
|
self.assertFalse(project_code['read_only'])
|
||||||
|
self.assertEqual(project_code['type'], 'related field')
|
||||||
|
self.assertEqual(project_code['label'], 'Project Code')
|
||||||
|
self.assertEqual(project_code['model'], 'projectcode')
|
||||||
|
|
||||||
def test_list(self):
|
def test_list(self):
|
||||||
"""Tests for the list endpoint."""
|
"""Tests for the list endpoint."""
|
||||||
url = reverse('api-return-order-list')
|
url = reverse('api-return-order-list')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user