mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 22:14:25 +01:00
Max attmpts (#227)
* Making max_attempts use the Challenge value instead of the Config value
This commit is contained in:
@@ -24,7 +24,7 @@ def admin_chal_types():
|
||||
@admins_only
|
||||
def admin_chals():
|
||||
if request.method == 'POST':
|
||||
chals = Challenges.query.add_columns('id', 'name', 'value', 'description', 'category', 'hidden').order_by(Challenges.value).all()
|
||||
chals = Challenges.query.add_columns('id', 'name', 'value', 'description', 'category', 'hidden', 'max_attempts').order_by(Challenges.value).all()
|
||||
|
||||
teams_with_points = db.session.query(Solves.teamid).join(Teams).filter(
|
||||
Teams.banned == False).group_by(Solves.teamid).count()
|
||||
@@ -45,6 +45,7 @@ def admin_chals():
|
||||
'description': x.description,
|
||||
'category': x.category,
|
||||
'hidden': x.hidden,
|
||||
'max_attempts': x.max_attempts,
|
||||
'percentage_solved': percentage
|
||||
})
|
||||
|
||||
@@ -145,6 +146,11 @@ def admin_create_chal():
|
||||
chal.hidden = True
|
||||
else:
|
||||
chal.hidden = False
|
||||
|
||||
max_attempts = request.form.get('max_attempts')
|
||||
if max_attempts and max_attempts.isdigit():
|
||||
chal.max_attempts = int(max_attempts)
|
||||
|
||||
db.session.add(chal)
|
||||
db.session.flush()
|
||||
|
||||
@@ -191,7 +197,8 @@ def admin_update_chal():
|
||||
challenge = Challenges.query.filter_by(id=request.form['id']).first_or_404()
|
||||
challenge.name = request.form['name']
|
||||
challenge.description = request.form['desc']
|
||||
challenge.value = request.form['value']
|
||||
challenge.value = int(request.form.get('value', 0)) if request.form.get('value', 0) else 0
|
||||
challenge.max_attempts = int(request.form.get('max_attempts', 0)) if request.form.get('max_attempts', 0) else 0
|
||||
challenge.category = request.form['category']
|
||||
challenge.hidden = 'hidden' in request.form
|
||||
db.session.add(challenge)
|
||||
|
||||
Reference in New Issue
Block a user