Merge pull request #2404 from ignas2526/feature/2402-make-now-count
Add ability to set maximum missing ingredient count
This commit is contained in:
@ -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_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))
|
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'))
|
self._queryset = self._queryset.distinct().filter(id__in=makenow_recipes.values('id'))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -558,14 +558,16 @@
|
|||||||
<b-input-group-append v-if="ui.show_makenow">
|
<b-input-group-append v-if="ui.show_makenow">
|
||||||
<b-input-group-text>
|
<b-input-group-text>
|
||||||
{{ $t("make_now") }}
|
{{ $t("make_now") }}
|
||||||
<b-form-checkbox
|
<b-form-checkbox v-model="search.makenow" name="check-button"
|
||||||
v-model="search.makenow"
|
@change="refreshData(false)"
|
||||||
name="check-button"
|
class="shadow-none" switch style="width: 4em"/>
|
||||||
@change="refreshData(false)"
|
</b-input-group-text>
|
||||||
class="shadow-none"
|
<b-input-group-text>
|
||||||
switch
|
<span>{{ $t("make_now_count") }}</span>
|
||||||
style="width: 4em"
|
<b-form-input type="number" min="0" max="20" v-model="search.makenow_count"
|
||||||
/>
|
@change="refreshData(false)"
|
||||||
|
size="sm" class="mt-1"></b-form-input>
|
||||||
|
|
||||||
</b-input-group-text>
|
</b-input-group-text>
|
||||||
</b-input-group-append>
|
</b-input-group-append>
|
||||||
</b-input-group>
|
</b-input-group>
|
||||||
@ -921,6 +923,7 @@ export default {
|
|||||||
timescooked: undefined,
|
timescooked: undefined,
|
||||||
timescooked_gte: true,
|
timescooked_gte: true,
|
||||||
makenow: false,
|
makenow: false,
|
||||||
|
makenow_count: 0,
|
||||||
cookedon: undefined,
|
cookedon: undefined,
|
||||||
cookedon_gte: true,
|
cookedon_gte: true,
|
||||||
createdon: undefined,
|
createdon: undefined,
|
||||||
@ -1233,6 +1236,7 @@ export default {
|
|||||||
this.search.pagination_page = 1
|
this.search.pagination_page = 1
|
||||||
this.search.timescooked = undefined
|
this.search.timescooked = undefined
|
||||||
this.search.makenow = false
|
this.search.makenow = false
|
||||||
|
this.search.make_now_count = 0
|
||||||
this.search.cookedon = undefined
|
this.search.cookedon = undefined
|
||||||
this.search.viewedon = undefined
|
this.search.viewedon = undefined
|
||||||
this.search.createdon = undefined
|
this.search.createdon = undefined
|
||||||
@ -1317,6 +1321,10 @@ export default {
|
|||||||
} else if (!this.search.timescooked_gte) {
|
} else if (!this.search.timescooked_gte) {
|
||||||
timescooked = timescooked * -1
|
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
|
// when a filter is selected - added search params will be added to the filter
|
||||||
params = {
|
params = {
|
||||||
...params,
|
...params,
|
||||||
@ -1329,7 +1337,7 @@ export default {
|
|||||||
internal: this.search.search_internal,
|
internal: this.search.search_internal,
|
||||||
random: this.random_search,
|
random: this.random_search,
|
||||||
timescooked: timescooked,
|
timescooked: timescooked,
|
||||||
makenow: this.search.makenow || undefined,
|
makenow: makenow,
|
||||||
cookedon: cookedon,
|
cookedon: cookedon,
|
||||||
createdon: createdon,
|
createdon: createdon,
|
||||||
updatedon: updatedon,
|
updatedon: updatedon,
|
||||||
|
@ -388,6 +388,7 @@
|
|||||||
"show_sortby": "Show Sort By",
|
"show_sortby": "Show Sort By",
|
||||||
"search_rank": "Search Rank",
|
"search_rank": "Search Rank",
|
||||||
"make_now": "Make Now",
|
"make_now": "Make Now",
|
||||||
|
"make_now_count": "At most missing ingredients",
|
||||||
"recipe_filter": "Recipe Filter",
|
"recipe_filter": "Recipe Filter",
|
||||||
"book_filter_help": "Include recipes from recipe filter in addition to manually assigned ones.",
|
"book_filter_help": "Include recipes from recipe filter in addition to manually assigned ones.",
|
||||||
"review_shopping": "Review shopping entries before saving",
|
"review_shopping": "Review shopping entries before saving",
|
||||||
|
Reference in New Issue
Block a user