29 lines
820 B
Python
29 lines
820 B
Python
|
from rest_framework import viewsets
|
||
|
|
||
|
from orchestra.api import router
|
||
|
from orchestra.contrib.accounts.api import AccountApiMixin
|
||
|
|
||
|
from . import settings
|
||
|
from .models import WebApp
|
||
|
from .serializers import WebAppSerializer
|
||
|
|
||
|
|
||
|
class WebAppViewSet(AccountApiMixin, viewsets.ModelViewSet):
|
||
|
model = WebApp
|
||
|
serializer_class = WebAppSerializer
|
||
|
filter_fields = ('name',)
|
||
|
|
||
|
def metadata(self, request):
|
||
|
ret = super(WebAppViewSet, self).metadata(request)
|
||
|
names = [
|
||
|
'WEBAPPS_BASE_ROOT', 'WEBAPPS_TYPES', 'WEBAPPS_WEBAPP_OPTIONS',
|
||
|
'WEBAPPS_PHP_DISABLED_FUNCTIONS', 'WEBAPPS_DEFAULT_TYPE'
|
||
|
]
|
||
|
ret['settings'] = {
|
||
|
name.lower(): getattr(settings, name, None) for name in names
|
||
|
}
|
||
|
return ret
|
||
|
|
||
|
|
||
|
router.register(r'webapps', WebAppViewSet)
|