summaryrefslogtreecommitdiff
path: root/commcrawler/lookups.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-07-31 10:46:50 +0200
committerÉtienne Loks <etienne@peacefrogs.net>2019-07-31 10:46:50 +0200
commitd2e3ce3fe1bca021190c8257367e8a444596724f (patch)
tree73d50da3dddea117777ecfeaad6926db0920b2c9 /commcrawler/lookups.py
parent345a41be0318da980422ee74a67c363008d4de8d (diff)
downloadComm-on-net-d2e3ce3fe1bca021190c8257367e8a444596724f.tar.bz2
Comm-on-net-d2e3ce3fe1bca021190c8257367e8a444596724f.zip
Models refactoring
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]
-