X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=ledgers%2Findex.cgi;h=f2c2bf0d0da40d929e2befa2c32a12a2b3ee91fa;hb=refs%2Fheads%2Fmaster;hp=1313ef843ad720a743f93e64a7965ed184963d0b;hpb=e1cd45741b23d400bb44959fa8fffac25286ed58;p=confetti diff --git a/ledgers/index.cgi b/ledgers/index.cgi index 1313ef8..f5ac6b5 100755 --- a/ledgers/index.cgi +++ b/ledgers/index.cgi @@ -1,5 +1,33 @@ #!/bin/sh +. "$_EXEC/cgilite/storage.sh" +. "$_EXEC/pdiread.sh" + +if [ "$(POST show_account)" ]; then + uid="$(POST show_account)" + cfile="$(grep -lxF "UID;:${uid}" "${_DATA}/vcard/"*.vcf || grep -lxF "UID:${uid}" "${_DATA}/vcard/"*.vcf)" + REDIRECT "${_BASE}/ledgers/account.sh?card=${cfile##*/}" + exit 0; +fi + +credit() { + printf '%03i\n' "$1" \ + | sed -E 's;[0-9]{2}$;d&;; :0 s;([0-9])([0-9]{3}[dm]);\1m\2;; t0; y;dm;,.;' +} + +IBAN_ASSIGN="$( + { pdi_load "${_DATA}"/vcard/*.vcf + printf 'BEGIN:LEDGERS\n' + cat "${_DATA}"/ledgers/????-??-??\ -\ ????-??-??\ -\ ????.tbl + } | "${_EXEC}"/ledgers/iban_assign.awk + printf '\n' +)" + +if [ "${PATH_INFO%/iban_assign/}" != "${PATH_INFO}" ]; then + . "${_EXEC}/ledgers/iban_assign.sh" + exit 0 +fi + { printf ' [form .upload action="%s/ledgers/csv_upload.sh" method="POST" enctype="multipart/form-data" [label for=ledger_upload . %s:] @@ -8,4 +36,41 @@ [button type="submit" %s] ]' \ "${_BASE}" "$(l10n "Postbank CSV")" "$SESSION_ID" "$(l10n Upload)" + printf ' + [form .ledgers action="%s/ledgers/delete.sh" method=POST + [input type=hidden name=session_id value="%s"] + [h3 . %s] + ' "${_BASE}" "$SESSION_ID" "$(l10n Ledgers)" + for ledger in "$_DATA"/ledgers/????-??-??\ -\ ????-??-??\ -\ ????.tbl; do + ledger="${ledger##*/}" + [ "$ledger" = "????-??-?? - ????-??-?? - ????.tbl" ] && continue + printf '[p .ledger . %s [button type=submit name=delete value="%s" . %s]]' \ + "$(HTML "${ledger% - ????.tbl}")" "$(HTML "$ledger")" "$(l10n delete)" + done + printf ' ]' + unassigned="$(printf %s\\n "$IBAN_ASSIGN" |grep -E '^guess|^unknown' |wc -l)" + cat <<-EOF + [div + [h1 . $(l10n IBAN Assignments)] + $(printf "$(l10n "%i IBANs are unassigned")" "$unassigned") + [a href="${_BASE}/ledgers/iban_assign/" . $(l10n Assign IBANs)] + ] + [form action="${_BASE}/ledgers/account.sh" method=POST + [select name=uid + $(printf %s\\n "$IBAN_ASSIGN" \ + | sed -E ' + /^sure /!d; + s;^sure [^\t]+;;; + s;([^\t]+)/([^\t]+);\1 \2\n;g; + s;\n$;; + ' \ + | while read uid fn; do + uid="$(HTML "$uid")" + fn="$(UNSTRING "$fn" |HTML)" + printf '[option value="%s" . %s]' "$uid" "$fn" + done) + ] + [button type="submit" . $(l10n Account)] + ] + EOF } | yield_page ledgers