views.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:TonsleyLEDManager 作者: JonnoFTW 项目源码 文件源码
def show_group(request):
    # a regular user will have their groups listed
    # admin will see all groups
    user = request.user
    group = request.db_session.query(LedGroup).filter(LedGroup.id == request.matchdict['group_id']).first()

    users = request.db_session.query(LedGroupUser).filter(LedGroupUser.led_group == group).all()
    if not (user.admin or user.id in pluck(users, 'led_user_id')):
        raise exc.HTTPForbidden("Only site admins or group members can view this")
    schedule = request.db_session.query(LedSchedule).filter(LedSchedule.led_group == group).order_by(LedSchedule.position.asc()).all()
    subquery = request.db_session.query(LedGroupUser.led_user_id).filter(LedGroupUser.led_group == group)
    other_users = request.db_session.query(LedUser).filter(~LedUser.id.in_(subquery))
    subquery = request.db_session.query(LedSchedule.led_plugin_id).filter(LedSchedule.led_group == group)
    # other_plugins = request.db_session.query(LedPlugin).filter(~LedPlugin.id.in_(subquery))
    other_plugins = request.db_session.query(LedPlugin)
    return {
        'group': group,
        'users': users,
        'schedule': schedule,
        'other_users': other_users,
        'other_plugins': other_plugins,
        'group_admin': can_modify_group(request, group.id, False)
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号