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):
|
def has_object_permission(self, request, view, obj):
|
||||||
|
|
||||||
print("Checking object permissions:")
|
|
||||||
print(request.user, obj.user)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
user = request.user
|
user = request.user
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -45,6 +45,16 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
Enforce validation and clean before saving
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.clean()
|
||||||
|
self.validate_unique()
|
||||||
|
|
||||||
|
super().save()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def allValues(cls, user=None):
|
def allValues(cls, user=None):
|
||||||
"""
|
"""
|
||||||
@ -427,6 +437,20 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
|
|
||||||
return InvenTree.helpers.str2bool(self.value)
|
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
|
@classmethod
|
||||||
def validator_is_bool(cls, validator):
|
def validator_is_bool(cls, validator):
|
||||||
|
|
||||||
|
@ -16,11 +16,13 @@ class GlobalSettingsSerializer(InvenTreeModelSerializer):
|
|||||||
Serializer for the InvenTreeSetting model
|
Serializer for the InvenTreeSetting model
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
key = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
name = serializers.CharField(read_only=True)
|
name = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
description = 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:
|
class Meta:
|
||||||
model = InvenTreeSetting
|
model = InvenTreeSetting
|
||||||
@ -30,7 +32,7 @@ class GlobalSettingsSerializer(InvenTreeModelSerializer):
|
|||||||
'value',
|
'value',
|
||||||
'name',
|
'name',
|
||||||
'description',
|
'description',
|
||||||
# 'type',
|
'type',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -39,11 +41,15 @@ class UserSettingsSerializer(InvenTreeModelSerializer):
|
|||||||
Serializer for the InvenTreeUserSetting model
|
Serializer for the InvenTreeUserSetting model
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
key = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
name = serializers.CharField(read_only=True)
|
name = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
description = 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:
|
class Meta:
|
||||||
model = InvenTreeUserSetting
|
model = InvenTreeUserSetting
|
||||||
@ -54,5 +60,5 @@ class UserSettingsSerializer(InvenTreeModelSerializer):
|
|||||||
'name',
|
'name',
|
||||||
'description',
|
'description',
|
||||||
'user',
|
'user',
|
||||||
# 'type',
|
'type',
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user