# You should have received a copy of the GNU Affero General Public License
# along with Confetti. If not, see <http://www.gnu.org/licenses/>.
-list_categories() {
- grep -vxE '^[ ]*$' "${_DATA}/mappings/categories"
-}
-
w_filter_item() {
n=$3
cat <<EOF
[fieldset .item
[legend $(l10n filter_item):]
- $(for field in any name street zip TEL BDAY CATEGORIES; do
+ $(for field in any name street zip TEL BDAY; do
printf '[input id="%s%i" type="radio" name="filter_type%i" value="%s" %s]
[label for="%s%i" %s ]' \
"$field" "$n" "$n" "$field" "$([ "$1" = "$field" ] && printf checked )" \
"$field" "$n" "$(l10n filter_$field)"
done)
[input type="text" name="filter_text$n" value="$([ "$1" = CATEGORIES ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
- [fieldset .categories
- $(list_categories | while read cat; do
- printf '[label [checkbox "filter_cat%i" "|%s" %s] %s ]' \
- "$n" "$(HTML "$cat")" \
- "$(printf %s "$cat" |grep -qxEe "$2" && printf checked )" \
- "$(HTML "$cat")"
- done)
- [a href="/cards/categories.sh" $(l10n edit_categories)]
- ]
]
EOF
}
EOF
}
-# listcards |grep ${edit:+-v} "$edit" \
-# | while read card; do
-# "${_EXEC}"/cgilite/html-sh.sed <<-ENDCARD
-# [div #${card} .card
-# $(view_card "$card")[!--
-# --][div .control
-# [a "?action=edit_card&card=${card}" .item $(l10n edit)]
-# [a "?action=export_vcard&card=${card}".item $(l10n vcf_export)]
-# ${profile_medical:+[a "?action=new_prescription&client=${card}" .item $(l10n new_prescription)]}
-# ]]
-# ENDCARD
-# done
-
-#!/bin/sh
-
card_item(){
local card="$1"
local item cnt c
cnt="$(pdi_count "$card" "$item")"
case $item in
- FN) printf '[h2 .item .FN ­%s]' "$(pdi_value "$card" FN |unescape |HTML)"
+ FN) printf '[h2 .item .FN . %s]' "$(pdi_value "$card" FN |pdi_unescape |HTML)"
;;
- GENDER) printf '[span .item .GENDER ­%s]' "$(pdi_value "$card" GENDER |l10n)"
+ GENDER) printf '[span .item .GENDER . %s]' "$(pdi_value "$card" GENDER |l10n)"
;;
NICKNAME) seq 1 $cnt |while read c; do
- printf '[span .item .NICKNAME ­aka. "%s"]' \
- "$(pdi_value "$card" NICKNAME $c |unescape |HTML)"
+ printf '[span .item .NICKNAME aka. "%s"]' \
+ "$(pdi_value "$card" NICKNAME $c |pdi_unescape |HTML)"
done
;;
X-ZACK-JOINDATE|X-ZACK-LEAVEDATE) if [ $cnt -gt 0 ]; then
EMAIL)
[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n EMAIL)"
seq 1 $cnt |while read c; do
- printf '[a .item .EMAIL href="mailto:%s" ­%s]' \
- "$(pdi_value "$card" EMAIL $c |unescape |HTML)" \
- "$(pdi_value "$card" EMAIL $c |unescape |HTML)"
+ printf '[a .item .EMAIL href="mailto:%s" . %s]' \
+ "$(pdi_value "$card" EMAIL $c |pdi_unescape |HTML)" \
+ "$(pdi_value "$card" EMAIL $c |pdi_unescape |HTML)"
done
;;
TEL)
seq 1 $cnt |while read c; do
teltype="$(pdi_attrib "$card" TEL $c TYPE)"
[ "$teltype" ] \
- && printf '[span .item .TEL [span .type ­%s:] %s]' \
+ && printf '[span .item .TEL [span .type . %s:] %s]' \
"$(l10n "TYPE=$teltype" |HTML)" \
- "$(pdi_value "$card" TEL $c |unescape |HTML)" \
- || printf '[span .item .TEL ­%s]' \
- "$(pdi_value "$card" TEL $c |unescape |HTML)"
+ "$(pdi_value "$card" TEL $c |pdi_unescape |HTML)" \
+ || printf '[span .item .TEL . %s]' \
+ "$(pdi_value "$card" TEL $c |pdi_unescape |HTML)"
+ done
+ ;;
+ X-HEALTH-INSURANCE)
+ [ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n X-HEALTH-INSURANCE)"
+ seq 1 $cnt |while read c; do
+ IFS=\; read -r hi_name hi_number hi_status <<-EOF
+ $(pdi_value "$card" X-HEALTH-INSURANCE $c)
+ EOF
+ printf '[span .item .hi_company . %s]
+ [span .item .hi_number [label %s:] %s]
+ [span .item .hi_status [label %s:] %s]
+ ' "$(pdi_unescape "$hi_name" |HTML)" \
+ "$(l10n hi_number)" "$(pdi_unescape "$hi_number" |HTML)" \
+ "$(l10n hi_status)" "$(pdi_unescape "$hi_status" |HTML)"
done
;;
+ therapies)
+ client="$(pdi_value "$card" UID)"
+ printf '[h3 %s]' "$(l10n therapies)"
+ (cd "$_DATA/therapies/"; printf '%s\n' "${client}".*.tpy) \
+ | while read tpyfile; do
+ [ "$tpyfile" = "${client}.*.tpy" ] && break
+ tpy="${tpyfile%.tpy}";
+ tpydates="$(sed -En 's;^session[0-9]+_date:;;p;' "$_DATA/therapies/$tpyfile" \
+ | sort \
+ | sed -E ':X;N;$!bX; s;^[\n ]+;;; s;[\n ]+$;;; s;(\n.*\n|\n); - ;;'
+ )"
+ printf '[a .item .therapy href="/therapies/%s" . %s] ' \
+ "${tpy%.*}/${tpy#*.}" "$(HTML "${tpydates:--}")"
+ done |sort -n
+ printf '[a .item .therapy href="/therapies/%s/new" . +]' "${client}"
+ ;;
*)[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n "$item")"
+ shy="$(printf '\302\255')"
seq 1 $cnt |while read c; do
- printf '[span .item .%s ­%s]' "$item" \
- "$(pdi_value "$card" "$item" $c |unescape |HTML)"
+ printf '[span .item .%s . %s]' "$item" \
+ "$(pdi_value "$card" "$item" $c |sed -r "s;(straße|weg|damm|allee|ufer);${shy}\1;g" |pdi_unescape |HTML)"
done
;;
esac
$N
EOF
else
- N="$(pdi_value "$card" FN |unescape)"
+ N="$(pdi_value "$card" FN |pdi_unescape)"
n1="${N%%[a-z]*}" n1="${N#$n1}"
[ "$n1" ] || n1="${N##* }"
n2="${N%$n1}"
[input .item .N name="5N" placeholder="%s" value="%s"]
' "$(l10n "$item")" \
"$(l10n n_pre)" "$(HTML "$n4")" \
- "$(l10n n_first)" "$(HTML "$n2" "$n3")" \
+ "$(l10n n_first)" "$(HTML "${n2}${n3:+ }${n3}")" \
"$(l10n n_last)" "$(HTML "$n1")" \
"$(l10n n_post)" "$(HTML "$n5")"
;;
printf '[checkbox "%s_delete_%i" "true" .delete #%s_delete_%i][label for="%s_delete_%i" %s]' \
"$item" $c "$item" $c "$item" $c "$(l10n delete)"
printf '<textarea class="item %s" name="%s">%s</textarea>' \
- "$item" "$item" "$(pdi_value "$card" "$item" $c |unescape |HTML)"
+ "$item" "$item" "$(pdi_value "$card" "$item" $c |pdi_unescape |HTML)"
done
printf '[button type="submit" name="action" value="addfield %s" %s ]' "$item" "$(l10n edit_addfield)"
;;
"$([ "$teltype" = 'FAX' ] && printf 'selected="selected"')" "$(l10n TYPE=FAX)"
printf '[input .item .%s name="%s" value="%s" placeholder="%s"]' \
- "$item" "$item" "$(pdi_value "$card" "$item" $c |unescape |HTML)" "$(l10n "$item")"
+ "$item" "$item" "$(pdi_value "$card" "$item" $c |pdi_unescape |HTML)" "$(l10n "$item")"
done
printf '[button type="submit" name="action" value="addfield %s" %s ]' "$item" "$(l10n edit_addfield)"
;;
+ X-HEALTH-INSURANCE)
+ printf '[h3 %s]' "$(l10n "$item")"
+ seq 1 $cnt |while read c; do
+ # printf '[checkbox "%s_delete_%i" "true" .delete #%s_delete_%i][label for="%s_delete_%i" %s]' \
+ # "$item" $c "$item" $c "$item" $c "$(l10n delete)"
+ IFS=\; read -r hi_name hi_number hi_status <<-EOF
+ $(pdi_value "$card" X-HEALTH-INSURANCE $c)
+ EOF
+ cat <<-EOF
+ [input type="radio" name="$item" value="list" #hi_select_list checked]<!--
+ -->[label for="hi_select_list" $(l10n hi_from_list)]<!--
+ -->[input type="radio" name="$item" value="other" #hi_other checked]<!--
+ -->[label for="hi_other" $(l10n hi_other)]<!--
+ -->[select class="item" name="hi_company"
+ [option value="" disabled="disabled" $(selected "${hi_name}" "") . $(l10n hi_company)]
+ $(list_hi_companies |while read f; do
+ printf '[option value="%s" %s . %s]' "$(pdi_unescape "$f" |HTML)" \
+ "$(selected "$f" "$hi_name")" \
+ "$(pdi_unescape "$f" |HTML)"
+ done)
+ ]
+ [input type="text" name="hi_other" value="$hi_name" placeholder="$(l10n hi_company)"]
+ [input name="hi_number" value="$(pdi_unescape "$hi_number" |HTML)" placeholder="$(l10n hi_number)"]
+ [input name="hi_status" value="$(pdi_unescape "$hi_status" |HTML)" placeholder="$(l10n hi_status)"]
+ EOF
+ done
+ ;;
*)printf '[h3 %s]' "$(l10n "$item")"
seq 1 $cnt |while read c; do
printf '[checkbox "%s_delete_%i" "true" .delete #%s_delete_%i][label for="%s_delete_%i" %s]' \
"$item" $c "$item" $c "$item" $c "$(l10n delete)"
printf '[input .item .%s name="%s" value="%s" placeholder="%s"]' \
- "$item" "$item" "$(pdi_value "$card" "$item" $c |unescape |HTML)" "$(l10n "$item")"
+ "$item" "$item" "$(pdi_value "$card" "$item" $c |pdi_unescape |HTML)" "$(l10n "$item")"
done
printf '[button type="submit" name="action" value="addfield %s" %s ]' "$item" "$(l10n edit_addfield)"
;;