mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 04:10:06 -05:00
settings page WIP
This commit is contained in:
@@ -1415,6 +1415,14 @@ class AccessTokenSerializer(serializers.ModelSerializer):
|
||||
read_only_fields = ('id', 'token',)
|
||||
|
||||
|
||||
class LocalizationSerializer(serializers.Serializer):
|
||||
code = serializers.CharField(max_length=8, read_only=True)
|
||||
language = serializers.CharField(read_only=True)
|
||||
|
||||
class Meta:
|
||||
fields = '__ALL__'
|
||||
|
||||
|
||||
# Export/Import Serializers
|
||||
|
||||
class KeywordExportSerializer(KeywordSerializer):
|
||||
|
||||
@@ -64,6 +64,8 @@ router.register(r'user-space', api.UserSpaceViewSet)
|
||||
router.register(r'view-log', api.ViewLogViewSet)
|
||||
router.register(r'access-token', api.AccessTokenViewSet)
|
||||
|
||||
router.register(r'localization', api.LocalizationViewSet, basename='localization')
|
||||
|
||||
for p in PLUGINS:
|
||||
if c := locate(f'{p["module"]}.urls.{p["api_router_name"]}'):
|
||||
try:
|
||||
|
||||
@@ -84,7 +84,7 @@ from cookbook.serializer import (AccessTokenSerializer, AutomationSerializer, Au
|
||||
RecipeOverviewSerializer, RecipeSerializer, RecipeShoppingUpdateSerializer, RecipeSimpleSerializer, ShoppingListEntryBulkSerializer,
|
||||
ShoppingListEntrySerializer, ShoppingListRecipeSerializer, SpaceSerializer, StepSerializer, StorageSerializer,
|
||||
SupermarketCategoryRelationSerializer, SupermarketCategorySerializer, SupermarketSerializer, SyncLogSerializer, SyncSerializer,
|
||||
UnitConversionSerializer, UnitSerializer, UserFileSerializer, UserPreferenceSerializer, UserSerializer, UserSpaceSerializer, ViewLogSerializer, ImportImageSerializer
|
||||
UnitConversionSerializer, UnitSerializer, UserFileSerializer, UserPreferenceSerializer, UserSerializer, UserSpaceSerializer, ViewLogSerializer, ImportImageSerializer, LocalizationSerializer
|
||||
)
|
||||
from cookbook.views.import_export import get_integration
|
||||
from recipes import settings
|
||||
@@ -1543,7 +1543,7 @@ class RecipeUrlImportView(APIView):
|
||||
class ImageToRecipeView(APIView):
|
||||
serializer_class = ImportImageSerializer
|
||||
http_method_names = ['post', 'options']
|
||||
#parser_classes = [MultiPartParser]
|
||||
# parser_classes = [MultiPartParser]
|
||||
throttle_classes = [RecipeImportThrottle]
|
||||
permission_classes = [CustomIsUser & CustomTokenHasReadWriteScope]
|
||||
|
||||
@@ -1702,6 +1702,20 @@ class ImportOpenData(APIView):
|
||||
return Response(response_obj)
|
||||
|
||||
|
||||
# TODO implement schema
|
||||
class LocalizationViewSet(viewsets.GenericViewSet):
|
||||
permission_classes = [CustomIsGuest & CustomTokenHasReadWriteScope]
|
||||
serializer_class = LocalizationSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
return None
|
||||
def list(self, request, *args, **kwargs):
|
||||
langs = []
|
||||
for l in settings.LANGUAGES:
|
||||
langs.append({'code': l[0], 'language': l[1]})
|
||||
return Response(LocalizationSerializer(langs, many=True).data)
|
||||
|
||||
|
||||
def get_recipe_provider(recipe):
|
||||
if recipe.storage.method == Storage.DROPBOX:
|
||||
return Dropbox
|
||||
|
||||
Reference in New Issue
Block a user