mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 20:45:44 +00:00
move auth settings to status
This commit is contained in:
@ -20,7 +20,10 @@ from rest_framework.views import APIView
|
|||||||
|
|
||||||
import InvenTree.version
|
import InvenTree.version
|
||||||
import users.models
|
import users.models
|
||||||
|
from common.settings import get_global_setting
|
||||||
|
from InvenTree.auth_overrides import registration_enabled
|
||||||
from InvenTree.mixins import ListCreateAPI
|
from InvenTree.mixins import ListCreateAPI
|
||||||
|
from InvenTree.sso import sso_registration_enabled
|
||||||
from InvenTree.templatetags.inventree_extras import plugins_info
|
from InvenTree.templatetags.inventree_extras import plugins_info
|
||||||
from part.models import Part
|
from part.models import Part
|
||||||
from plugin.serializers import MetadataSerializer
|
from plugin.serializers import MetadataSerializer
|
||||||
@ -198,6 +201,13 @@ class VersionTextView(ListAPI):
|
|||||||
class InfoApiSerializer(serializers.Serializer):
|
class InfoApiSerializer(serializers.Serializer):
|
||||||
"""InvenTree server information - some information might be blanked if called without elevated credentials."""
|
"""InvenTree server information - some information might be blanked if called without elevated credentials."""
|
||||||
|
|
||||||
|
class SettingsSerializer(serializers.Serializer):
|
||||||
|
"""Serializer for InfoApiSerializer."""
|
||||||
|
|
||||||
|
sso_registration = serializers.BooleanField()
|
||||||
|
registration_enabled = serializers.BooleanField()
|
||||||
|
password_forgotten_enabled = serializers.BooleanField()
|
||||||
|
|
||||||
server = serializers.CharField(read_only=True)
|
server = serializers.CharField(read_only=True)
|
||||||
version = serializers.CharField(read_only=True)
|
version = serializers.CharField(read_only=True)
|
||||||
instance = serializers.CharField(read_only=True)
|
instance = serializers.CharField(read_only=True)
|
||||||
@ -220,6 +230,7 @@ class InfoApiSerializer(serializers.Serializer):
|
|||||||
installer = serializers.CharField(read_only=True)
|
installer = serializers.CharField(read_only=True)
|
||||||
target = serializers.CharField(read_only=True)
|
target = serializers.CharField(read_only=True)
|
||||||
django_admin = serializers.CharField(read_only=True)
|
django_admin = serializers.CharField(read_only=True)
|
||||||
|
settings = SettingsSerializer(read_only=True, many=False)
|
||||||
|
|
||||||
|
|
||||||
class InfoView(APIView):
|
class InfoView(APIView):
|
||||||
@ -272,6 +283,13 @@ class InfoView(APIView):
|
|||||||
'django_admin': settings.INVENTREE_ADMIN_URL
|
'django_admin': settings.INVENTREE_ADMIN_URL
|
||||||
if (is_staff and settings.INVENTREE_ADMIN_ENABLED)
|
if (is_staff and settings.INVENTREE_ADMIN_ENABLED)
|
||||||
else None,
|
else None,
|
||||||
|
'settings': {
|
||||||
|
'sso_registration': sso_registration_enabled(),
|
||||||
|
'registration_enabled': registration_enabled(),
|
||||||
|
'password_forgotten_enabled': get_global_setting(
|
||||||
|
'LOGIN_ENABLE_PWD_FORGOT'
|
||||||
|
),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return JsonResponse(data)
|
return JsonResponse(data)
|
||||||
|
@ -19,7 +19,8 @@ export const emptyServerAPI = {
|
|||||||
installer: null,
|
installer: null,
|
||||||
target: null,
|
target: null,
|
||||||
default_locale: null,
|
default_locale: null,
|
||||||
django_admin: null
|
django_admin: null,
|
||||||
|
settings: null
|
||||||
};
|
};
|
||||||
|
|
||||||
export interface SiteMarkProps {
|
export interface SiteMarkProps {
|
||||||
|
@ -19,6 +19,13 @@ interface ServerApiStateProps {
|
|||||||
password_forgotten_enabled: () => boolean;
|
password_forgotten_enabled: () => boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_server_setting(val: any) {
|
||||||
|
if (val === null || val === undefined) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
export const useServerApiState = create<ServerApiStateProps>()(
|
export const useServerApiState = create<ServerApiStateProps>()(
|
||||||
persist(
|
persist(
|
||||||
(set, get) => ({
|
(set, get) => ({
|
||||||
@ -58,16 +65,15 @@ export const useServerApiState = create<ServerApiStateProps>()(
|
|||||||
return !(data === undefined || data.length == 0);
|
return !(data === undefined || data.length == 0);
|
||||||
},
|
},
|
||||||
registration_enabled: () => {
|
registration_enabled: () => {
|
||||||
// TODO
|
return get_server_setting(get().server?.settings?.registration_enabled);
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
sso_registration_enabled: () => {
|
sso_registration_enabled: () => {
|
||||||
// TODO
|
return get_server_setting(get().server?.settings?.sso_registration);
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
password_forgotten_enabled: () => {
|
password_forgotten_enabled: () => {
|
||||||
// TODO
|
return get_server_setting(
|
||||||
return false;
|
get().server?.settings?.password_forgotten_enabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
|
@ -48,6 +48,11 @@ export interface ServerAPIProps {
|
|||||||
target: null | string;
|
target: null | string;
|
||||||
default_locale: null | string;
|
default_locale: null | string;
|
||||||
django_admin: null | string;
|
django_admin: null | string;
|
||||||
|
settings: {
|
||||||
|
sso_registration: null | boolean;
|
||||||
|
registration_enabled: null | boolean;
|
||||||
|
password_forgotten_enabled: null | boolean;
|
||||||
|
} | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AuthContext {
|
export interface AuthContext {
|
||||||
|
Reference in New Issue
Block a user