1 from rest import ObjectRequest, error, success
3 from django.views.generic.base import TemplateView
4 from django.shortcuts import render_to_response
5 from django.http import HttpResponse
7 from unfold.loginrequired import LoginRequiredView
9 from manifold.core.query import Query, AnalyzedQuery
10 from manifoldapi.manifoldapi import execute_query
12 from myslice.settings import logger
14 def dispatch(request, object_type, object_name):
16 o = ObjectRequest(request, object_type, object_name)
18 if request.method == 'POST':
19 req_items = request.POST
20 elif request.method == 'GET':
21 #return error('only post request is supported')
22 req_items = request.GET
23 logger.debug(req_items)
24 for el in req_items.items():
26 logger.debug("#===============> {}".format(el))
27 if el[0].startswith('filters'):
28 o.filters[el[0][8:-1]] = el[1]
29 elif el[0].startswith('params'):
30 logger.debug("#======> 0 {}".format(el[0]))
31 logger.debug("#======> 1 {}".format(req_items.getlist(el[0])))
33 if (el[0][-2:] == '[]') :
34 # when receiving params[key][] = 'value1' ...
35 #o.params.append({el[0][7:-3]:",".join(req_items.getlist(el[0]))})
36 o.params.append({el[0][7:-3]:req_items.getlist(el[0])})
38 # when receiving params[key] = 'value'
39 o.params.append({el[0][7:-1]:el[1]})
41 logger.debug("o.params = {}".format(o.params))
43 elif el[0].startswith('fields'):
44 o.fields=req_items.getlist('fields[]')
45 elif el[0].startswith('options'):
46 o.options = req_items.getlist('options[]')
52 return success('record updated')
54 return error('an error has occurred')
57 return error("exception:"+str(e))