]> git.plutz.net Git - invoices/blobdiff - senders.sh
split code into multiple files
[invoices] / senders.sh
diff --git a/senders.sh b/senders.sh
new file mode 100755 (executable)
index 0000000..90c3d38
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+edit_sender(){
+  id="$1"
+  if [ -f "senders/$id" ]; then
+    address="$(cat "senders/$id")"
+  fi
+  [ "$address" ] || address="Name
+Street
+City
+
+Phone:
+000 000000
+
+Tax no.
+xxx / 000 / ###
+"
+  printf '
+    [form method="POST" action="/update_sender"
+      [hidden "id" "%s"]
+      <textarea name="address" placeholder="address">%s</textarea>
+      [submit "update" "update" Update]
+    ]' \
+    "$(HTML $id)" \
+    "$(HTML "${address}")"
+}
+
+list_senders(){
+  [ -d senders/ ] && for s in senders/*; do
+    address=$(cat "$s")
+    [ "$address" ] || address="(no address)"
+    printf '[div .sender .address <!--
+      -->%s[a href="/senders/%s" Edit]]
+    ' "$(HTML "$address")" "$(HTML "${s#senders/}")"
+  done
+}
+
+update_sender(){
+  id="$(POST id |checkid)"
+  if [ "$(POST update)" = update -a "$id" ]; then
+    mkdir -p senders
+    POST address >"senders/$id"
+  fi
+}