X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=invoices.cgi;h=674da890ab8e2911bf6a685277bfec2337f1bcbc;hb=026cd2e0fc6081c19d681a40720f7a70b449f3d8;hp=10aa8fc8726c6a79463d311738a6e96fd2341024;hpb=bc8eee210325c38d66bef5640deb933c0f680d4d;p=invoices diff --git a/invoices.cgi b/invoices.cgi index 10aa8fc..674da89 100755 --- a/invoices.cgi +++ b/invoices.cgi @@ -24,23 +24,23 @@ printf 'Content-Type: text/html; charset=utf-8\r\n\r\n' EOF } -tid(){ - # transaction ID to modify a given file - local file="$1" - { stat -c %F%i%n%N%s%Y "$file" 2>&- - printf %s "$SESSION_ID" - server_key - } | sha256sum | cut -d\ -f1 -} +info="$(PATH "${PATH_INFO#http://*/}")" -info="$(PATH "${PATH_INFO}")" +which git && [ ! -d .git ] && { + git init + mkdir -p clients/ invoices/ senders/ + printf 'export/ +serverkey' >.gitignore + git add clients/ invoices/ senders/ .gitignore + git commit -m 'initialisation of invoice repo' +} >&2 case $info in /invoices.css) . "$_EXEC/cgilite/file.sh" FILE "$_EXEC/invoices.css" ;; - /clients) + /clients|/clients/) . "$_EXEC/clients.sh" { list_clients printf '[a .new href="/clients/%s" New]' "$(timeid)" @@ -54,7 +54,7 @@ case $info in . "$_EXEC/clients.sh" update_client ;; - /senders) + /senders|/senders/) . "$_EXEC/senders.sh" { list_senders printf '[a .new href="/senders/%s" New]' "$(timeid)" @@ -68,10 +68,10 @@ case $info in . "$_EXEC/senders.sh" update_sender ;; - /invoices) + /invoices|/invoices/) . "$_EXEC/invoices.sh" - { list_invoices - printf '[a .new href="/invoices/%s" New]' "$(timeid)" + { printf '[a .new href="/invoices/%s" New]' "$(timeid)" + list_invoices } | yield_page invoices ;; /invoices/*) @@ -82,6 +82,11 @@ case $info in . "$_EXEC/invoices.sh" update_invoice ;; + /export/*.pdf/*) + . "$_EXEC/cgilite/file.sh" + file="${info%/*}" + FILE "${file#/}" application/pdf + ;; *) REDIRECT /invoices ;; esac