99@expose ('/apijson' )
1010class ApiJson (object ):
1111 def __begin__ (self ):
12+ self .rdict = {
13+ "code" :200 ,
14+ "msg" :"success"
15+ }
16+
1217 try :
1318 self .request_data = loads (request .data )
1419 except Exception as e :
1520 log .error ("try to load json but get exception: '%s', request data: %s" % (e ,request .data ))
1621 return json ({"code" :400 ,"msg" :"not json data in the request" })
1722
1823 def get (self ):
19- self .rdict = {
20- "code" :200 ,
21- "msg" :"success"
22- }
2324 for key in self .request_data :
2425 if key [- 2 :]== "[]" :
2526 rsp = self ._query_array (key )
@@ -44,7 +45,7 @@ def _query_one(self,key):
4445 if not public :
4546 if not request .user :
4647 return json ({"code" :401 ,"msg" :"'%s' not accessable for unauthorized request" % (modelname )})
47- owner_filtered ,q = self ._filter_owner (model ,q )
48+ owner_filtered ,q = self ._filter_owner (model ,model_setting , q )
4849 if owner_filtered :
4950 filtered = True
5051 else :
@@ -157,7 +158,7 @@ def _query_array(self,key):
157158 if not public :
158159 if not request .user :
159160 return json ({"code" :401 ,"msg" :"'%s' not accessable for unauthorized request" % (modelname )})
160- owner_filtered ,q = self ._filter_owner (model ,q )
161+ owner_filtered ,q = self ._filter_owner (model ,model_setting , q )
161162 if not owner_filtered :
162163 return json ({"code" :401 ,"msg" :"'%s' not accessable because not public" % (modelname )})
163164
@@ -175,7 +176,7 @@ def _get_info(i):
175176 l = [_get_info (i ) for i in q ]
176177 self .rdict [key ] = l
177178
178- def _filter_owner (model ,q ):
179+ def _filter_owner (self , model , model_setting ,q ):
179180 owner_filtered = False
180181 if hasattr (model ,"owner_condition" ):
181182 q = q .filter (model .owner_condition ())
@@ -186,3 +187,6 @@ def _filter_owner(model,q):
186187 q = q .filter (getattr (model .c ,user_id_field )== request .user .id )
187188 owner_filtered = True
188189 return owner_filtered ,q
190+
191+ def post (self ):
192+ return json (self .rdict )
0 commit comments