diff --git a/core/lookups.py b/core/lookups.py new file mode 100644 index 00000000..1e061674 --- /dev/null +++ b/core/lookups.py @@ -0,0 +1,39 @@ +from ajax_select import register, LookupChannel + +from core.views.site import search_user +from core.models import User +from counter.models import Product, Counter + +@register('users') +class UsersLookup(LookupChannel): + model = User + + def get_query(self, q, request): + return search_user(q) + + def format_match(self, obj): + return obj.get_mini_item() + + def format_item_display(self, item): + return item.get_display_name() + +@register('counters') +class CountersLookup(LookupChannel): + model = Counter + + def get_query(self, q, request): + return self.model.objects.filter(name__icontains=q)[:50] + + def format_item_display(self, item): + return item.name + +@register('products') +class ProductsLookup(LookupChannel): + model = Product + + def get_query(self, q, request): + print(request.__dict__) + return (self.model.objects.filter(name__icontains=q) | self.model.objects.filter(code__icontains=q))[:50] + + def format_item_display(self, item): + return item.name diff --git a/core/models.py b/core/models.py index 62c3a3d5..c3135377 100644 --- a/core/models.py +++ b/core/models.py @@ -351,6 +351,20 @@ class User(AbstractBaseUser): def can_be_edited_by(self, user): return user.is_in_group(settings.SITH_MAIN_BOARD_GROUP) or user.is_root + def get_mini_item(self): + return """ +