X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=templates%2Fview_client.sh;h=0fe5e983c9ee7b11814c4a239ac19b49dfc9426d;hp=c1e3987c09dc7807fdc8ae92d637004b6754fddc;hb=0dc31a9e7992c227b680180d3ceee031ac293169;hpb=afdc06688cc51a168011da48adbafcba238d3ae1 diff --git a/templates/view_client.sh b/templates/view_client.sh index c1e3987..0fe5e98 100755 --- a/templates/view_client.sh +++ b/templates/view_client.sh @@ -15,89 +15,109 @@ # You should have received a copy of the GNU Affero General Public License # along with Confetti. If not, see . -n=$(printf %s "$values[N]" \ - | sed -rn 's:^([^;]*)(\;[^;]*)(\;[^;]*)?(\;[^;]*)?(\;[^;]*)?$:\4 \2 \3 \1 \5:gp' \ - | sed -r 's:,: :;s:\;: :g;s: +: :g;s:^ $::;' +list_items(){ + item="$1" + [ -n "${values[$item]+x}" ] && \ + printf '

%s

\n' "$(l10n $item)" + for n in "$item" "$item"{0..100}; do + [ -z "${values[$n]+x}" ] && break \ + || printf '%s\n' \ + "$item" "$(htmlsafe ${values[$n]})" + done +} + +list_section(){ + printf '
' "$1" + shift 1 + for each in $@; do + list_items "$each" + done + printf '
' +} + +n=$(printf %s "$values[N+3] $values[N+1] $values[N+2] $values[N+0] $values[N+4]" \ + | sed -r ':X;$!{N;bX}; s;^[\n ]+;;; s;[\n ]+$;;; s;[\r\t\n ]+; ;g;' ) fullname="${n:-${values[FN]:-${values[NICKNAME]}}}" -hi_company="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f1)" -hi_number="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f2)" -hi_status="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f3)" +hi_company="${values[X-HEALTH-INSURANCE+0]}" + hi_number="${values[X-HEALTH-INSURANCE+1]}" + hi_status="${values[X-HEALTH-INSURANCE+2]}" + +printf '
+

%s

+' "$fullname" +[ -n "$values[GENDER]" ] && printf ' + %s + ' "$(l10n "$values[GENDER]")" +for n in NICKNAME NICKNAME{0..100}; do + [ -z "${values[$n]+x}" ] && break \ + || printf ' + aka. %s + ' "$(htmlsafe ${values[$n]})" +done -cat < -

$fullname

- ${values[GENDER]:+$(l10n $values[GENDER])} +[ -n "$values[BDAY]" ] && printf ' + *:%s + ' "$(htmlsafe "$values[BDAY]")" +[ -n "$values[X-ZACK-JOINDATE]" ] && printf ' + %s:%s + ' "$(l10n label_join)" "$(htmlsafe "$values[X-ZACK-JOINDATE]")" +[ -n "$values[X-ZACK-LEAVEDATE]" ] && printf ' + %s:%s + ' "$(l10n label_leave)" "$(htmlsafe "$values[X-ZACK-LEAVEDATE]")" - $(for n in NICKNAME NICKNAME{0..10}; do - echo "${values[$n]:+aka. $values[$n]}" - done) +[ -n "$values[SOUND]" ] && printf ' + ' "$values[SOUND]" - ${values[BDAY]:+ ${values[BDAY]}} - ${values[X-ZACK-JOINDATE]:+ $values[X-ZACK-JOINDATE]} - ${values[X-ZACK-LEAVEDATE]:+ $values[X-ZACK-LEAVEDATE]} - ${values[SOUND]:+} - ${values[PHOTO]:+} - ${values[LOGO]:+} -
-

$(l10n ADR)

- $(for n in ADR ADR{0..10}; do - echo "${values[$n]:+$values[$n]}" - done) - ${values[URL]:+

$(l10n URL)

} - $(for n in URL URL{0..10}; do - echo "${values[$n]:+$values[$n]}" - done) -
-

$(l10n TEL)

- $(for n in TEL TEL{0..10}; do - echo "${values[$n]:+$tags[${n}_TYPE] $values[$n]}" - done) - ${values[EMAIL]:+

$(l10n EMAIL)

} - $(for n in EMAIL EMAIL{0..10}; do - echo "${values[$n]:+}" - done) - ${values[IMPP]:+

$(l10n IMPP)

} - $(for n in IMPP IMPP{0..10}; do - echo "${values[$n]:+$tags[${n}_TYPE] $values[$n]}" - done) -
+ list_section phone TEL EMAIL IMPP + +cat <<-END_HTML +

$(l10n X-HEALTH-INSURANCE)

- ${hi_company:+${hi_company}} - ${hi_number:+ ${hi_number}} - ${hi_status:+ ${hi_status}} -
- ${values[NOTE]:+

$(l10n NOTE)

} - $(for n in NOTE NOTE{0..10}; do - echo "${values[$n]:+$values[$n]}" - done) - ${values[X-CLIENT-REFERRAL]:+

$(l10n X-CLIENT-REFERRAL)

} - $(for n in X-CLIENT-REFERRAL X-CLIENT-REFERRAL{0..10}; do - echo "${values[$n]:+$values[$n]}" - done) -
+cat <<-END_HTML +

$(l10n prescriptions)

    - $(find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \ + $(declare -A mpx + find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \ | while read pfile; do - printf '%s\t%s\t%s\n' "$(grep '^date' "$pfile")" "$(sed -nr 's;^icd10:(.*)$;\1;p' "$pfile")" - done \ - | sort -r | cut -f2 \ - | while read icd; do - printf '
  • %s
  • ' "${id}" "${icd:-$(l10n no_icd)}" - done) + mpx=(); cat "$pfile" |while read -r line; do + val="${line#*:}" + mpx[${line%%:*}]="$(htmlsafe "${val//\\n/$BR}")" + done + printf '
  • %s: %s - %s
  • ' \ + "${id}" "${pfile##*/}" "${mpx[date]}" "${mpx[indicator]}" \ + "$([ -n "${mpx[remidy]}" ] && printf '%s %s' "${mpx[quantity]}" "${mpx[remidy]}" + for n in {0..10}; do + [ -n "${mpx[remidy${n}]}" ] && printf ', %s %s' "${mpx[quantity${n}]}" "${mpx[remidy${n}]}" + done + )" + done |sort -r + )
END_HTML