regluit/core/lookups.py

30 lines
938 B
Python
Raw Normal View History

from selectable.base import ModelLookup
from selectable.registry import registry
from django.contrib.auth.models import User
2013-03-26 14:56:49 +00:00
from regluit.core.models import Work, PublisherName
class OwnerLookup(ModelLookup):
model = User
search_fields = ('username__icontains',)
class WorkLookup(ModelLookup):
model = Work
search_fields = ('title__istartswith',)
filters = {'language': 'en', }
def get_item_label(self,item):
return "%s (%s)"%(item.title,item.id)
def get_query(self, request, term):
results = super(WorkLookup, self).get_query(request, term)
language = request.GET.get('language', 'en')
results = results.filter(language=language)
return results
2013-03-26 14:56:49 +00:00
class PublisherNameLookup(ModelLookup):
model = PublisherName
search_fields = ('name__icontains',)
registry.register(OwnerLookup)
2013-03-26 14:56:49 +00:00
registry.register(WorkLookup)
registry.register(PublisherNameLookup)