mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Include 'setting type' in API data
This commit is contained in:
parent
0374c27d7c
commit
07851f0b2c
@ -107,9 +107,6 @@ class UserSettingsPermissions(permissions.BasePermission):
|
||||
|
||||
def has_object_permission(self, request, view, obj):
|
||||
|
||||
print("Checking object permissions:")
|
||||
print(request.user, obj.user)
|
||||
|
||||
try:
|
||||
user = request.user
|
||||
except AttributeError:
|
||||
|
@ -45,6 +45,16 @@ class BaseInvenTreeSetting(models.Model):
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
"""
|
||||
Enforce validation and clean before saving
|
||||
"""
|
||||
|
||||
self.clean()
|
||||
self.validate_unique()
|
||||
|
||||
super().save()
|
||||
|
||||
@classmethod
|
||||
def allValues(cls, user=None):
|
||||
"""
|
||||
@ -427,6 +437,20 @@ class BaseInvenTreeSetting(models.Model):
|
||||
|
||||
return InvenTree.helpers.str2bool(self.value)
|
||||
|
||||
def setting_type(self):
|
||||
"""
|
||||
Return the field type identifier for this setting object
|
||||
"""
|
||||
|
||||
if self.is_bool():
|
||||
return 'boolean'
|
||||
|
||||
elif self.is_int():
|
||||
return 'integer'
|
||||
|
||||
else:
|
||||
return 'string'
|
||||
|
||||
@classmethod
|
||||
def validator_is_bool(cls, validator):
|
||||
|
||||
|
@ -16,11 +16,13 @@ class GlobalSettingsSerializer(InvenTreeModelSerializer):
|
||||
Serializer for the InvenTreeSetting model
|
||||
"""
|
||||
|
||||
key = serializers.CharField(read_only=True)
|
||||
|
||||
name = serializers.CharField(read_only=True)
|
||||
|
||||
description = serializers.CharField(read_only=True)
|
||||
|
||||
# choices = serializers.CharField(read_only=True, many=True)
|
||||
type = serializers.CharField(source='setting_type', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = InvenTreeSetting
|
||||
@ -30,7 +32,7 @@ class GlobalSettingsSerializer(InvenTreeModelSerializer):
|
||||
'value',
|
||||
'name',
|
||||
'description',
|
||||
# 'type',
|
||||
'type',
|
||||
]
|
||||
|
||||
|
||||
@ -39,11 +41,15 @@ class UserSettingsSerializer(InvenTreeModelSerializer):
|
||||
Serializer for the InvenTreeUserSetting model
|
||||
"""
|
||||
|
||||
key = serializers.CharField(read_only=True)
|
||||
|
||||
name = serializers.CharField(read_only=True)
|
||||
|
||||
description = serializers.CharField(read_only=True)
|
||||
|
||||
# choices = serializers.CharField(read_only=True, many=True)
|
||||
user = serializers.PrimaryKeyRelatedField(read_only=True)
|
||||
|
||||
type = serializers.CharField(source='setting_type', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = InvenTreeUserSetting
|
||||
@ -54,5 +60,5 @@ class UserSettingsSerializer(InvenTreeModelSerializer):
|
||||
'name',
|
||||
'description',
|
||||
'user',
|
||||
# 'type',
|
||||
'type',
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user