diff options
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 |
commit | e946d15e8532c40e9581b539691179e8b9dbfa9c (patch) | |
tree | bf633d5f57baab695160ed4bb949c8ab77c27ce8 /ishtar/ishtar_base/views.py | |
parent | d66686f332337211929ddb505eeab8eff42cd4e4 (diff) | |
download | Ishtar-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.py | 24 |
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): """ |