X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=courses%2Flist.sh;h=cc0deae382f77cd2a22c016c1a5af10c28e40a45;hp=4a23af7208a12fc7ef26bf4bda3ceedd3de4bed6;hb=HEAD;hpb=009e9158a9241258da11b1b5c582f8176b0b7e0f diff --git a/courses/list.sh b/courses/list.sh index 4a23af7..95857ec 100755 --- a/courses/list.sh +++ b/courses/list.sh @@ -2,8 +2,11 @@ . "${_EXEC}"/pdiread.sh +SUP_FIELDS="COMMENT" +MAILTO="${MAILTO:-confetti@confetti}" + edit_course(){ - local coursefile="$_DATA/courses/$1" + local coursefile="$_DATA/ical/$1" local tempfile course . $_EXEC/session_lock.sh @@ -13,7 +16,8 @@ edit_course(){ else course="$(pdi_load "$tempfile")" cat <<-EOF - [form .course #${coursefile##*/} action="/cards/update_course.sh" method="POST" + [form .course #${coursefile##*/} action="${_BASE}/courses/update_course.sh" method="POST" + [input type="hidden" name="course" value="${coursefile##*/}"] [input type="hidden" name="tid" value="$(transid ${tempfile})"] [div .section .basic . $( edit_item "$course" SUMMARY COMMENT @@ -24,19 +28,23 @@ edit_course(){ [div .section .recur . $( edit_item "$course" RRULE )] - [div .section .select_attendance . $( + [div .section .attendance . $( edit_item "$course" attendance )] [div .control - [select .item name=newfield + [!-- 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="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)] - ]' + [div .item .delete label="$(l10n edit_delete)" + [input type="checkbox" #delete] + [label for="delete" $(l10n edit_delete)] + [button type="submit" name="action" value="delete" $(l10n edit_delete)] + ] + ] ] EOF fi @@ -45,6 +53,7 @@ edit_course(){ print_course(){ local coursefile="$1" local course="$(pdi_load "$coursefile")" + cat <<-EOF [div .course #${coursefile##*/} [div .section .basic . $( @@ -53,16 +62,16 @@ print_course(){ [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" \ + printf '[li [a .item .attendance href="%s/cards/#%s" . %s]]\n' \ + "${_BASE}" "$each" \ "$(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##*/}" |HTML)" $(l10n course_mail)] + [a .button .item href="${_BASE}/courses/edit_course.sh?course=${coursefile##*/}" $(l10n edit)] + [a .button .item href="${_BASE}/courses/export_pdf.sh?course=${coursefile##*/}" target="blank" $(l10n courselist)] + [a .button .item href="${_BASE}/courses/export_ical.sh?course=${coursefile##*/}" $(l10n ics_export)] + [a .button .item href="mailto:${MAILTO}?bcc=$(course_mail "${coursefile##*/}" |HTML)" $(l10n course_mail)] ] ] EOF @@ -74,7 +83,7 @@ course_mail() { cat "${_DATA}/vcard/${card}" done \ | pdi_load - \ - | sed -rn 's;^EMAIL(\;[^:]*)*:(.+)\r?$;\2,;p' \ + | sed -nE 's;^EMAIL(\;[^:]*)*:(.+)\r?$;\2,;p' \ | tr -d \\n \ | unescape } @@ -86,7 +95,7 @@ print_courses(){ cachefile="${_DATA}/cache/${calfile##*/}.cache" if [ -s "$cachefile" -a "$cachefile" -nt "$calfile" ]; then cat "$cachefile" - else + elif [ -s "$calfile" ]; then print_course "$calfile" |tee "$cachefile" fi done @@ -107,7 +116,7 @@ order_courses() { } list_courses(){ - printf '%s\n' ${_DATA}/courses/*.ics \ + printf '%s\n' ${_DATA}/ical/*.ics \ | order_courses \ | print_courses }