diff --git a/public/locale/i18n/de/resource.json b/public/locale/i18n/de/resource.json index b9f0ce1..d386891 100644 --- a/public/locale/i18n/de/resource.json +++ b/public/locale/i18n/de/resource.json @@ -17,6 +17,7 @@ "Write here your question or introduce simple your election (250 characters max.)": "Schreiben Sie hier Ihre Frage oder erklären Sie kurz ihre Wahl (bis 250 Zeichen)", "Enter the name of your candidate or proposal here (250 characters max.)": "Geben Sie hier den Namen Ihres Kandidaten oder Antrags ein (max. 250 Zeichen)", "Please add at least 2 candidates.": "Bitte geben Sie mindestens zwei Kandidaten vor. ", + "You can't limit access results without specify a voting time.": "Sie können die Zugriffsergebnisse nicht einschränken, ohne eine Abstimmungszeit anzugeben.", "Question of the election": "Zur Wahl stehende Frage", "Write here the question of your election": "Schreiben Sie hier die zur Wahl stehenden Frage", "For example:": "Zum Beispiel", diff --git a/public/locale/i18n/en/resource.json b/public/locale/i18n/en/resource.json index 0d375c8..3e59f46 100644 --- a/public/locale/i18n/en/resource.json +++ b/public/locale/i18n/en/resource.json @@ -17,6 +17,7 @@ "Write here your question or introduce simple your election (250 characters max.)": "Write here your question or introduce simple your election (250 characters max.)", "Enter the name of your candidate or proposal here (250 characters max.)":"Enter the name of your candidate or proposal here (250 characters max.)", "Please add at least 2 candidates.": "Please add at least 2 candidates.", + "You can't limit access results without specify a voting time.": "You can't limit access results without specify a voting time.", "Question of the election": "Question of the election", "Write here the question of your election": "Write here the question of your election", "For example:": "For example:", diff --git a/public/locale/i18n/es/resource.json b/public/locale/i18n/es/resource.json index aa9d071..d25fbd3 100644 --- a/public/locale/i18n/es/resource.json +++ b/public/locale/i18n/es/resource.json @@ -17,6 +17,7 @@ "Write here your question or introduce simple your election (250 characters max.)": "Escriba aquí su pregunta o introduzca simplemente su elección (250 caracteres máx.)", "Enter the name of your candidate or proposal here (250 characters max.)": "Escriba aquí el nombre de su candidato o propuesta (250 caracteres como máximo)", "Please add at least 2 candidates.": "Por favor, añada al menos dos canidatos(as).", + "You can't limit access results without specify a voting time." : "No se puede limitar el acceso a los resultados sin especificar un tiempo de votación.", "Question of the election": "Pregunta de su elección", "Write here the question of your election": "Escriba aquí la pregunta de su elección", "For example:": "Por ejemplo:", diff --git a/public/locale/i18n/fr/resource.json b/public/locale/i18n/fr/resource.json index 0936da5..4a25222 100644 --- a/public/locale/i18n/fr/resource.json +++ b/public/locale/i18n/fr/resource.json @@ -17,6 +17,7 @@ "Write here your question or introduce simple your election (250 characters max.)": "Décrire ici votre question ou introduire simplement votre vote (250 caractères max.)", "Enter the name of your candidate or proposal here (250 characters max.)": "Saisissez ici le nom de votre candidat ou de votre proposition (250 caractères max.)", "Please add at least 2 candidates.": "Merci d'ajouter au moins 2 candidats.", + "You can't limit access results without specify a voting time." : "Vous ne pouvez pas limiter l'accès aux résultats sans spécifier une durée de vote.", "Question of the election": "Question de votre vote", "Write here the question of your election": "Ecrire ici la question de votre vote", "For example:": "Par exemple", diff --git a/public/locale/i18n/ru/resource.json b/public/locale/i18n/ru/resource.json index 9fba13e..24f924c 100644 --- a/public/locale/i18n/ru/resource.json +++ b/public/locale/i18n/ru/resource.json @@ -17,6 +17,7 @@ "Write here your question or introduce simple your election (250 characters max.)": "Напишите свой вопрос или опишите голосование (250 символов максимум.)", "Enter the name of your candidate or proposal here (250 characters max.)": "Введите имя вашего кандидата или предложение здесь (не более 250 символов).", "Please add at least 2 candidates.": "Пожалуйста добавьте как минимум 2 кандидатов", + "You can't limit access results without specify a voting time." : "Вы не можете ограничить результаты доступа без указания времени голосования.", "Question of the election": "Суть голосования", "Write here the question of your election": "Напишите вопрос вашего голосования", "For example:": "Например:", diff --git a/src/components/views/CreateElection.jsx b/src/components/views/CreateElection.jsx index 25c3348..a77f71e 100644 --- a/src/components/views/CreateElection.jsx +++ b/src/components/views/CreateElection.jsx @@ -45,6 +45,8 @@ import i18n from "../../i18n"; // Error messages const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates."; const NO_TITLE_ERROR = "Please add a title."; +const RESTRICTED_RESULTS_NEED_LIMITED_TIME = + "You can't limit access results without specify a voting time."; const isValidDate = (date) => date instanceof Date && !isNaN(date); const getOnlyValidDate = (date) => (isValidDate(date) ? date : new Date()); @@ -269,10 +271,13 @@ class CreateElection extends Component { }; checkFields() { - const { candidates, title } = this.state; + const { candidates, title, restrictResults, isTimeLimited } = this.state; if (!candidates) { return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR }; } + if (restrictResults && !isTimeLimited) { + return { ok: false, msg: RESTRICTED_RESULTS_NEED_LIMITED_TIME }; + } let numCandidates = 0; candidates.forEach((c) => { @@ -359,11 +364,14 @@ class CreateElection extends Component { .catch((error) => error); } - handleSendNotReady = (msg) => { + handleSendNotReady = () => { const { t } = this.props; - toast.error(t(msg), { - position: toast.POSITION.TOP_CENTER, - }); + const check = this.checkFields(); + if (!check.ok) { + toast.error(t(check.msg), { + position: toast.POSITION.TOP_CENTER, + }); + } }; render() { @@ -878,7 +886,7 @@ class CreateElection extends Component {