diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index db8b9855e5c..010f91ad671 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -33,10 +33,6 @@ def new_results @results_validator.validate(@competition.id) end - def check_results - with_results_validator - end - def check_competition_results with_results_validator do @competition = competition_from_params @@ -72,12 +68,6 @@ def with_results_validator yield if block_given? end - def do_check_results - running_validators do - render :check_results - end - end - def do_check_competition_results running_validators do uniq_id = @result_validation.competitions.first diff --git a/app/controllers/panel_controller.rb b/app/controllers/panel_controller.rb index 92ed2271cbf..fcc69b95147 100644 --- a/app/controllers/panel_controller.rb +++ b/app/controllers/panel_controller.rb @@ -50,6 +50,45 @@ def generate_db_token } end + private def validators_for_competition_ids(competition_ids) + validators = params.require(:selectedValidators).split(',').map(&:constantize) + apply_fix_when_possible = params.require(:applyFixWhenPossible) + + results_validator = ResultsValidators::CompetitionsResultsValidator.new( + validators, + check_real_results: true, + apply_fixes: apply_fix_when_possible, + ) + results_validator.validate(competition_ids) + render json: { + has_results: results_validator.has_results?, + validators: results_validator.validators, + infos: results_validator.infos, + errors: results_validator.errors, + warnings: results_validator.warnings, + } + end + + private def competition_ids_in_range(range) + start_date = range[:startDate] + end_date = range[:endDate] + ResultValidationForm.competitions_between(start_date, end_date) + .order(:start_date) + .ids + end + + def validators_for_competition_list + competition_ids = params.require(:competitionIds).split(',') + validators_for_competition_ids(competition_ids) + end + + def validators_for_competitions_in_range + range = JSON.parse(params.require(:competitionRange)).transform_keys(&:to_sym) + competition_ids = competition_ids_in_range(range) + + validators_for_competition_ids(competition_ids) + end + def panel_page panel_page_id = params.require(:id) panel_with_panel_page = current_user.panels_with_access&.find { |panel| User.panel_list[panel][:pages].include?(panel_page_id) } diff --git a/app/views/admin/_validator_form.html.erb b/app/views/admin/_validator_form.html.erb deleted file mode 100644 index 97e247f925b..00000000000 --- a/app/views/admin/_validator_form.html.erb +++ /dev/null @@ -1,152 +0,0 @@ -<% backend_url ||= nil %> -<% lock_selection = defined? @competition %> -
- Check existing results. -
- - <%= render "validator_form", backend_url: admin_check_results_path %> - <%= render "results_submission/check_results_panel", results_validator: @results_validator, display_competition: @result_validation.competitions.length > 1 %> -No error detected in the results.
; + } + returnNo results for the competition yet.
; + } + + return ( + <> +Please fix the errors below:
+No warning detected in the results.
; + } + returnNo results for the competition yet.
; + } + + return ( + <> +Please pay attention to the warnings below:
+