app/soc/views/models/base.py
changeset 977 d212d5f4c41a
parent 973 f9c2b32b9e2b
child 1017 6ad4fdb48840
--- a/app/soc/views/models/base.py	Sun Jan 25 11:31:40 2009 +0000
+++ b/app/soc/views/models/base.py	Sun Jan 25 11:44:25 2009 +0000
@@ -24,6 +24,8 @@
   ]
 
 
+import simplejson
+
 from django import http
 from django.utils.translation import ugettext
 
@@ -566,8 +568,10 @@
       params: a dict with params for this View
     """
 
+    if not simplejson:
+      raise Exception("Simplejson not installed")
+
     get_dict = request.GET
-    filter = {}
 
     # scope_path is not required
     scope_path = get_dict.get('scope_path', None)
@@ -575,11 +579,26 @@
     field = get_dict['field']
 
     if scope_path:
+      filter = {}
       filter['scope_path'] = scope_path
+      data = data = self._logic.getForFields(filter)
+    else:
+      data = self._logic.getForLimitAndOffset(1000)
+
+    data = [i.toDict() for i in data]
 
-    redirect = redirects.getReturnRedirect(return_url, field)
-    return self.select(request, self, redirect, page_name=page_name,
-                       params=params, filter=filter)
+    to_json = {
+        'data': data,
+        'return_url': return_url,
+        'field': field,
+        }
+
+    json = simplejson.dumps(to_json)
+
+    context = {'json': json}
+    template = 'soc/json.html'
+
+    return helper.responses.respond(request, template, context)
 
   def _editPost(self, request, entity, fields):
     """Performs any required processing on the entity to post its edit page.