playing with search

This commit is contained in:
vabene1111
2024-02-25 17:10:40 +01:00
parent 3c7fd0fa35
commit 3b2e75db1d
4 changed files with 68 additions and 4 deletions

View File

@@ -1095,6 +1095,15 @@ class RecipeViewSet(viewsets.ModelViewSet):
levels=levels) # TODO: make levels a user setting, included in request data?, keep solely in the backend?
return Response(self.serializer_class(qs, many=True).data)
@decorators.action(
detail=False,
methods=['GET'],
)
def flat(self, request):
return JsonResponse({'data': list(Recipe.objects.filter(space=request.space).filter(
Q(private=False) | (Q(private=True) & (Q(created_by=self.request.user) | Q(shared=self.request.user)))
).values_list('name', flat=True))})
class UnitConversionViewSet(viewsets.ModelViewSet):
queryset = UnitConversion.objects

View File

@@ -72,7 +72,7 @@
<script lang="ts">
import {defineComponent, PropType} from 'vue'
import {Ingredient, Recipe} from "@/openapi"
import {ApiApi, Ingredient, Recipe} from "@/openapi"
import KeywordsBar from "@/components/display/KeywordsBar.vue"
import NumberScalerDialog from "@/components/inputs/NumberScalerDialog.vue"
import IngredientsTable from "@/components/display/IngredientsTable.vue";
@@ -83,14 +83,20 @@ import RecipeActivity from "@/components/display/RecipeActivity.vue";
export default defineComponent({
name: "RecipeView",
components: {RecipeActivity, Step, StepsOverview, IngredientsTable, NumberScalerDialog, KeywordsBar},
computed: {
computed: {},
data() {
return {
}
},
props: {
recipe: {
type: Object as PropType<Recipe>,
required: true
}
},
mounted() {
},
methods: {}
})

View File

@@ -3781,6 +3781,32 @@ export class ApiApi extends runtime.BaseAPI {
return await response.value();
}
/**
*
*/
async flatRecipeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recipe>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/api/recipe/flat/`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue));
}
/**
*
*/
async flatRecipe(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recipe> {
const response = await this.flatRecipeRaw(initOverrides);
return await response.value();
}
/**
*
*/

File diff suppressed because one or more lines are too long