]> git.ekhem.eu.org Git - gym.git/commitdiff
Show exercise category when recording a workout.
authorJakub Czajka <jakub@ekhem.eu.org>
Sat, 6 Jan 2024 14:48:54 +0000 (15:48 +0100)
committerJakub Czajka <jakub@ekhem.eu.org>
Sat, 6 Jan 2024 14:59:06 +0000 (15:59 +0100)
record.sh

index 641920f9f915c46e69ed1de0d7a9f91ab79d680d..7913c831708da889069c5286ccc0076a6a4c7fa2 100755 (executable)
--- a/record.sh
+++ b/record.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (c) 2023 Jakub Czajka <jakub@ekhem.eu.org>
+# Copyright (c) 2023-2024 Jakub Czajka <jakub@ekhem.eu.org>
 # License: GPL-3.0 or later.
 
 . /etc/environment
@@ -28,15 +28,21 @@ WITH per_gym_records AS (
     WHERE per_gym_records.exercise_id = records.exercise_id
   )
 )
-SELECT exercises.id, name, value
+SELECT exercises.id, exercises.name, value,
+  STRING_AGG(categories.name, ', ') AS categories
 FROM exercises LEFT OUTER JOIN records_all_exercises
   ON exercises.id = records_all_exercises.exercise_id
+INNER JOIN exercises_categories
+  ON exercises.id = exercises_categories.exercise_id
+INNER JOIN categories
+  ON exercises_categories.category_id = categories.id
+GROUP BY exercises.id, exercises.name, value
 ORDER BY exercises.id")
 
 format_for_html_input() {
   /usr/bin/awk -F "|" '{printf "\
 <fieldset>\
-  <legend>%s</legend>\
+  <legend>[%s] %s</legend>\
   <label for='\''%s'\''>%s</label>\
   <input id='\''%s'\'' name='\''%s'\'' type='\''text'\'' />\
   <label for='\''%s_local_record'\''>\
@@ -50,7 +56,7 @@ format_for_html_input() {
            type='\''checkbox'\'' />Is record?\
   </label>\
 </fieldset>",\
-    $2, $1, $3, $1, $1, $1, $1, $1, $1, $1, $1}'
+    $4, $2, $1, $3, $1, $1, $1, $1, $1, $1, $1, $1}'
 }
 
 PAGE="