]> git.plutz.net Git - confetti/blobdiff - ledgers/account.sh
separate pages in ledger section, stubs for account page
[confetti] / ledgers / account.sh
diff --git a/ledgers/account.sh b/ledgers/account.sh
new file mode 100755 (executable)
index 0000000..2cc279b
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+if [ "$REQUEST_METHOD" = POST ]; then
+  uid="$(POST uid)"
+  cfile="$(grep -lxF "UID;:${uid}" "${_DATA}/vcard/"*.vcf || grep -lxF "UID:${uid}" "${_DATA}/vcard/"*.vcf)"
+  REDIRECT "${_BASE}/ledgers/account.sh?card=${cfile##*/}"
+fi
+
+. "${_EXEC}/pdiread.sh"
+. "${_EXEC}/cards/l10n.sh"
+. "${_EXEC}/cards/widgets.sh"
+
+cardfile="${_DATA}/vcard/$(GET card |PATH)"
+if [ ! -f "$cardfile" ]; then
+  SET_COOKIE 0 message="Invalid account: $cardfile"
+  REDIRECT "${_BASE}/ledgers/"
+fi
+
+{
+  card="$(pdi_load "$cardfile")"
+  cat <<-EOF
+       [div .card #${cardfile##*/}
+         [div .section .basic . $(
+           card_item "$card" FN GENDER NICKNAME BDAY X-ZACK-JOINDATE X-ZACK-LEAVEDATE SOUND PHOTO LOGO
+         )]
+         [div .section .phone   . $(card_item "$card" TEL)]
+         [div .section .message . $(card_item "$card" EMAIL IMPP URL)]
+         [div .section .address . $(card_item "$card" ADR X-IBAN)]
+         [div .section .note    . $(card_item "$card" NOTE)]
+         [div .section .attendance [h3 $(l10n course_attendance) ] [ul
+           $(grep -F "     ${cardfile##*/}" "$_DATA/mappings/attendance" |while read each discard; do
+             printf '[li [a .item .attendance href="%s/courses#%s" . %s]]' \
+                    "${_BASE}" "$each" \
+                    "$(pdi_value "$(pdi_load "$_DATA/ical/$each")" SUMMARY || l10n "(unnamed course)" |unescape |HTML)"
+           done |sort -k7)]
+           $(card_item "$card" CATEGORIES)
+         ]
+       ]
+       EOF
+} \
+| yield_page ledgers