X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=courses%2Flist.sh;h=4a23af7208a12fc7ef26bf4bda3ceedd3de4bed6;hp=abf3bf9fcf7ead89845d40b1947cd255772dfde6;hb=009e9158a9241258da11b1b5c582f8176b0b7e0f;hpb=203fc5d63ba59a30688bac00c98d199cb08a8f30 diff --git a/courses/list.sh b/courses/list.sh index abf3bf9..4a23af7 100755 --- a/courses/list.sh +++ b/courses/list.sh @@ -2,7 +2,7 @@ . "${_EXEC}"/pdiread.sh -edit_card(){ +edit_course(){ local coursefile="$_DATA/courses/$1" local tempfile course @@ -15,6 +15,28 @@ edit_card(){ cat <<-EOF [form .course #${coursefile##*/} action="/cards/update_course.sh" method="POST" [input type="hidden" name="tid" value="$(transid ${tempfile})"] + [div .section .basic . $( + edit_item "$course" SUMMARY COMMENT + )] + [div .section .dtstart . $( + edit_item "$course" DTSTART + )] + [div .section .recur . $( + edit_item "$course" RRULE + )] + [div .section .select_attendance . $( + edit_item "$course" attendance + )] + [div .control + [select .item name=newfield + [option disabled="disabled" selected . $(l10n edit_addfieldtext)] + $(for f in $SUP_FIELDS; do printf '[option value="%s" . %s]\n' "$f" "$(l10n "$f")"; done) + ] + [button .item type="submit" name="action" value="addfield" . $(l10n edit_addfield)] + [button .item type="submit" name="action" value="update" . $(l10n edit_update)] + [button .item type="submit" name="action" value="delete" . $(l10n edit_delete)] + [button .item type="submit" name="action" value="cancel" . $(l10n edit_cancel)] + ]' ] EOF fi @@ -25,27 +47,38 @@ print_course(){ local course="$(pdi_load "$coursefile")" cat <<-EOF [div .course #${coursefile##*/} - [div .section .basic ­$( + [div .section .basic . $( cal_item "$course" SUMMARY DTSTART RRULE )] - [div .section .COMMENT ­$(cal_item "$course" COMMENT)] - [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="/courses#%s" ­%s]]' \ + [div .section .COMMENT . $(cal_item "$course" COMMENT)] + [div .section .attendance [h3 $(l10n course_attendance) ] [ul . + $(grep -F "${coursefile##*/} " "$_DATA/mappings/attendance" |while read discard each; do + printf '[li [a .item .attendance href="/cards/#%s" . %s]]\n' \ "$each" \ - "$(pdi_value "$(pdi_load "$_DATA/ical/$each")" SUMMARY |unescape |HTML)" - done)] + "$(pdi_value "$(pdi_load "$_DATA/vcard/$each")" FN |unescape |HTML)" + done |sort -k7)] ] [div .control [a .item href="/courses/edit_course.sh?course=${coursefile##*/}" $(l10n edit)] [a .item href="/courses/export_pdf.sh?course=${coursefile##*/}" target="blank" $(l10n courselist)] [a .item href="/courses/export_ical.sh?course=${coursefile##*/}" $(l10n ics_export)] - [a .item href="mailto:zack@vuesch.org?bcc=$(course_mail "${coursefile##*/}")" $(l10n course_mail)] + [a .item href="mailto:zack@vuesch.org?bcc=$(course_mail "${coursefile##*/}" |HTML)" $(l10n course_mail)] ] ] EOF } +course_mail() { + course="$1" + grep -F "${course} " "$_DATA/mappings/attendance" |while read junk card; do + cat "${_DATA}/vcard/${card}" + done \ + | pdi_load - \ + | sed -rn 's;^EMAIL(\;[^:]*)*:(.+)\r?$;\2,;p' \ + | tr -d \\n \ + | unescape +} + print_courses(){ local calfile cachefile date size name ldate=0 lsize lname