]> git.plutz.net Git - busy/blobdiff - Tasks.page
single tassk display
[busy] / Tasks.page
index 20f5e0f776bdb04b011b1451a6e8f4a6cf49c6e8..7ca263d5b08cf9901e8630af5bac2d3bb149493d 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/zsh
 
-info="$(sed -rn 's:(^|.*&)i=([0-9]{10}_[0-9]{3}).*|.*:\2:;s:&.*::' <<<"${QUERY_STRING}")"
+info="$(sed -r 's:(^|.*&)i=([0-9]{10}_[0-9]{3}).*|.*:\2:;s:&.*::' <<<"${QUERY_STRING}")"
 edit="$(sed -r 's:(^|.*&)e=([0-9]{10}_[0-9]{3}).*|.*:\2:;s:&.*::' <<<"${QUERY_STRING}")"
 search="$(sed -r 's:(^|.*&)s=(.*)|.*:\2:;s:&.*::;s:\+: :g;s:%:\\x:g' <<<"${QUERY_STRING}")"
 search="$(echo -e "${search}" |sed -rn '1{s:\t: :g;s:\r::g;s:\\:\\\\:g;p}')"
@@ -28,7 +28,34 @@ if [ -n "$search" ]; then
 fi
 echo '</div><div id="MAIN">'
 
-[ -n "$new" ] && cat <<TaskEnd
+if [ -n "$info" -a -r "Tasks/$info" -a -r "Tasks/$info.meta" ]; then
+  datafile="Tasks/$info"
+  metafile="Tasks/$info.meta"
+  headline="$(sed -rn '/^headline=/{s:^[a-z]+=(.+)$:\1:p;q}' "$metafile")"
+  taskstatus="$(sed -rn '/^status=/{s:^[a-z]+=(.+)$:\1:p;q}' "$metafile")"
+  section="$(sed -rn '/^section=/{s:^[a-z]+=(.+)$:\1:p;q}' "$metafile")"
+  attendant="$(sed -rn '/^attendant=/{s:^[a-z]+=(.+)$:\1:p;q}' "$metafile")"
+  [ -z "$section" ] && section='(none)'
+  [ -z "$attendant" ] && attendant='(none)'
+  cat <<TasksEND
+    <div class="Task">
+      <div class="wikitext">
+       <h1>$headline</h1>
+       $(_wiki "$datafile")
+      </div>
+      <table><tr>
+       <td><b>Status</b><br>
+       $taskstatus</td>
+       <td><b>Section</b><br>
+       $section</td>
+       <td><b>Attendant</b><br>
+       $attendant</td>
+      </tr></table>
+    </div>
+TasksEND
+fi
+
+[ -z "$info" -a -n "$new" ] && cat <<TaskEnd
 <form class="Task" style="height:20em;" method="post" action="write/taskmeta.cgi" accept-charset="UTF-8">
   <h1>$new</h1>
   <input type="hidden" name="headline" value="$new">
@@ -50,12 +77,14 @@ echo '</div><div id="MAIN">'
 </form>
 TaskEnd
 
-[ -z "$new" ] && stat -c '' Tasks/<0000000000-9999999999>_<000-999>.meta && for each in Tasks/<0000000000-9999999999>_<000-999>.meta(.om); do
+[ -z "$info" -a -z "$new" ] && stat -c '' Tasks/<0000000000-9999999999>_<000-999>.meta && for each in Tasks/<0000000000-9999999999>_<000-999>.meta(.om); do
   info="$(basename "$each" |sed 's:.meta$::')"
   headline="$(sed -rn '/^headline=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")"
   taskstatus="$(sed -rn '/^status=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")"
   section="$(sed -rn '/^section=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")"
   attendant="$(sed -rn '/^attendant=/{s:^[a-z]+=(.+)$:\1:p;q}' "$each")"
+  [ -z "$section" ] && section='(none)'
+  [ -z "$attendant" ] && attendant='(none)'
   cat <<TasksEND
    <div class="Task">
      <a href="${SCRIPTNAME}?p=Tasks&amp;i=${info}"><b>$headline</b></a><br>