summaryrefslogtreecommitdiff
path: root/commcrawler/lookups.py
diff options
context:
space:
mode:
Diffstat (limited to 'commcrawler/lookups.py')
-rw-r--r--commcrawler/lookups.py41
1 files changed, 6 insertions, 35 deletions
diff --git a/commcrawler/lookups.py b/commcrawler/lookups.py
index f8d4897..106a69a 100644
--- a/commcrawler/lookups.py
+++ b/commcrawler/lookups.py
@@ -1,28 +1,15 @@
-from ajax_select import register, LookupChannel as BaseLookupChannel
+from ajax_select import register
from django.db.models import Q
-from . import models
-
-
-class LookupChannel(BaseLookupChannel):
- def get_objects(self, items):
- # TODO: why IDs are not given here? M2M issue
- ids = []
- for item in items:
- if hasattr(item, 'pk'):
- ids.append(item.pk)
- else:
- ids.append(item)
- return super(LookupChannel, self).get_objects(ids)
+from commorganization.lookups import LookupChannel
- def format_item_display(self, item):
- return u"<span class='ajax-label'>%s</span>" % str(item)
+from . import models
-@register('organization')
-class OrganizationLookup(LookupChannel):
- model = models.Organization
+@register('target')
+class TargetLookup(LookupChannel):
+ model = models.Target
def get_query(self, q, request):
query = Q()
@@ -31,19 +18,3 @@ class OrganizationLookup(LookupChannel):
query &= subquery
return self.model.objects.filter(query).order_by('name')[:20]
-
-@register('area')
-class AreaLookup(LookupChannel):
- model = models.Area
-
- def get_query(self, q, request):
- query = Q()
- for term in q.strip().split(' '):
- subquery = (
- Q(name__icontains=term) |
- Q(parent__name__icontains=term) |
- Q(reference=term)
- )
- query &= subquery
- return self.model.objects.filter(query).order_by('name')[:20]
-