diff --git a/CTFd/api/v1/scoreboard.py b/CTFd/api/v1/scoreboard.py index bcb51937ca15da9def6d2de197692745da366d0b..f9a67f8a2ea45e5dac14f1d8f188c84b3cb3f94b 100644 --- a/CTFd/api/v1/scoreboard.py +++ b/CTFd/api/v1/scoreboard.py @@ -73,9 +73,15 @@ class ScoreboardList(Resource): for i, x in enumerate(standings): + potentialScore = 0 team_ids = [x.account_id for team in standings] fails = Fails.query.filter(Fails.account_id.in_(team_ids)) + + freeze = get_config("freeze") + if freeze: + fails = fails.filter(Fails.date < unix_time_to_utc(freeze)) + for fail in fails: challenge = Challenges.query.filter_by(id=fail.challenge_id).first_or_404() if challenge.type == "manual" or challenge.type == "manualRecursive" or challenge.type == "flash": diff --git a/CTFd/scoreboard.py b/CTFd/scoreboard.py index 854b84f8b05864bcbaa1614b73749a05459bf10c..5591c2e570d72d649c176ecd1e029e078580b59c 100644 --- a/CTFd/scoreboard.py +++ b/CTFd/scoreboard.py @@ -20,7 +20,7 @@ def listing(): infos = get_infos() if config.is_scoreboard_frozen(): - infos.append("Le classement a été gelé") + infos.append("Le classement a été gelé! Vous pouvez encore soumettre des défis, le classement sera mis à jour à la fin de l'évènement.") if is_admin() is True and scores_visible() is False: infos.append("Les scores ne sont pas actuellement visibles pour les utilisateurs") diff --git a/CTFd/teams.py b/CTFd/teams.py index 953281ac4697e0b27329bdbc7a6600fed5527d56..4a1f6bf67ffbb947b300d85ccf626bdd299de46d 100644 --- a/CTFd/teams.py +++ b/CTFd/teams.py @@ -390,7 +390,7 @@ def private(): score = team.get_score(admin=True) if config.is_scoreboard_frozen(): - infos.append("Le classement a été gelé") + infos.append("Le classement a été gelé! Vous pouvez encore soumettre des défis, le classement sera mis à jour à la fin de l'évènement.") return render_template( "teams/private.html", @@ -443,7 +443,7 @@ def public(team_id): return render_template("teams/public.html", team=team, errors=errors) if config.is_scoreboard_frozen(): - infos.append("Le classement a été gelé") + infos.append("Le classement a été gelé! Vous pouvez encore soumettre des défis, le classement sera mis à jour à la fin de l'évènement.") return render_template( "teams/public.html", diff --git a/CTFd/themes/core-beta/static/manifest.json b/CTFd/themes/core-beta/static/manifest.json index 587bd71025e81841db5031ee03fb70b2f0355a77..64d72ea0c0d3fc57fca556cea686abd5707c0bc9 100644 --- a/CTFd/themes/core-beta/static/manifest.json +++ b/CTFd/themes/core-beta/static/manifest.json @@ -189,5 +189,14 @@ "assets/js/index.js", "_index.84adcd49.js" ] + }, + "_CommentBox.2a5596be.js": { + "file": "assets/CommentBox.2a5596be.js", + "imports": [ + "assets/js/index.js" + ], + "css": [ + "assets/CommentBox.533f8693.css" + ] } } \ No newline at end of file diff --git a/CTFd/users.py b/CTFd/users.py index 7ff4302412d90d16676f18e72667bacb6ae7452c..ad724b982c550245c434a02dc00c0d794ff50a16 100644 --- a/CTFd/users.py +++ b/CTFd/users.py @@ -55,7 +55,7 @@ def private(): user = get_current_user() if config.is_scoreboard_frozen(): - infos.append("Le classement a été gelé") + infos.append("Le classement a été gelé! Vous pouvez encore soumettre des défis, le classement sera mis à jour à la fin de l'évènement.") return render_template( "users/private.html", @@ -75,7 +75,7 @@ def public(user_id): user = Users.query.filter_by(id=user_id, banned=False, hidden=False).first_or_404() if config.is_scoreboard_frozen(): - infos.append("Le classement a été gelé") + infos.append("Le classement a été gelé! Vous pouvez encore soumettre des défis, le classement sera mis à jour à la fin de l'évènement.") return render_template( "users/public.html", user=user, account=user.account, infos=infos, errors=errors