diff --git a/cookbook/helper/recipe_search.py b/cookbook/helper/recipe_search.py index a618efb1f..9a590480d 100644 --- a/cookbook/helper/recipe_search.py +++ b/cookbook/helper/recipe_search.py @@ -525,7 +525,7 @@ class RecipeSearch(): steps__ingredients__food__recipe__isnull=True), distinct=True), 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 1088fd7f5..fabc04fae 100644 --- a/vue/src/apps/RecipeSearchView/RecipeSearchView.vue +++ b/vue/src/apps/RecipeSearchView/RecipeSearchView.vue @@ -662,8 +662,14 @@ {{ $t("make_now") }} + @change="refreshData(false)" + class="shadow-none" switch style="width: 4em"/> + + + {{ $t("make_now_count") }} + @@ -1041,6 +1047,7 @@ export default { timescooked: undefined, timescooked_gte: true, makenow: false, + makenow_count: 0, cookedon: undefined, cookedon_gte: true, createdon: undefined, @@ -1518,6 +1525,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, @@ -1530,7 +1541,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 2828e747f..204df6285 100644 --- a/vue/src/locales/en.json +++ b/vue/src/locales/en.json @@ -362,6 +362,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",