def ejobs_view_get(request): if request.user.is_authenticated(): try: objs = M.ejob_get_gte_one(request.user.id,request.user.id) return render_to_response( 'cilab_ejobs/ejobs_view_get.html', { "ejobs": objs }, RequestContext(request) ) except: page403(request)
def get_results(request): if request.user.is_authenticated() and request.method == 'POST' and 'globalID' in request.POST: global_id = request.POST['globalID'] json_query = request.POST['query'] dataset_query = DatasetQuery(query=json_query, global_id=global_id) data = dataset_query.get_query_data(request.ticket) if data and len(data) > 0: return HttpResponse(status=200, content=json.dumps( { "header": data[0], "results": data[1:] }, sort_keys=False), content_type='application/json') else: return HttpResponse(status=500, content=json.dumps( { "message": "query response is empty", }, sort_keys=False), content_type='application/json') else: return page403(request)
def query_builder(request, global_id): """Home view """ if request.user.is_authenticated(): try: # getting the selected dataset using the resource UUID from uri dataset = Resource.objects.get(global_id=global_id) if not dataset.can_read(request.user): return page403(request) query_to_load = None dataset_query = None rel_datasets = [] if "q" in request.GET: try: dataset_query = DatasetQuery.objects.get(id=request.GET['q']) query_to_load= { "id" : dataset_query.id, "name": dataset_query.name, "query": json.loads(dataset_query.query) } except: request.session['errormessage'] = "The query you are looking for doesn't exist." redirect("query_builder",global_id=global_id) dataset.load_additional_metadata(request.ticket) endpoint = dataset.metadata.get('sparqlEndpoint',dataset.metadata['localID']) if 'read/sparql' not in endpoint: request.session['errormessage'] = "The dataset you are looking for is not supported with the new query builder. Please update and try again." endpoint = 'False' else: endpoint = 'True' # here, we get all related datasets to pass to the template # TODO load all datasets resources (rel_guids, rel_datasets) = \ DatasetQuery(global_id=global_id)\ .send_data_intersect_summary_with_metadata(request.ticket) return render_to_response( 'datasets/query_builder.html', {'dataset': dataset , "query_to_load": query_to_load, "query_list":request.user.datasetquery_set.all(), "endpoint":endpoint, "rel_datasets": rel_datasets, }, RequestContext(request) ) except Exception, e: # provably dataset not found or non-existent in the uri # so roughly prevent 500 fails logger.exception(e) return page404(request)
def get_dataset_schema(request): if request.method == 'GET' and 'global_id' in request.GET: global_id = request.GET['global_id'] dataset = Resource.objects.get(global_id=global_id) dataset.load_additional_metadata(request.ticket) else: return page403(request) return HttpResponse(status=200, content=json.dumps(dataset.metadata['schema'], sort_keys=False), content_type='application/json')
def delete_the_query(request): if request.user.is_authenticated() and request.method == 'POST' and 'globalID' in request.POST: query_id = request.POST['q'] dataset_query = DatasetQuery.objects.get(id=query_id) dataset_query.delete() return HttpResponse(status=200, content=json.dumps( { "deleted": True }, sort_keys=False), content_type='application/json') else: return page403(request)
def save_the_query(request): if request.user.is_authenticated() and request.method == 'POST' and 'globalID' in request.POST: global_id = request.POST['globalID'] json_query = request.POST['query'] name = request.POST['name'] dataset_query = DatasetQuery(name=name, query=json_query, global_id=global_id) dataset_query.save() dataset_query.user.add(request.user) dataset_query.save() return HttpResponse(status=200, content=json.dumps( { "saved": True, "id": dataset_query.id }, sort_keys=False), content_type='application/json') else: return page403(request)
def edit_the_query(request): if request.user.is_authenticated() and request.method == 'POST' and 'globalID' in request.POST: global_id = request.POST['globalID'] json_query = request.POST['query'] name = request.POST['name'] query_id = request.POST['q'] dataset_query = DatasetQuery.objects.get(id=query_id) dataset_query.name = name dataset_query.query = json_query dataset_query.global_id = global_id dataset_query.save() if request.user.username not in dataset_query.user.all().values_list('username', flat=True): dataset_query.user.add(request.user) dataset_query.save() return HttpResponse(status=200, content=json.dumps( { "saved": True, "id": dataset_query.id }, sort_keys=False), content_type='application/json') else: return page403(request)
'datasets/query_builder.html', {'dataset': dataset , "query_to_load": query_to_load, "query_list":request.user.datasetquery_set.all(), "endpoint":endpoint, "rel_datasets": rel_datasets, }, RequestContext(request) ) except Exception, e: # provably dataset not found or non-existent in the uri # so roughly prevent 500 fails logger.exception(e) return page404(request) return page403(request) @login_required def get_dataset_schema(request): if request.method == 'GET' and 'global_id' in request.GET: global_id = request.GET['global_id'] dataset = Resource.objects.get(global_id=global_id) dataset.load_additional_metadata(request.ticket) else: return page403(request) return HttpResponse(status=200, content=json.dumps(dataset.metadata['schema'], sort_keys=False), content_type='application/json') @login_required @csrf_exempt def get_results(request):