2011-11-18 14:22:21 +00:00
|
|
|
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
|
2011-11-18 14:22:21 +00:00
|
|
|
|
|
|
|
class OwnerLookup(ModelLookup):
|
|
|
|
model = User
|
2012-10-02 22:47:52 +00:00
|
|
|
search_fields = ('username__icontains',)
|
2012-12-13 03:35:35 +00:00
|
|
|
|
|
|
|
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',)
|
|
|
|
|
2012-12-13 03:35:35 +00:00
|
|
|
registry.register(OwnerLookup)
|
2013-03-26 14:56:49 +00:00
|
|
|
registry.register(WorkLookup)
|
|
|
|
registry.register(PublisherNameLookup)
|