|
@@ -39,14 +39,9 @@ from django.utils.encoding import force_unicode
|
|
|
from desktop.lib.rest.http_client import RestException
|
|
from desktop.lib.rest.http_client import RestException
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
LOG = logging.getLogger(__name__)
|
|
LOG = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
|
-def initial_collection(request, hue_collections):
|
|
|
|
|
- return hue_collections[0].id
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
def index(request):
|
|
def index(request):
|
|
|
hue_collections = SearchController(request.user).get_search_collections()
|
|
hue_collections = SearchController(request.user).get_search_collections()
|
|
|
collection_id = request.GET.get('collection')
|
|
collection_id = request.GET.get('collection')
|
|
@@ -67,7 +62,7 @@ def index(request):
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
|
|
+@allow_admin_only
|
|
|
def new_search(request):
|
|
def new_search(request):
|
|
|
collections = SearchController(request.user).get_solr_collection().keys()
|
|
collections = SearchController(request.user).get_solr_collection().keys()
|
|
|
if not collections:
|
|
if not collections:
|
|
@@ -92,7 +87,7 @@ def new_search(request):
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
|
|
+@allow_admin_only
|
|
|
def browse(request, name):
|
|
def browse(request, name):
|
|
|
collections = SearchController(request.user).get_solr_collection().keys()
|
|
collections = SearchController(request.user).get_solr_collection().keys()
|
|
|
if not collections:
|
|
if not collections:
|
|
@@ -120,7 +115,7 @@ def browse(request, name):
|
|
|
def search(request):
|
|
def search(request):
|
|
|
response = {}
|
|
response = {}
|
|
|
|
|
|
|
|
- collection = json.loads(request.POST.get('collection', '{}')) # TODO decorator with doc model perms
|
|
|
|
|
|
|
+ collection = json.loads(request.POST.get('collection', '{}'))
|
|
|
query = json.loads(request.POST.get('query', '{}'))
|
|
query = json.loads(request.POST.get('query', '{}'))
|
|
|
# todo: remove the selected histo facet if multiq
|
|
# todo: remove the selected histo facet if multiq
|
|
|
|
|
|
|
@@ -149,10 +144,11 @@ def search(request):
|
|
|
return HttpResponse(json.dumps(response), mimetype="application/json")
|
|
return HttpResponse(json.dumps(response), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+@allow_admin_only
|
|
|
def save(request):
|
|
def save(request):
|
|
|
response = {'status': -1}
|
|
response = {'status': -1}
|
|
|
|
|
|
|
|
- collection = json.loads(request.POST.get('collection', '{}')) # TODO perms decorator
|
|
|
|
|
|
|
+ collection = json.loads(request.POST.get('collection', '{}')) # TODO perms
|
|
|
layout = json.loads(request.POST.get('layout', '{}'))
|
|
layout = json.loads(request.POST.get('layout', '{}'))
|
|
|
|
|
|
|
|
if collection:
|
|
if collection:
|
|
@@ -219,7 +215,6 @@ def admin_collections(request, is_redirect=False):
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
@allow_admin_only
|
|
@allow_admin_only
|
|
|
def admin_collections_import(request):
|
|
def admin_collections_import(request):
|
|
|
if request.method == 'POST':
|
|
if request.method == 'POST':
|
|
@@ -308,7 +303,6 @@ def admin_collection_copy(request):
|
|
|
return HttpResponse(json.dumps(response), mimetype="application/json")
|
|
return HttpResponse(json.dumps(response), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
def query_suggest(request, collection_id, query=""):
|
|
def query_suggest(request, collection_id, query=""):
|
|
|
hue_collection = Collection.objects.get(id=collection_id)
|
|
hue_collection = Collection.objects.get(id=collection_id)
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
@@ -327,7 +321,6 @@ def query_suggest(request, collection_id, query=""):
|
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
def index_fields_dynamic(request):
|
|
def index_fields_dynamic(request):
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
|
|
|
|
|
@@ -350,7 +343,6 @@ def index_fields_dynamic(request):
|
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
def get_document(request):
|
|
def get_document(request):
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
|
|
|
|
|
@@ -372,7 +364,6 @@ def get_document(request):
|
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
def get_timeline(request):
|
|
def get_timeline(request):
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
|
|
|
|
|
@@ -419,12 +410,11 @@ def get_timeline(request):
|
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
|
|
|
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
def new_facet(request):
|
|
def new_facet(request):
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
|
- collection = json.loads(request.POST.get('collection', '{}'))
|
|
|
|
|
|
|
+ collection = json.loads(request.POST.get('collection', '{}')) # Perms
|
|
|
|
|
|
|
|
facet_id = request.POST['id']
|
|
facet_id = request.POST['id']
|
|
|
facet_label = request.POST['label']
|
|
facet_label = request.POST['label']
|
|
@@ -470,12 +460,12 @@ def new_facet(request):
|
|
|
|
|
|
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
return HttpResponse(json.dumps(result), mimetype="application/json")
|
|
|
|
|
|
|
|
-# TODO security
|
|
|
|
|
|
|
+
|
|
|
def get_range_facet(request):
|
|
def get_range_facet(request):
|
|
|
result = {'status': -1, 'message': 'Error'}
|
|
result = {'status': -1, 'message': 'Error'}
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
|
- collection = json.loads(request.POST.get('collection', '{}'))
|
|
|
|
|
|
|
+ collection = json.loads(request.POST.get('collection', '{}')) # Perms
|
|
|
facet = json.loads(request.POST.get('facet', '{}'))
|
|
facet = json.loads(request.POST.get('facet', '{}'))
|
|
|
action = request.POST.get('action', 'select')
|
|
action = request.POST.get('action', 'select')
|
|
|
|
|
|