Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ID to validation_issue #10521

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controllers/tickets_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def edit_person_validators
ticket.metadata.tickets_edit_person_fields.each do |edit_person_field|
case edit_person_field[:field_name]
when TicketsEditPersonField.field_names[:dob]
dob_validation_issues = ResultsValidators::PersonsValidator.dob_validations(Date.parse(edit_person_field[:new_value]))
dob_validation_issues = ResultsValidators::PersonsValidator.dob_validations(Date.parse(edit_person_field[:new_value]), nil, ticket.metadata.wca_id)
end
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { ticketStatuses } from '../../../lib/wca-data.js.erb';
import Loading from '../../Requests/Loading';
import useLoadedData from '../../../lib/hooks/useLoadedData';
import Errored from '../../Requests/Errored';
import I18n from '../../../lib/i18n';

function EditPersonValidations({ ticketDetails }) {
const { ticket } = ticketDetails;
Expand All @@ -18,7 +19,7 @@ function EditPersonValidations({ ticketDetails }) {
if (error) return <Errored />;

return validators.dob.map((validator) => (
<Message warning>{validator.message}</Message>
<Message warning>{I18n.t(`validators.person.${validator.id}`, validator.args)}</Message>
));
}

Expand Down
1 change: 1 addition & 0 deletions config/i18n.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,4 @@ translations:
- "*.time_limit.*"
- "*.users.edit.*"
- "*.persons.index.*"
- "*.validators.*"
68 changes: 68 additions & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2806,3 +2806,71 @@ en:
description_html: "On this page we offer the WST developer export for download as SQL dump. Details can be found at %{github_link}."
#context: The button that is clicked to download the file
download: "Download"
validators:
persons:
dob_jan_one: "The date of birth of %{name} is on January 1st, please ensure it's correct."
dob_too_young: "%{name} seems to be less than 3 years old, please ensure it's correct."
dob_too_old: "%{name} seems to be around 100 years old, please ensure it's correct."
person_without_results_error: "There are no results for %{person_name} with person id %{person_id}"
results_without_person_error: "There are results for an unknown person with person id %{person_id}"
whitespace_in_name_error: "Person '%{name}' has leading/trailing whitespaces or double whitespaces."
wrong_wca_id_error: "Person %{name} has a WCA ID which does not exist: %{wca_id}."
wrong_parenthesis_format_error: "Opening parenthesis in '%{name}' must be preceded by a space."
same_person_name_warning: "There is already at least one person with the name '%{name}' in the WCA database (%{wca_ids}). Please ensure that your '%{name}' is a different person. If not, please assign the correct WCA ID to the user account and regenerate the results JSON."
non_matching_dob_warning: "The birthdate '%{dob}' provided for %{name} (%{wca_id}) does not match the current record in the WCA database ('%{expected_dob}'). If this is an error, fix it. Otherwise, leave a comment to the WRT about it."
non_matching_gender_warning: "The gender '%{gender}' provided for %{name} (%{wca_id}) does not match the current record in the WCA database ('%{expected_gender}'). If this is an error, fix it. Otherwise, leave a comment to the WRT about it."
empty_gender_warning: "The gender for newcomer %{name} is empty. Valid gender values are 'female', 'male' and 'other'. Please leave a comment to the WRT about this."
non_matching_name_warning: "The name '%{name}' provided for %{wca_id} does not match the current record in the WCA database ('%{expected_name}'). "
non_matching_country_warning: "The country '%{country}' provided for %{name} (%{wca_id}) does not match the current record in the WCA database ('%{expected_country}'). If this is an error, fix it. Otherwise, leave a comment to the WRT about it."
multiple_newcomers_with_same_name_warning: "There are multiple new competitors with the exact same name: %{name}. Please ensure that all results are correct for these competitors and that all results are correctly seperated by their corresponding id."
wrong_parenthesis_type_error: "The parenthesis character used in '%{name}' is an irregular character, please replace it with a regular parenthesis '(' or ')' and with appropriate spacing."
uppercase_name_warning: "'%{name}' has successive uppercase letters in their name. Please confirm that this is indeed the correct spelling or fix the name."
lowercase_name_warning: "'%{name}' has a lowercase name. Please confirm that this is indeed the correct spelling or fix the name."
missing_period_warning: "'%{name}' has a single letter middle name without an abbreviation period. Please confirm that this is indeed the correct spelling or fix the name."
letter_after_period_warning: "'%{name}' is missing a space after a period in their name. Please confirm that this is indeed the correct spelling or fix the name."
single_letter_first_or_last_name_warning: "'%{name}' has a single letter as first or last name. Please fix the name or confirm that this is indeed the competitor's correct name according to an official document."
single_name_warning: "'%{name}' has only one name. Please confirm that this is indeed the competitor's full name according to an official document."
competitor_limit_warning: "The number of persons in the competition (%{n_competitors}) is above the competitor limit (%{competitor_limit}). The results of the competitors registered after the competitor limit was reached must be removed."
results:
position_fixed_info: "[%{round_id}] Automatically fixed the position of %{person_name} from %{pos} to %{expected_pos}."
mbf_result_over_time_limit_warning: "[%{round_id}] Result '%{result}' for %{person_name} is over the time limit. Please ensure this is due to time penalties before sending the results, or fix the result to DNF."
result_after_dns_warning: "[%{round_id}] %{person_name} has at least one DNS result followed by a valid result. Please ensure it is indeed a DNS and if so, explain what happened to WRT."
similar_results_warning: "[%{round_id}] Results for %{person_name} are similar to the results for %{similar_person_name}. Please ensure that these results are correctly recorded for both competitors."
met_cutoff_missing_results_error: "[%{round_id}] %{person_name} met the cutoff but is missing results for the second phase of the round. The cutoff was %{cutoff}."
didnt_meet_cutoff_has_results_error: "[%{round_id}] %{person_name} has at least one result for the second phase of the round but didn't meet the cutoff. The cutoff was %{cutoff}."
wrong_attempts_for_cutoff_error: "[%{round_id}] %{person_name} is missing at least one attempt for the cutoff phase. Please edit the result to include the missing attempt(s) or update the round's information in the competition's Manage Events page."
mismatched_result_format_error: "[%{round_id}] Results for %{person_name} are in the wrong format: expected %{expected_format}, but got %{format}."
result_over_time_limit_error: "[%{round_id}] At least one result for %{person_name} is over the time limit for the round, which is %{time_limit} per attempt. All solves over the time limit must be changed to DNF."
results_over_cumulative_time_limit_error: "[%{round_ids}] The sum of results for %{person_name} is over the cumulative time limit, which was %{time_limit}."
no_round_information_warning: "[%{round_id}] There is no information about the cutoff and time limit for this round. These validations have been skipped. Please update the round's information in the competition's Manage Events page."
undef_tl_warning: "[%{round_id}] The time limit for this round is undefined, time limit validations have been skipped. This is expected only for competitions before 2013."
suspicious_dnf_warning: "[%{round_ids}] The round has a cumulative time limit, and extrapolating based on %{person_name}'s successful solves, they would have had very little time left for at least one of their DNFs. Please ensure that every DNF and DNS is indeed correct. If the competitor did not start an attempt or did not have any remaining time before starting an attempt, it must be entered as DNS."
missing_cumulative_round_id_error: "[%{original_round_id}] Unable to find the round %{wcif_id} for the cumulative time limit specified in the WCIF. Please go to the competition's Manage Events page and remove %{wcif_id} from the cumulative time limit for %{original_round_id}. WST knows about this bug (GitHub issue #3254)."
wrong_position_in_results_error: "[%{round_id}] %{person_name} is in the wrong position: expected %{expected_pos}, but got %{pos}."
rounds:
too_many_qualified_warning: "Round %{round_id}: more competitors qualified than what the advancement condition planned (%{actual} instead of %{expected}, the condition was: %{condition}). Please update the round information in the manage events page."
unexpected_round_results_error: "The round %{round_id} is present in the results but was not created on the events tab. Please include the round's information in the competition's manage events page."
regulation_9m1_error: "Round %{round_id} has 99 or fewer competitors but has more than two subsequent rounds, which is not permitted as per Regulation 9m1."
regulation_9m2_error: "Round %{round_id} has 15 or fewer competitors but has more than one subsequent round, which is not permitted as per Regulation 9m2."
regulation_9m3_error: "Round %{round_id} has 7 or fewer competitors but has at least one subsequent round, which is not permitted as per Regulation 9m3."
regulation_9p1_error: "Round %{round_id}: Fewer than 25%% of competitors were eliminated, which is not permitted as per Regulation 9p1."
old_regulation_9p_error: "Round %{round_id}: There must be at least one competitor eliminated, which is required as per Regulation 9p (competitions before April 2010)."
round_9p1_error: "Round %{round_id}: according to the advancement condition (%{condition}), fewer than 25%% of competitors would be eliminated, which is not permitted as per Regulation 9p1. Please update the round information in the manage events page."
not_enough_qualified_warning: "Round %{round_id}: according to the events data, at most %{expected} could have proceed, but only %{actual} competed in the round. Please leave a comment about that (or fix the events data if you applied a different advancement condition)."
competed_not_qualified_error: "Round %{round_id}: %{ids} competed but did not meet the attempt result advancement condition (%{condition}). Please make sure the advancement condition reflects what was used during the competition, and remove the results if needed."
round_not_found_error: "Round %{round_id} could not be found. Please make sure that the WCA website Edit Events panel and WCA Live are in sync."
missing_round_results_error: "There are no results for round %{round_id} but it is listed in the events tab. If this round was not held, please remove the round in the competition's manage events page."
unexpected_combined_round_error: "No cutoff was announced for '%{round_name}', but it has been detected as a cutoff round in the results. Please update the round's information in the competition's manage events page."
events:
not_333_main_event_warning: "The selected main event for this competition is %{main_event_id}. How was that event treated as the main event of the competition? Please give WRT a brief explanation (e.g. number of rounds, prizes, declared winner of the competition, ...)."
no_main_event_warning: "There is no selected main event for this competition. Please let WRT know that this is correct."
unexpected_results_error: "Results are present for %{event_id}, however it is not listed as an official event. Please remove the event from the results or contact the WCAT to request the event to be added to the WCA website."
missing_results_warning: "There are no results for %{event_id}, but it is listed as an official event. If the event was held, please reupload your JSON with the results included. If the event was not held, leave a comment for the WRT."
scrambles:
missing_scrambles_for_round_error: "[%{round_id}] Missing scrambles. Use Scrambles Matcher to add the correct scrambles to the round."
missing_scrambles_for_competition_error: "Missing scrambles for the competition. Use Scrambles Matcher to add scrambles."
unexpected_scrambles_for_round_error: "[%{round_id}] Too many scrambles. Use Scrambles Matcher to uncheck the unused scrambles."
missing_scrambles_for_group_error: "[%{round_id}] Group %{group_id}: missing scrambles, detected only %{actual} instead of %{expected}."
missing_scrambles_for_multi_error: "[%{round_id}] While you may have multiple groups in 3x3x3 Multi-Blind, at least one of the groups must contain scrambles for all attempts."
multiple_fmc_groups_warning: "[%{round_id}] There are multiple groups of FMC used. If one group of FMC was used, please use the Scrambles Matcher to uncheck the unused scrambles. Otherwise, please include a comment to WRT explaining why multiple groups of FMC were used."
wrong_number_of_scramble_sets_error: "[%{round_id}] This round has a different number of scramble sets than specified on the Manage Events tab. Please adjust the number of scramble sets in the Manage Events tab to the number of sets that were used."
Loading
Loading