コード例 #1
0
ファイル: users.py プロジェクト: skilincer/CTFd
    def get(self, user_id):
        if user_id == "me":
            if not authed():
                abort(403)
            user = get_current_user()
            fails = user.get_fails(admin=True)
        else:
            if accounts_visible() is False or scores_visible() is False:
                abort(404)
            user = Users.query.filter_by(id=user_id).first_or_404()

            if (user.banned or user.hidden) and is_admin() is False:
                abort(404)
            fails = user.get_fails(admin=is_admin())

        view = "user" if not is_admin() else "admin"
        response = SubmissionSchema(view=view, many=True).dump(fails)
        if response.errors:
            return {"success": False, "errors": response.errors}, 400

        if is_admin():
            data = response.data
        else:
            data = []
        count = len(response.data)

        return {"success": True, "data": data, "meta": {"count": count}}
コード例 #2
0
ファイル: users.py プロジェクト: mrigank-9594/srhctf_
    def get(self, user_id):
        if user_id == 'me':
            if not authed():
                abort(403)
            user = get_current_user()
        else:
            if accounts_visible() is False or scores_visible() is False:
                abort(404)
            user = Users.query.filter_by(id=user_id).first_or_404()

            if (user.banned or user.hidden) and is_admin() is False:
                abort(404)

        fails = user.get_fails(admin=is_admin())

        view = 'user' if not is_admin() else 'admin'
        response = SubmissionSchema(view=view, many=True).dump(fails)
        if response.errors:
            return {'success': False, 'errors': response.errors}, 400

        if is_admin():
            data = response.data
        else:
            data = []
        count = len(response.data)

        return {'success': True, 'data': data, 'meta': {'count': count}}
コード例 #3
0
    def get(self, user_id):
        if user_id == 'me':
            if not authed():
                abort(403)
            user = get_current_user()
        else:
            if accounts_visible() is False or scores_visible() is False:
                abort(404)
            user = Users.query.filter_by(id=user_id).first_or_404()

        awards = user.get_awards(admin=is_admin())

        view = 'user' if not is_admin() else 'admin'
        response = AwardSchema(view=view, many=True).dump(awards)

        if response.errors:
            return {'success': False, 'errors': response.errors}, 400

        return {'success': True, 'data': response.data}
コード例 #4
0
    def get(self, user_id):
        if user_id == 'me':
            if not authed():
                abort(403)
            user = get_current_user()
        else:
            if accounts_visible() is False or scores_visible() is False:
                abort(404)
            user = Users.query.filter_by(id=user_id).first_or_404()

        solves = user.get_solves(admin=is_admin())
        for solve in solves:
            setattr(solve, 'value', 100)

        view = 'user' if not is_admin() else 'admin'
        response = SubmissionSchema(view=view, many=True).dump(solves)

        if response.errors:
            return {'success': False, 'errors': response.errors}, 400

        return {'success': True, 'data': response.data}
コード例 #5
0
ファイル: users.py プロジェクト: skilincer/CTFd
    def get(self, user_id):
        if user_id == "me":
            if not authed():
                abort(403)
            user = get_current_user()
            awards = user.get_awards(admin=True)
        else:
            if accounts_visible() is False or scores_visible() is False:
                abort(404)
            user = Users.query.filter_by(id=user_id).first_or_404()

            if (user.banned or user.hidden) and is_admin() is False:
                abort(404)
            awards = user.get_awards(admin=is_admin())

        view = "user" if not is_admin() else "admin"
        response = AwardSchema(view=view, many=True).dump(awards)

        if response.errors:
            return {"success": False, "errors": response.errors}, 400

        return {"success": True, "data": response.data}