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;,.;'
+ | sed -E 's;[0-9]{2}$;d&;; :0 s;([0-9])([0-9]{3}[dm]);\1m\2;; t0; y;dm;,.;'
}
{ printf '
done
printf ' ]'
printf '
- [form .ledgers action="%s/ledgers/delete.sh" method=POST
+ [form .ibanassign action="%s/ledgers/iban_assign.sh" method=POST
[input type=hidden name=session_id value="%s"]
[h3 . %s]
' "${_BASE}" "$SESSION_ID" "$(l10n "IBAN Assignments")"
+ printf '[datalist id=lattendants .'
+ pdi_load "${_DATA}"/vcard/*.vcf |sed -n '/^FN\;:/!b; s;^FN\;:;;; p;' \
+ | while read name; do
+ printf '[option value="%s"]' "$(HTML "$name")"
+ done
+ printf ']'
+ l10n_attendant="$(l10n attendant)"
{ pdi_load "${_DATA}"/vcard/*.vcf
+ printf 'BEGIN:LEDGERS\n'
cat "${_DATA}"/ledgers/????-??-??\ -\ ????-??-??\ -\ ????.tbl
} | "${_EXEC}"/ledgers/iban_assign.awk \
| while read -r state iban data; do
+ iban="$(UNSTRING "$iban")"
+ [ ! "$iban" ] && iban="??????????"
+ printf '[input type=checkbox id="use_%s" name="use_%s" value=true]' "$iban" "$iban"
printf '[fieldset .iban .%s [legend . %s ]' \
"$state" "$iban"
- if [ $state = sure ]; then
+ if [ $state = sure ]; then
+ for card in $data; do
+ uid="${card%%/*}" name="$(UNSTRING "${card#*/}")"
+ printf '[span .card . %s]' "$(HTML "${name}")"
+ done
:
elif [ $state = guess ]; then
record="$(UNSTRING "${data%% *}")"
+ cards="${data#* }"
+ date="${record%% *}"
principal="${record#* * * }" principal="${principal%% *}"
subject="${record#* * * * }" subject="${subject%% *}"
amount="${record#* * * * * }" amount="${amount%% *}"
- printf '[p .principal . %s][p .amount %s][p .subject . %s]' \
- "$(UNSTRING "$principal" |HTML)" "$(credit "$amount")" "$(UNSTRING "$subject" |HTML)"
+ printf '[p .principal . %s][p .date %s][p .amount %s][p .subject . %s]' \
+ "$(UNSTRING "$principal" |HTML)" "$date" "$(credit "$amount")" "$(UNSTRING "$subject" |HTML)"
+ n=0; for card in $cards; do
+ n=$((n+1)); uid="${card%%/*}" name="$(UNSTRING "${card#*/}")"
+ cat <<-EOF
+ [input type=checkbox id="check_${iban}_$n" name="check_${iban}_$n" value=true checked=checked]
+ [input .card name="fn_${iban}_$n" value="$(HTML "$name")" .disabled tabindex="-1"]
+ [label .del for="check_${iban}_$n" . -]
+ EOF
+ done
+ for m in 1 2 3 4 5 6 7 8; do
+ cat <<-EOF
+ [input type=checkbox id="check_${iban}_$((n+m))" name="check_${iban}_$((n+m))" value=true]
+ [input .card name="fn_${iban}_$((n+m))" value="" placeholder="${l10n_attendant}" list="lattendants"]
+ [label .add for="check_${iban}_$((n+m))" . +]
+ EOF
+ done
+ printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Accept Suggestions)"
+ printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Ignore Suggestions)"
elif [ $state = unknown ]; then
+ date="${data%% *}"
principal="${data#* * * }" principal="${principal%% *}"
subject="${data#* * * * }" subject="${subject%% *}"
amount="${data#* * * * * }" amount="${amount%% *}"
- printf '[p .principal . %s][p .amount %s][p .subject . %s]' \
- "$(UNSTRING "$principal" |HTML)" "$(credit "$amount")" "$(UNSTRING "$subject" |HTML)"
+ printf '[p .principal . %s][p .date %s][p .amount %s][p .subject . %s]' \
+ "$(UNSTRING "$principal" |HTML)" "$date" "$(credit "$amount")" "$(UNSTRING "$subject" |HTML)"
+ printf '[input name="check_" type=hidden][input type=hidden][label .del]'
+ n=0; for m in 1 2 3 4 5 6 7 8; do
+ cat <<-EOF
+ [input type=checkbox id="check_${iban}_$((n+m))" name="check_${iban}_$((n+m))" value=false]
+ [input .card name="fn_${iban}_$((n+m))" value="" placeholder="${l10n_attendant}" list="lattendants"]
+ [label .add for="check_${iban}_$((n+m))" . +]
+ EOF
+ done
+ printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Accept Suggestions)"
+ printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Ignore Suggestions)"
fi
printf ']'
done
+ printf '[button type=submit . %s]' "$(l10n Submit Changes)"
printf ' ]'
} | yield_page ledgers