Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9461f44

Browse files
committed
fix "AttributeError: 'Request' object has no attribute 'user'"; add 1 test case for apijson-head
1 parentd2ab647 commit9461f44

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

‎tests/test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -864,4 +864,15 @@ def test_apijson_head():
864864
>>> d = json_loads(r.data)
865865
>>> print(d)
866866
{'code': 400, 'msg': "no login user for role 'ADMIN'"}
867+
868+
>>> #apijson head, without user and @role
869+
>>> data ='''{
870+
... "privacy": {
871+
... "id": 1
872+
... }
873+
... }'''
874+
>>> r = handler.post('/apijson/head', data=data, middlewares=[])
875+
>>> d = json_loads(r.data)
876+
>>> print(d)
877+
{'code': 400, 'msg': "role 'UNKNOWN' not have permission HEAD for 'privacy'"}
867878
"""

‎uliweb_apijson/apijson/views.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ def _get_one(self,key):
112112
roles=GET.get("roles")
113113
permission_check_ok=False
114114
ifnotparams_role:
115-
ifhasattr(request,"user"):
115+
ifhasattr(request,"user")andrequest.user:
116116
params_role="LOGIN"
117117
else:
118118
params_role="UNKNOWN"
119119
elifparams_role!="UNKNOWN":
120-
ifnothasattr(request,"user"):
120+
ifnot(hasattr(request,"user")andrequest.user):
121121
returnjson({"code":400,"msg":"no login user for role '%s'"%(params_role)})
122122
ifparams_rolenotinroles:
123123
returnjson({"code":400,"msg":"'%s' not accessible by role '%s'"%(model_name,params_role)})
@@ -290,15 +290,15 @@ def _head(self,key):
290290
roles=HEAD.get("roles")
291291
permission_check_ok=False
292292
ifnotparams_role:
293-
ifrequest.user:
293+
ifhasattr(request,"user")andrequest.user:
294294
params_role="LOGIN"
295295
else:
296296
params_role="UNKNOWN"
297297
ifparams_rolenotinroles:
298298
returnjson({"code":400,"msg":"role '%s' not have permission HEAD for '%s'"%(params_role,model_name)})
299299
ifparams_role=="UNKNOWN":
300300
permission_check_ok=True
301-
elifnothasattr(request,"user"):
301+
elifnot(hasattr(request,"user")andrequest.user):
302302
returnjson({"code":400,"msg":"no login user for role '%s'"%(params_role)})
303303
eliffunctions.has_role(request.user,params_role):
304304
permission_check_ok=True
@@ -387,7 +387,7 @@ def _post_one(self,key,tag):
387387
ifroles:
388388
forroleinroles:
389389
ifrole=="OWNER":
390-
ifrequest.user:
390+
ifhasattr(request,"user")andrequest.user:
391391
permission_check_ok=True
392392
ifuser_id_field:
393393
params[user_id_field]=request.user.id
@@ -506,7 +506,7 @@ def _put_one(self,key,tag):
506506
ifroles:
507507
forroleinroles:
508508
ifrole=="OWNER":
509-
ifrequest.user:
509+
ifhasattr(request,"user")andrequest.user:
510510
ifuser_id_field:
511511
ifobj.to_dict().get(user_id_field)==request.user.id:
512512
permission_check_ok=True
@@ -627,7 +627,7 @@ def _delete_one(self,key,tag):
627627
ifroles:
628628
forroleinroles:
629629
ifrole=="OWNER":
630-
ifrequest.user:
630+
ifhasattr(request,"user")andrequest.user:
631631
ifuser_id_field:
632632
ifobj.to_dict().get(user_id_field)==request.user.id:
633633
permission_check_ok=True

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp