Skip to content

Commit 0437e9d

Browse files
committed
more strict check with model name in get action; fix request_tag should get with tag not with model name
1 parent c3e149c commit 0437e9d

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

uliweb_apijson/apijson/views.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,8 @@ def _get_array(self,key):
208208
name = n[:-1]
209209
if hasattr(model,name):
210210
q = q.filter(getattr(model.c,name).like(model_param[n]))
211+
else:
212+
return json({"code":400,"msg":"'%s' does not have '%s'"%(modelname,name)})
211213
elif n[-1]=="}" and n[-2]=="{":
212214
name = n[:-2]
213215
if hasattr(model,name):
@@ -370,10 +372,9 @@ def _post_one(self,key,tag):
370372
log.error("try to find model '%s' but not found: '%s'"%(model_name,e))
371373
return json({"code":400,"msg":"model '%s' not found"%(model_name)})
372374

373-
request_tag_config = request_tag.get(model_name,{})
374-
if not request_tag_config:
375+
if not request_tag:
375376
return json({"code":400,"msg":"tag '%s' not found"%(tag)})
376-
tag_POST = request_tag_config.get("POST",{})
377+
tag_POST = request_tag.get("POST",{})
377378
if not tag_POST:
378379
return json({"code":400,"msg":"tag '%s' not support apijson_post"%(tag)})
379380
ADD = tag_POST.get("ADD")
@@ -482,10 +483,9 @@ def _put_one(self,key,tag):
482483
log.error("try to find model '%s' but not found: '%s'"%(model_name,e))
483484
return json({"code":400,"msg":"model '%s' not found"%(model_name)})
484485

485-
request_tag_config = request_tag.get(model_name,{})
486-
if not request_tag_config:
486+
if not request_tag:
487487
return json({"code":400,"msg":"tag '%s' not found"%(tag)})
488-
tag_PUT = request_tag_config.get("PUT",{})
488+
tag_PUT = request_tag.get("PUT",{})
489489
ADD = tag_PUT.get("ADD")
490490
if ADD:
491491
ADD_role = ADD.get("@role")
@@ -604,10 +604,9 @@ def _delete_one(self,key,tag):
604604
log.error("try to find model '%s' but not found: '%s'"%(model_name,e))
605605
return json({"code":400,"msg":"model '%s' not found"%(model_name)})
606606

607-
request_tag_config = request_tag.get(model_name,{})
608-
if not request_tag_config:
607+
if not request_tag:
609608
return json({"code":400,"msg":"tag '%s' not found"%(tag)})
610-
tag_DELETE = request_tag_config.get("DELETE",{})
609+
tag_DELETE = request_tag.get("DELETE",{})
611610
ADD = tag_DELETE.get("ADD")
612611
if ADD:
613612
ADD_role = ADD.get("@role")

0 commit comments

Comments
 (0)