def add_query(request): try: user = authenticate_api_request(request) authorize_user(user, request, "add") query = Query() query.name = get_json_post_or_error('queryName',request) query.creator = user#get_json_or_error('queryName',request) query.proximity = get_json_post_or_error('proximityWeight',request) query.price = get_json_post_or_error('priceWeight',request) query.value = get_json_post_or_error('valueWeight',request) query.score = get_json_post_or_error('scoreWeight',request) query.userHasVisited = get_json_post_or_error('userHasVisited',request) query.text = get_json_post_or_error('searchText',request) query.networked = get_json_post_or_error('networked',request) query.deal = get_json_post_or_error('deal',request) query.is_default = False# get_json_or_error('deal',request) query.save() if 'queryTags' not in request.POST: return server_error("Categories did not provide a list") categoryList = request.POST.getlist('queryCategories') for c in categoryList: if Tag.objects.filter(id=c).count() == 0: return server_error("Invalid Category provided") cat = Tag.objects.get(id=c) QueryTag.objects.create(query=query,tag=cat) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) except: return server_error("Could not save the object") data = get_query_data(query,user) return server_data(data)
def get_query(request,oid): try: user = authenticate_api_request(request) authorize_user(user, request, "get") query = Query.objects.get(id=oid) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) except: return server_error("Query with ID "+str(oid)+" not found") data = get_query_data(query,user) return server_data(data)