summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index eef3440bc..4be1ec144 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -53,6 +53,25 @@ CURRENT_ITEM_KEYS = (('file', File),
CURRENT_ITEM_KEYS_DICT = dict(CURRENT_ITEM_KEYS)
+def get_autocomplete_item(model, extra=None):
+ if not extra:
+ extra = {}
+
+ def func(request, current_right=None):
+ q = request.GET.get('term') or ""
+ query = Q(**extra)
+ for q in q.split(' '):
+ if not q:
+ continue
+ query = query & Q(cached_label__icontains=q)
+ limit = 20
+ objects = model.objects.filter(query)[:limit]
+ data = json.dumps([{'id': obj.pk, 'value': obj.cached_label}
+ for obj in objects])
+ return HttpResponse(data, content_type='text/plain')
+ return func
+
+
def check_permission(request, action_slug, obj_id=None):
MAIN_MENU = Menu(None)
MAIN_MENU.init()