aboutsummaryrefslogtreecommitdiff
path: root/src/pages.ml
diff options
context:
space:
mode:
authorAlban Gruin2022-02-05 15:16:18 +0100
committerAlban Gruin2022-02-05 15:18:19 +0100
commita55229d34abeb85d9adaca615c9905c7b06a81e1 (patch)
tree9735a5e37101dd699bebc6777d403f50d804f935 /src/pages.ml
parentee3b01bf7027798ba23153aef7f4ccc57f5f7b38 (diff)
Introduce a new feature to list events without location
This adds a new page listing events without location. Signed-off-by: Alban Gruin <alban at pa1ch dot fr>
Diffstat (limited to 'src/pages.ml')
-rw-r--r--src/pages.ml24
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>
+|}