summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-01 20:56:07 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-01 20:56:07 +0200
commite946d15e8532c40e9581b539691179e8b9dbfa9c (patch)
treebf633d5f57baab695160ed4bb949c8ab77c27ce8 /ishtar/ishtar_base/views.py
parentd66686f332337211929ddb505eeab8eff42cd4e4 (diff)
downloadIshtar-e946d15e8532c40e9581b539691179e8b9dbfa9c.tar.bz2
Ishtar-e946d15e8532c40e9581b539691179e8b9dbfa9c.zip
Work on warehouse packaging (refs #500)
Diffstat (limited to 'ishtar/ishtar_base/views.py')
-rw-r--r--ishtar/ishtar_base/views.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py
index a48912eeb..d4d82ac9f 100644
--- a/ishtar/ishtar_base/views.py
+++ b/ishtar/ishtar_base/views.py
@@ -549,6 +549,29 @@ def autocomplete_author(request):
for author in authors])
return HttpResponse(data, mimetype='text/plain')
+def autocomplete_container(request):
+ if not request.user.has_perm('ishtar_base.view_warehouse',
+ models.Warehouse)\
+ and not request.user.has_perm('ishtar_base.view_own_warehouse',
+ models.Warehouse):
+ return HttpResponse(mimetype='text/plain')
+ if not request.GET.get('term'):
+ return HttpResponse(mimetype='text/plain')
+ q = request.GET.get('term')
+ query = Q()
+ for q in q.split(' '):
+ extra = Q(container_type__label__icontains=q) | \
+ Q(container_type__reference__icontains=q) | \
+ Q(reference__icontains=q) | \
+ Q(location__name=q) | \
+ Q(location__town=q)
+ query = query & extra
+ limit = 15
+ containers = models.Container.objects.filter(query)[:limit]
+ data = json.dumps([{'id':container.pk, 'value':unicode(container)}
+ for container in containers])
+ return HttpResponse(data, mimetype='text/plain')
+
def new_item(model):
def func(request, parent_name):
model_name = model._meta.object_name
@@ -580,6 +603,7 @@ new_warehouse = new_item(models.Warehouse)
new_person = new_item(models.Person)
new_organization = new_item(models.Organization)
new_author = new_item(models.Author)
+new_container = new_item(models.Container)
def action(request, action_slug, obj_id=None, *args, **kwargs):
"""