]> git.plutz.net Git - invoices/blobdiff - invoices.cgi
introduce status tag to see whether invoice has already been sent, or paid, etc.
[invoices] / invoices.cgi
index 261395f9b417dbc1267de36db383959771c31418..bec02be117a48964f1a14c5b2ddb17bd3f5973ab 100755 (executable)
@@ -24,16 +24,16 @@ 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)
@@ -70,8 +70,8 @@ case $info in
     ;;
   /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,9 +82,10 @@ case $info in
     . "$_EXEC/invoices.sh"
     update_invoice
     ;;
-  /export/*.pdf)
+  /export/*.pdf/*)
     . "$_EXEC/cgilite/file.sh"
-    FILE "${info#/}" application/pdf
+    file="${info%/*}"
+    FILE "${file#/}" application/pdf
     ;;
   *) REDIRECT /invoices
     ;;