diff options
Diffstat (limited to 'src/pages.ml')
-rw-r--r-- | src/pages.ml | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pages.ml b/src/pages.ml index 6fd7bef..c8f8c2e 100644 --- a/src/pages.ml +++ b/src/pages.ml @@ -147,3 +147,27 @@ let select module_id groups = <input type="submit" value="Générer un ICS" /> </form> |} + +let empty_events events = + let format_event name _groups start stop = + let escape () = escape and + to_hour = CalendarLib.Printer.Calendar.sprint "%H:%M" and + to_date = CalendarLib.Printer.Calendar.sprint "%d/%m/%Y" in + Printf.sprintf " <li>%a, le %a de %a à %a</li>" + escape name + escape (to_date start) + escape (to_hour start) + escape (to_hour stop) in + let formatted_events = + match events with + | [] -> " <li>Aucun cours sans salle dans cet emploi du temps.</li>" + | events -> + List.map (Ics.Event.format_fields format_event) events + |> String.concat "\n" in + common @@ {| + <h3>Liste des cours sans salle</h3> + <ul> +|} ^ formatted_events ^ + {| + </ul> +|} |