Files
CTFd/CTFd/challenges.py
Kevin Chung 5a14cc2040 Re add view after ctf (#774)
* Re-add view_after_ctf configuration
* Add test for view_after_ctf functionality
2018-12-01 20:24:39 -05:00

37 lines
1.0 KiB
Python

from flask import (
render_template,
Blueprint,
)
from CTFd.utils.decorators import (
during_ctf_time_only,
require_verified_emails,
ratelimit,
require_team
)
from CTFd.utils.decorators.visibility import check_challenge_visibility
from CTFd.utils import config, text_type, user as current_user, get_config
from CTFd.utils.dates import ctf_paused, view_after_ctf
from CTFd.utils.helpers import get_errors, get_infos
challenges = Blueprint('challenges', __name__)
@challenges.route('/challenges', methods=['GET'])
@during_ctf_time_only
@require_verified_emails
@check_challenge_visibility
@require_team
def listing():
infos = get_infos()
errors = get_errors()
start = get_config('start') or 0
end = get_config('end') or 0
if ctf_paused():
infos.append('{} is paused'.format(config.ctf_name()))
if view_after_ctf():
infos.append('{} has ended'.format(config.ctf_name()))
return render_template('challenges.html', infos=infos, errors=errors, start=int(start), end=int(end))