helper/dal
This commit is contained in:
@ -1,14 +1,16 @@
|
|||||||
|
from cookbook.models import Food, Keyword, Recipe, Unit
|
||||||
|
|
||||||
from dal import autocomplete
|
from dal import autocomplete
|
||||||
|
|
||||||
from cookbook.models import Keyword, Recipe, Unit, Food
|
|
||||||
|
|
||||||
|
class BaseAutocomplete(autocomplete.Select2QuerySetView):
|
||||||
|
model = None
|
||||||
|
|
||||||
class KeywordAutocomplete(autocomplete.Select2QuerySetView):
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
if not self.request.user.is_authenticated:
|
if not self.request.user.is_authenticated:
|
||||||
return Keyword.objects.none()
|
return self.model.objects.none()
|
||||||
|
|
||||||
qs = Keyword.objects.all()
|
qs = self.model.objects.all()
|
||||||
|
|
||||||
if self.q:
|
if self.q:
|
||||||
qs = qs.filter(name__istartswith=self.q)
|
qs = qs.filter(name__istartswith=self.q)
|
||||||
@ -16,40 +18,17 @@ class KeywordAutocomplete(autocomplete.Select2QuerySetView):
|
|||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
class IngredientsAutocomplete(autocomplete.Select2QuerySetView):
|
class KeywordAutocomplete(BaseAutocomplete):
|
||||||
def get_queryset(self):
|
model = Keyword
|
||||||
if not self.request.user.is_authenticated:
|
|
||||||
return Food.objects.none()
|
|
||||||
|
|
||||||
qs = Food.objects.all()
|
|
||||||
|
|
||||||
if self.q:
|
|
||||||
qs = qs.filter(name__icontains=self.q)
|
|
||||||
|
|
||||||
return qs
|
|
||||||
|
|
||||||
|
|
||||||
class RecipeAutocomplete(autocomplete.Select2QuerySetView):
|
class IngredientsAutocomplete(BaseAutocomplete):
|
||||||
def get_queryset(self):
|
model = Food
|
||||||
if not self.request.user.is_authenticated:
|
|
||||||
return Recipe.objects.none()
|
|
||||||
|
|
||||||
qs = Recipe.objects.all()
|
|
||||||
|
|
||||||
if self.q:
|
|
||||||
qs = qs.filter(name__icontains=self.q)
|
|
||||||
|
|
||||||
return qs
|
|
||||||
|
|
||||||
|
|
||||||
class UnitAutocomplete(autocomplete.Select2QuerySetView):
|
class RecipeAutocomplete(BaseAutocomplete):
|
||||||
def get_queryset(self):
|
model = Recipe
|
||||||
if not self.request.user.is_authenticated:
|
|
||||||
return Unit.objects.none()
|
|
||||||
|
|
||||||
qs = Unit.objects.all()
|
|
||||||
|
|
||||||
if self.q:
|
class UnitAutocomplete(BaseAutocomplete):
|
||||||
qs = qs.filter(name__icontains=self.q)
|
model = Unit
|
||||||
|
|
||||||
return qs
|
|
||||||
|
Reference in New Issue
Block a user