diff --git a/cookbook/helper/recipe_search.py b/cookbook/helper/recipe_search.py index 80f9e930..4f4ab855 100644 --- a/cookbook/helper/recipe_search.py +++ b/cookbook/helper/recipe_search.py @@ -549,7 +549,7 @@ class RecipeSearch(): ), has_child_sub=Case(When(steps__ingredients__food__in=self.__children_substitute_filter(shopping_users), then=Value(1)), default=Value(0)), has_sibling_sub=Case(When(steps__ingredients__food__in=self.__sibling_substitute_filter(shopping_users), then=Value(1)), default=Value(0)) - ).annotate(missingfood=F('count_food') - F('count_onhand') - F('count_ignore_shopping')).filter(missingfood=missing) + ).annotate(missingfood=F('count_food') - F('count_onhand') - F('count_ignore_shopping')).filter(missingfood__lte=missing) self._queryset = self._queryset.distinct().filter(id__in=makenow_recipes.values('id')) @staticmethod diff --git a/vue/src/apps/RecipeSearchView/RecipeSearchView.vue b/vue/src/apps/RecipeSearchView/RecipeSearchView.vue index cd93487f..d80fe4ef 100644 --- a/vue/src/apps/RecipeSearchView/RecipeSearchView.vue +++ b/vue/src/apps/RecipeSearchView/RecipeSearchView.vue @@ -558,14 +558,16 @@ {{ $t("make_now") }} - + + + + {{ $t("make_now_count") }} + + @@ -921,6 +923,7 @@ export default { timescooked: undefined, timescooked_gte: true, makenow: false, + makenow_count: 0, cookedon: undefined, cookedon_gte: true, createdon: undefined, @@ -1233,6 +1236,7 @@ export default { this.search.pagination_page = 1 this.search.timescooked = undefined this.search.makenow = false + this.search.make_now_count = 0 this.search.cookedon = undefined this.search.viewedon = undefined this.search.createdon = undefined @@ -1317,6 +1321,10 @@ export default { } else if (!this.search.timescooked_gte) { timescooked = timescooked * -1 } + let makenow = this.search.makenow || undefined + if (makenow !== undefined) { + makenow = parseInt(this.search.makenow_count) + } // when a filter is selected - added search params will be added to the filter params = { ...params, @@ -1329,7 +1337,7 @@ export default { internal: this.search.search_internal, random: this.random_search, timescooked: timescooked, - makenow: this.search.makenow || undefined, + makenow: makenow, cookedon: cookedon, createdon: createdon, updatedon: updatedon, diff --git a/vue/src/locales/en.json b/vue/src/locales/en.json index dd58d8b8..82d48df7 100644 --- a/vue/src/locales/en.json +++ b/vue/src/locales/en.json @@ -388,6 +388,7 @@ "show_sortby": "Show Sort By", "search_rank": "Search Rank", "make_now": "Make Now", + "make_now_count": "At most missing ingredients", "recipe_filter": "Recipe Filter", "book_filter_help": "Include recipes from recipe filter in addition to manually assigned ones.", "review_shopping": "Review shopping entries before saving",