]> git.plutz.net Git - confetti/blobdiff - ledgers/index.cgi
date time helper
[confetti] / ledgers / index.cgi
index 1313ef843ad720a743f93e64a7965ed184963d0b..f5ac6b5b3c9a8f6f6a3d1128e34ccbe5e92fc259 100755 (executable)
@@ -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