def index(request, is_mobile=False): engine = request.GET.get('engine', 'solr') cluster = request.POST.get('cluster', '""') collection_id = request.GET.get('collection') collections = get_engine( request.user, engine, cluster=cluster).datasets() if engine != 'report' else ['default'] if not collections: if engine == 'solr': return no_collections(request) else: return importer(request) try: collection_doc = Document2.objects.get(id=collection_id) if USE_NEW_EDITOR.get(): collection_doc.can_read_or_exception(request.user) else: collection_doc.doc.get().can_read_or_exception(request.user) collection = Collection2(request.user, document=collection_doc) except Exception as e: raise PopupException( e, title= _("Dashboard does not exist or you don't have the permission to access it." )) query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0} if request.method == 'GET': if 'q' in request.GET: query['qs'][0]['q'] = antixss(request.GET.get('q', '')) if 'qd' in request.GET: query['qd'] = antixss(request.GET.get('qd', '')) template = 'search.mako' if is_mobile: template = 'search_m.mako' engine = collection.data['collection'].get('engine', 'solr') return render( template, request, { 'collection': collection, 'query': json.dumps(query), 'initial': json.dumps({ 'collections': collections, 'layout': DEFAULT_LAYOUT, 'qb_layout': QUERY_BUILDER_LAYOUT, 'text_search_layout': TEXT_SEARCH_LAYOUT, 'is_latest': _get_latest(), 'engines': get_engines(request.user) }), 'is_owner': collection_doc.can_write(request.user) if USE_NEW_EDITOR.get() else collection_doc.doc.get().can_write(request.user), 'can_edit_index': can_edit_index(request.user), 'is_embeddable': request.GET.get('is_embeddable', False), 'mobile': is_mobile, 'is_report': collection.data['collection'].get('engine') == 'report' })
try: collection_doc = Document2.objects.get(id=collection_id) if USE_NEW_EDITOR.get(): collection_doc.can_read_or_exception(request.user) else: collection_doc.doc.get().can_read_or_exception(request.user) collection = Collection2(request.user, document=collection_doc) except Exception, e: raise PopupException(e, title=_("Dashboard does not exist or you don't have the permission to access it.")) query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0} if request.method == 'GET': if 'q' in request.GET: query['qs'][0]['q'] = antixss(request.GET.get('q', '')) if 'qd' in request.GET: query['qd'] = antixss(request.GET.get('qd', '')) template = 'search.mako' if is_mobile: template = 'search_m.mako' engine = collection.data['collection']['engine'] return render(template, request, { 'collection': collection, 'query': json.dumps(query), 'initial': json.dumps({ 'collections': [], 'layout': DEFAULT_LAYOUT, 'qb_layout': QUERY_BUILDER_LAYOUT, 'text_search_layout': TEXT_SEARCH_LAYOUT,