|
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
from orgs.models import Organization
|
|
|
|
|
|
|
|
|
|
|
|
class BasicSettingSerializer(serializers.Serializer):
|
|
|
|
PREFIX_TITLE = _('Basic')
|
|
|
|
|
|
|
|
SITE_URL = serializers.URLField(
|
|
|
|
required=True, label=_("Site url"),
|
|
|
|
help_text=_(
|
|
|
|
'External URL, email links or other system callbacks are used to access it, '
|
|
|
|
'eg: http://dev.jumpserver.org:8080'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
USER_GUIDE_URL = serializers.URLField(
|
|
|
|
required=False, allow_blank=True, allow_null=True, label=_("User guide url"),
|
|
|
|
help_text=_('User first login update profile done redirect to it')
|
|
|
|
)
|
|
|
|
GLOBAL_ORG_DISPLAY_NAME = serializers.CharField(
|
|
|
|
required=False, max_length=1024, allow_blank=True, allow_null=True, label=_("Global organization name"),
|
|
|
|
help_text=_('The name of global organization to display')
|
|
|
|
)
|
|
|
|
HELP_DOCUMENT_URL = serializers.URLField(
|
|
|
|
required=False, allow_blank=True, allow_null=True, label=_("Help Docs URL"),
|
|
|
|
help_text=_('default: http://docs.jumpserver.org')
|
|
|
|
)
|
|
|
|
HELP_SUPPORT_URL = serializers.URLField(
|
|
|
|
required=False, allow_blank=True, allow_null=True, label=_("Help Support URL"),
|
|
|
|
help_text=_('default: http://www.jumpserver.org/support/')
|
|
|
|
)
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def validate_SITE_URL(s):
|
|
|
|
if not s:
|
|
|
|
return 'http://127.0.0.1'
|
|
|
|
return s.strip('/')
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def validate_GLOBAL_ORG_DISPLAY_NAME(s):
|
|
|
|
org_names = Organization.objects.values_list('name', flat=True)
|
|
|
|
if s in org_names:
|
|
|
|
raise serializers.ValidationError(_('Organization name already exists'))
|
|
|
|
return s
|