def class_view(request):
ctx = request.context
user_id = authenticated_userid(request) or Everyone
check = check_permissions(ctx, user_id, CrudPermissions.READ)
view = request.GET.get('view', None) or ctx.get_default_view() or 'id_only'
tombstones = asbool(request.GET.get('tombstones', False))
q = ctx.create_query(view == 'id_only', tombstones)
if check == IF_OWNED:
if user_id == Everyone:
raise HTTPUnauthorized()
q = ctx.get_target_class().restrict_to_owners(q, user_id)
if view == 'id_only':
return [ctx._class.uri_generic(x) for (x,) in q.all()]
else:
permissions = ctx.get_permissions()
r = [i.generic_json(view, user_id, permissions) for i in q.all()]
return [x for x in r if x is not None]
# @view_config(context=InstanceContext, renderer='json', name="jsonld",
# request_method='GET', permission=P_READ,
# accept="application/ld+json;q=0.9")
# @view_config(context=InstanceContext, renderer='json',
# request_method='GET', permission=P_READ,
# accept="application/ld+json;q=0.9")
评论列表
文章目录