diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-09-09 20:04:26 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-09-09 20:04:26 +0200 | 
| commit | b6f2dfaeca2bd8e507333b299985e1e3386f6689 (patch) | |
| tree | 7c7a7a01a5cf2be00a3e737341d65c18d264e7a7 /ishtar_common/views.py | |
| parent | 9fefb173a1c5a76df73dc5d5c94dcdb6f303990a (diff) | |
| download | Ishtar-b6f2dfaeca2bd8e507333b299985e1e3386f6689.tar.bz2 Ishtar-b6f2dfaeca2bd8e507333b299985e1e3386f6689.zip  | |
Add many fields to finds - associated migrations, forms and autocomplete view (refs #2784)
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 4f7adef39..c9211c219 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -136,6 +136,22 @@ account_management_wizard = wizards.AccountWizard.as_view(      url_name='account_management',) +def get_autocomplete_generic(model, extra={'available': True}): +    def func(request): +        q = request.GET.get('term') +        query = Q(**extra) +        for q in q.split(' '): +            if not q: +                continue +            query = query & Q(label__icontains=q) +        limit = 20 +        objects = model.objects.filter(query)[:limit] +        data = json.dumps([{'id': obj.pk, 'value': unicode(obj)} +                           for obj in objects]) +        return HttpResponse(data, mimetype='text/plain') +    return func + +  def update_current_item(request):      if not request.is_ajax() and not request.method == 'POST':          raise Http404  | 
