2016-08-19 21:24:23 +00:00
|
|
|
from ajax_select import register, LookupChannel
|
|
|
|
|
|
|
|
from core.views.site import search_user
|
2016-08-20 20:12:46 +00:00
|
|
|
from core.models import User, Group
|
|
|
|
from club.models import Club
|
2016-08-19 21:24:23 +00:00
|
|
|
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()
|
|
|
|
|
2016-08-20 20:12:46 +00:00
|
|
|
@register('groups')
|
|
|
|
class GroupsLookup(LookupChannel):
|
|
|
|
model = Group
|
|
|
|
|
|
|
|
def get_query(self, q, request):
|
|
|
|
return self.model.objects.filter(name__icontains=q)[:50]
|
|
|
|
|
|
|
|
def format_match(self, obj):
|
|
|
|
return obj.name
|
|
|
|
|
|
|
|
def format_item_display(self, item):
|
|
|
|
return item.name
|
|
|
|
|
|
|
|
@register('clubs')
|
|
|
|
class ClubLookup(LookupChannel):
|
|
|
|
model = Club
|
|
|
|
|
|
|
|
def get_query(self, q, request):
|
|
|
|
return self.model.objects.filter(name__icontains=q)[:50]
|
|
|
|
|
|
|
|
def format_match(self, obj):
|
|
|
|
return obj.name
|
|
|
|
|
|
|
|
def format_item_display(self, item):
|
|
|
|
return item.name
|
|
|
|
|
2016-08-19 21:24:23 +00:00
|
|
|
@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):
|
|
|
|
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
|