From dc58b42f68288777e7f4eabefaae7bb62e4d62c8 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Fri, 3 Jan 2025 22:14:38 +0100 Subject: [PATCH] improved startpage --- cookbook/serializer.py | 9 +++++-- cookbook/views/api.py | 2 ++ vue3/src/apps/tandoor/Tandoor.vue | 6 +++++ .../display/HorizontalRecipeWindow.vue | 11 +++++++-- vue3/src/locales/ar.json | 1 + vue3/src/locales/bg.json | 1 + vue3/src/locales/ca.json | 1 + vue3/src/locales/cs.json | 1 + vue3/src/locales/da.json | 1 + vue3/src/locales/de.json | 1 + vue3/src/locales/el.json | 1 + vue3/src/locales/en.json | 1 + vue3/src/locales/es.json | 1 + vue3/src/locales/fi.json | 1 + vue3/src/locales/fr.json | 1 + vue3/src/locales/he.json | 1 + vue3/src/locales/hu.json | 1 + vue3/src/locales/hy.json | 1 + vue3/src/locales/id.json | 1 + vue3/src/locales/is.json | 1 + vue3/src/locales/it.json | 1 + vue3/src/locales/lt.json | 1 + vue3/src/locales/nb_NO.json | 1 + vue3/src/locales/nl.json | 1 + vue3/src/locales/pl.json | 1 + vue3/src/locales/pt.json | 1 + vue3/src/locales/pt_BR.json | 1 + vue3/src/locales/ro.json | 1 + vue3/src/locales/ru.json | 1 + vue3/src/locales/sl.json | 1 + vue3/src/locales/sv.json | 1 + vue3/src/locales/tr.json | 1 + vue3/src/locales/uk.json | 1 + vue3/src/locales/zh_Hans.json | 1 + vue3/src/locales/zh_Hant.json | 1 + vue3/src/openapi/apis/ApiApi.ts | 5 ++++ vue3/src/openapi/models/PatchedUser.ts | 24 +++++++++++++++++++ vue3/src/openapi/models/User.ts | 24 +++++++++++++++++++ vue3/src/pages/RecipeViewPage.vue | 8 ++++++- vue3/src/pages/SettingsPage.vue | 2 +- vue3/src/pages/StartPage.vue | 3 ++- 41 files changed, 118 insertions(+), 7 deletions(-) diff --git a/cookbook/serializer.py b/cookbook/serializer.py index 03f56c53e..b348ae473 100644 --- a/cookbook/serializer.py +++ b/cookbook/serializer.py @@ -199,7 +199,7 @@ class UserSerializer(WritableNestedModelSerializer): class Meta: list_serializer_class = SpaceFilterSerializer model = User - fields = ('id', 'username', 'first_name', 'last_name', 'display_name') + fields = ('id', 'username', 'first_name', 'last_name', 'display_name', 'is_staff', 'is_superuser', 'is_active') read_only_fields = ('username',) @@ -1294,7 +1294,12 @@ class ViewLogSerializer(serializers.ModelSerializer): def create(self, validated_data): validated_data['created_by'] = self.context['request'].user validated_data['space'] = self.context['request'].space - return super().create(validated_data) + + view_log = ViewLog.objects.filter(recipe=validated_data['recipe'], created_by=self.context['request'].user, created_at__gt=(timezone.now() - timezone.timedelta(minutes=5)), space=self.context['request'].space).first() + if not view_log: + view_log = ViewLog.objects.create(recipe=validated_data['recipe'], created_by=self.context['request'].user, space=self.context['request'].space) + + return view_log class Meta: model = ViewLog diff --git a/cookbook/views/api.py b/cookbook/views/api.py index f991db85e..e3b822126 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -1121,6 +1121,8 @@ class RecipePagination(PageNumberPagination): description=_('Returns the results in randomized order. [''true''/''false'']')), OpenApiParameter(name='new', description=_('Returns new results first in search results. [''true''/''false'']')), + OpenApiParameter(name='num_recent', description=_( + 'Returns the given number of recently viewed recipes before search results (if given)'), type=int), OpenApiParameter(name='timescooked', description=_( 'Filter recipes cooked X times or more. Negative values returns cooked less than X times'), type=int), OpenApiParameter( diff --git a/vue3/src/apps/tandoor/Tandoor.vue b/vue3/src/apps/tandoor/Tandoor.vue index 6ca921416..0eba137f4 100644 --- a/vue3/src/apps/tandoor/Tandoor.vue +++ b/vue3/src/apps/tandoor/Tandoor.vue @@ -62,6 +62,12 @@ {{ $t('Messages') }} + + + {{ $t('Admin') }} +