django-orchestra/orchestra/contrib/saas/services/seafile.py
2023-07-09 07:51:51 +00:00

32 lines
1 KiB
Python

from django import forms
from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from .. import settings
from ..forms import SaaSPasswordForm
from .options import SoftwareService
# TODO monitor quota since out of sync?
class SeaFileForm(SaaSPasswordForm):
email = forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={'size':'40'}))
quota = forms.IntegerField(label=_("Quota"), initial=settings.SAAS_SEAFILE_DEFAULT_QUOTA,
help_text=_("Disk quota in MB."))
class SeaFileDataSerializer(serializers.Serializer):
email = serializers.EmailField(label=_("Email"))
quota = serializers.IntegerField(label=_("Quota"), default=settings.SAAS_SEAFILE_DEFAULT_QUOTA,
help_text=_("Disk quota in MB."))
class SeaFileService(SoftwareService):
name = 'seafile'
verbose_name = "SeaFile"
form = SeaFileForm
serializer = SeaFileDataSerializer
icon = 'orchestra/icons/apps/seafile.png'
site_domain = settings.SAAS_SEAFILE_DOMAIN
change_readonly_fields = ('email',)