e5cc919a8ef85aea0eefef2e399dead4ed70ec23
[unfold.git] / rest / get.py
1 from __future__ import print_function
2
3 from django.shortcuts               import render_to_response
4
5 from unfold.loginrequired           import LoginRequiredView
6
7 from rest import ObjectRequest, error
8
9 from string import join
10
11 def dispatch(request, object_type, object_name):
12     
13     o = ObjectRequest(request, object_type, object_name)
14     
15     if request.method == 'POST':
16         req_items = request.POST
17     elif request.method == 'GET':
18         req_items = request.GET
19
20     for el in req_items.items():
21         if el[0].startswith('filters'):
22             o.filters[el[0][8:-1]] = el[1]
23         elif el[0].startswith('fields'):
24             print(req_items.getlist('fields[]'))
25             o.setFields(req_items.getlist('fields[]'))
26         elif el[0].startswith('options'):
27             o.options = req_items.getlist('options[]')
28
29     if request.path.split('/')[1] == 'rest' :
30         return o.json()
31     elif request.path.split('/')[1] == 'table' :
32         return render_to_response('table-default.html', {'data' : o.get(), 'fields' : o.fields, 'id' : o.id, 'options' : o.options})
33     elif request.path.split('/')[1] == 'datatable' :
34         return o.datatable()