Registration: platform_id is not 5 ! It's platform = myslice - Will be changed later...
[myslice.git] / rest / __init__.py
index 39235b0..bdf3ee0 100644 (file)
@@ -27,6 +27,7 @@ class ObjectRequest(object):
         self.type = object_type
         self.name = object_name
         self.fields = []
+        self.params = []
         self.filters = {}
         self.options = None
 
@@ -65,11 +66,11 @@ class ObjectRequest(object):
             raise Exception, 'Manifold db error'
     
     def setFields(self, fields):
-        selected_fields = []
-        for p in fields :
-            if p in self.fields :
-                selected_fields.append(p)
-        self.fields = selected_fields
+        selected_fields = []
+        for p in fields :
+            if p in self.fields :
+                selected_fields.append(p)
+        self.fields = fields
         
     
     def applyFilters(self, query, force_filters = False):
@@ -100,23 +101,37 @@ class ObjectRequest(object):
         
         query = self.applyFilters(query)
         return execute_query(self.request, query)
-    
+
+    def create(self):
+        query = Query.create(self.type)
+        # No filters for create
+        if self.params :
+            query.set(self.params)
+        else:
+            raise Exception, "Params are required for create"
+        return execute_query(self.request, query)
+   
     def update(self):
         query = Query.update(self.type)
         query = self.applyFilters(query, True)
+        print ">>>>>",self.params
+        
         if self.params :
-            query.set(self.params)
+            query.set({ 'resource' : self.params})
+#             for param in self.params :
+                
         else:
             raise Exception, "Params are required for update"
+        
         return execute_query(self.request, query)
     
     def delete(self):
         query = Query.delete(self.type)
         query = self.applyFilters(query, True)
-        if self.params :
-            query.set(self.params)
+        if self.filters :
+            query.set(self.filters)
         else:
-            raise Exception, "Params are required for update"
+            raise Exception, "Filters are required for update"
         return execute_query(self.request, query)
     
     def json(self):
@@ -134,7 +149,7 @@ class ObjectRequest(object):
             for p in self.fields :
                 d.append(r[p])
             response_data['data'].append(d)
-         
+        
         return HttpResponse(json.dumps(response_data, cls=DecimalEncoder, default=DateEncoder), content_type="application/json")
 
 def error(msg):