X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=invoices.cgi;h=674da890ab8e2911bf6a685277bfec2337f1bcbc;hb=026cd2e0fc6081c19d681a40720f7a70b449f3d8;hp=7e2f35193ae76bfd1012f3d91e0f62c7a40c3837;hpb=de8eaf901067d4e0c72e5b0ca05f6dc12553fd79;p=invoices diff --git a/invoices.cgi b/invoices.cgi index 7e2f351..674da89 100755 --- a/invoices.cgi +++ b/invoices.cgi @@ -24,14 +24,23 @@ printf 'Content-Type: text/html; charset=utf-8\r\n\r\n' EOF } -info="$(PATH "${PATH_INFO}")" +info="$(PATH "${PATH_INFO#http://*/}")" + +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)" @@ -44,9 +53,8 @@ case $info in /update_client) . "$_EXEC/clients.sh" update_client - REDIRECT /clients/ ;; - /senders) + /senders|/senders/) . "$_EXEC/senders.sh" { list_senders printf '[a .new href="/senders/%s" New]' "$(timeid)" @@ -59,22 +67,25 @@ case $info in /update_sender) . "$_EXEC/senders.sh" update_sender - REDIRECT /senders/ ;; - /invoices) + /invoices|/invoices/) . "$_EXEC/invoices.sh" - { list_invoices - printf '[a .new href="/invoice/%s" New]' "$(timeid)" + { printf '[a .new href="/invoices/%s" New]' "$(timeid)" + list_invoices } | yield_page invoices ;; - /invoice/*) + /invoices/*) . "$_EXEC/invoices.sh" - edit_invoice "${info#/invoice/}" |yield_page invoice + edit_invoice "${info#/invoices/}" |yield_page invoice ;; /update_invoice) . "$_EXEC/invoices.sh" update_invoice - REDIRECT "/invoice/$id" + ;; + /export/*.pdf/*) + . "$_EXEC/cgilite/file.sh" + file="${info%/*}" + FILE "${file#/}" application/pdf ;; *) REDIRECT /invoices ;;