mirror of
https://github.com/inventree/InvenTree.git
synced 2026-04-02 09:31:02 +00:00
Enforce deterministic ordering for plugin settings (#11643)
* Enforce deterministic ordering for plugin settings * Fix typo
This commit is contained in:
@@ -97,6 +97,10 @@ class MachineSettingList(APIView):
|
||||
)
|
||||
all_settings.extend(list(settings_dict.values()))
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
all_settings = sorted(all_settings, key=lambda x: x.key)
|
||||
|
||||
results = MachineSerializers.MachineSettingSerializer(
|
||||
all_settings, many=True
|
||||
).data
|
||||
|
||||
@@ -380,8 +380,12 @@ class PluginAllSettingList(APIView):
|
||||
settings_definition=settings, plugin=plugin.plugin_config()
|
||||
)
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
settings_values = sorted(settings_dict.values(), key=lambda x: x.key)
|
||||
|
||||
results = PluginSerializers.PluginSettingSerializer(
|
||||
list(settings_dict.values()), many=True
|
||||
settings_values, many=True
|
||||
).data
|
||||
return Response(results)
|
||||
|
||||
@@ -444,8 +448,12 @@ class PluginUserSettingList(APIView):
|
||||
user=request.user,
|
||||
)
|
||||
|
||||
# Sort settings by the 'key' field before returning,
|
||||
# to ensure a deterministic order in the API response
|
||||
settings_values = sorted(settings_dict.values(), key=lambda x: x.key)
|
||||
|
||||
results = PluginSerializers.PluginUserSettingSerializer(
|
||||
list(settings_dict.values()), many=True
|
||||
settings_values, many=True
|
||||
).data
|
||||
return Response(results)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user