mirror of
https://github.com/ae-utbm/sith.git
synced 2026-09-09 14:04:36 +00:00
Merge pull request #1484 from ae-utbm/edt-msg
show the broken line on timetable parsing error
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-09-04 11:24+0200\n"
|
||||
"POT-Creation-Date: 2026-09-08 23:36+0200\n"
|
||||
"PO-Revision-Date: 2016-07-18\n"
|
||||
"Last-Translator: Maréchal <thomas.girod@utbm.fr\n"
|
||||
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
||||
@@ -5852,6 +5852,17 @@ msgstr "les groupes pouvant créer des cotisations"
|
||||
msgid "Timetable generator"
|
||||
msgstr "Générateur d'emploi du temps"
|
||||
|
||||
#: timetable/templates/timetable/generator.jinja
|
||||
msgid ""
|
||||
"Wrong timetable format. Make sure you copied if from your student folder."
|
||||
msgstr ""
|
||||
"Mauvais format d'emploi du temps. Assurez-vous que vous l'avez copié depuis "
|
||||
"votre dossier étudiant."
|
||||
|
||||
#: timetable/templates/timetable/generator.jinja
|
||||
msgid "Incorrect row"
|
||||
msgstr "Ligne incorrecte"
|
||||
|
||||
#: timetable/templates/timetable/generator.jinja
|
||||
msgid "Generate"
|
||||
msgstr "Générer"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-05-17 10:03+0200\n"
|
||||
"POT-Creation-Date: 2026-09-08 23:36+0200\n"
|
||||
"PO-Revision-Date: 2024-09-17 11:54+0200\n"
|
||||
"Last-Translator: Sli <antoine@bartuccio.fr>\n"
|
||||
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
||||
@@ -22,8 +22,8 @@ msgid ""
|
||||
"You're going to remove your own role from the presidency. You may lock "
|
||||
"yourself out of this page. Do you want to continue ? "
|
||||
msgstr ""
|
||||
"Vous vous apprêtez à retirer votre propre rôle de la présidence. Vous risquez "
|
||||
"de perdre l'accès à cette page. Voulez-vous continuer ?"
|
||||
"Vous vous apprêtez à retirer votre propre rôle de la présidence. Vous "
|
||||
"risquez de perdre l'accès à cette page. Voulez-vous continuer ?"
|
||||
|
||||
#: com/static/bundled/com/components/ics-calendar-index.ts
|
||||
msgid "More info"
|
||||
@@ -279,9 +279,3 @@ msgstr "Il n'a pas été possible de modérer l'image"
|
||||
msgid "Couldn't delete picture"
|
||||
msgstr "Il n'a pas été possible de supprimer l'image"
|
||||
|
||||
#: timetable/static/bundled/timetable/generator-index.ts
|
||||
msgid ""
|
||||
"Wrong timetable format. Make sure you copied if from your student folder."
|
||||
msgstr ""
|
||||
"Mauvais format d'emploi du temps. Assurez-vous que vous l'avez copié depuis "
|
||||
"votre dossier étudiant."
|
||||
|
||||
@@ -59,7 +59,7 @@ function parseSlots(s: string): TimetableSlot[] {
|
||||
.map((row: string) => {
|
||||
const parsed = TIMETABLE_ROW_RE.exec(row);
|
||||
if (!parsed?.groups) {
|
||||
throw new Error(`Couldn't parse row ${row}`);
|
||||
throw new Error(`Couldn't parse row ${row}`, { cause: { row: row } });
|
||||
}
|
||||
const [startHour, startMin] = parsed.groups.startHour
|
||||
.split(":")
|
||||
@@ -78,7 +78,7 @@ function parseSlots(s: string): TimetableSlot[] {
|
||||
document.addEventListener("alpine:init", () => {
|
||||
Alpine.data("timetableGenerator", () => ({
|
||||
content: DEFAULT_TIMETABLE,
|
||||
error: "",
|
||||
error: null as { incorrectRow?: string },
|
||||
displayedWeekdays: [] as WeekDay[],
|
||||
courses: [] as TimetableSlot[],
|
||||
startSlot: 0,
|
||||
@@ -106,10 +106,9 @@ document.addEventListener("alpine:init", () => {
|
||||
generate() {
|
||||
try {
|
||||
this.courses = parseSlots(this.content);
|
||||
} catch {
|
||||
this.error = gettext(
|
||||
"Wrong timetable format. Make sure you copied if from your student folder.",
|
||||
);
|
||||
this.error = null;
|
||||
} catch (err) {
|
||||
this.error = { incorrectRow: err?.cause?.row };
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,23 @@
|
||||
<div x-data="timetableGenerator">
|
||||
<form @submit.prevent="generate()">
|
||||
<h1>Générateur d'emploi du temps</h1>
|
||||
<div class="alert alert-red" x-show="!!error" x-cloak>
|
||||
<span class="alert-main" x-text="error"></span>
|
||||
<template x-if="error !== null" x-cloak>
|
||||
<div class="alert alert-red">
|
||||
<div class="alert-main">
|
||||
<p>
|
||||
{% trans trimmed %}
|
||||
Wrong timetable format. Make sure you copied if from your student folder.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
<template x-if="!!error.incorrectRow">
|
||||
<p>
|
||||
{% trans %}Incorrect row{% endtrans %} :
|
||||
<code x-text="error.incorrectRow"></code>
|
||||
</p>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="form-group">
|
||||
<label for="timetable-input">Colle ton emploi du temps (sans l'entête)</label>
|
||||
<textarea id="timetable-input" cols="30" rows="15" x-model="content"></textarea>
|
||||
|
||||
Reference in New Issue
Block a user