X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=templates%2Fedit_client.sh;h=f2c5afb0b1d8d05f89a090c94029056111ec7da6;hp=049f251da7a56e804ffb32f9e0ba427aab308562;hb=5736fc8f634020a8a32635e955c3a0d823499f42;hpb=2805ee334bead55e2ab08b7c4dbdbf07dcebf8e9 diff --git a/templates/edit_client.sh b/templates/edit_client.sh index 049f251..f2c5afb 100755 --- a/templates/edit_client.sh +++ b/templates/edit_client.sh @@ -15,23 +15,61 @@ # You should have received a copy of the GNU Affero General Public License # along with Confetti. If not, see . +setchecked() { + printf 'checked="checked"' +} +setselected() { + printf 'selected="selected"' +} check_gen() { - [ "$values[GENDER]" = "$1" ] && echo 'selected="selected"' + [ "$values[GENDER]" = "$1" ] && setselected } check_a() { - egrep -q "^${1}.${id}$" "$_DATA/mappings/attendance" && echo 'checked="checked"' + egrep -q "^${1}.${id}$" "$_DATA/mappings/attendance" && setchecked +} +teltype() { + cat <<-EOF + + EOF } -n_last="$(printf %s "$values[N]" |sed -rn 's:^([^;]*;){0} *([^;]*).*$:\2:p')" -n_first="$(printf %s "$values[N]" |sed -rn 's:^([^;]*;){1} *([^;]*).*$:\2:p')" -n_middle="$(printf %s "$values[N]" |sed -rn 's:^([^;]*;){2} *([^;]*).*$:\2:p')" -n_pre="$(printf %s "$values[N]" |sed -rn 's:^([^;]*;){3} *([^;]*).*$:\2:p')" -n_post="$(printf %s "$values[N]" |sed -rn 's:^([^;]*;){4} *([^;]*)*$:\2:p')" - -hi_number="${values[X-HEALTH-INSURANCE]%;*}" -hi_company="${values[X-HEALTH-INSURANCE]#*;}" +list_items(){ + item="$1" + placeholder="$2" + [ -n "${values[$item]+x}" ] && printf '

%s

\n' "$(l10n $item)" + for n in "$item" "$item"{0..100}; do + if [ -n "${values[$n]+x}" ]; then + case "$item" in + (ADR|NOTE) + printf '\n' \ + "$item" "$item" "$(htmlsafe ${values[$n]})" + ;; + (TEL) + teltype "${values[${n}_TYPE]}" + printf '\n' \ + "$item" "$item" "$(attribsafe ${values[$n]})" + ;; + (*) + printf '\n' \ + "$item" "$item" "$(attribsafe ${values[$n]})" "$placeholder" + ;; + esac + else + break + fi + done +} -SUP_FIELDS=(N NICKNAME GENDER BDAY ADR TEL EMAIL X-HEALTH-INSURANCE X-HEALTH-INSURANCE-NOCONTRIB IMPP URL NOTE X-CLIENT-REFERRAL) +hi_company="${values[X-HEALTH-INSURANCE+1]}" +hi_number= "${values[X-HEALTH-INSURANCE+2]}" +hi_status= "${values[X-HEALTH-INSURANCE+3]}" [ -z "$values[UID]" ] && values[UID]="$(uuidgenerator)" @@ -40,11 +78,11 @@ cat <

$(l10n N)

- - - - - + + + + + }" + printf %s\\n "${values[$n]+}" done) -

$(l10n BDAY)

- + $(list_items BDAY YYYY-MM-DD) + + $(list_items X-ZACK-JOINDATE YYYY-MM-DD) + $(list_items X-ZACK-LEAVEDATE YYYY-MM-DD) - $(if [ -n "$values[SOUND]" ]; then - echo ' ' - fi) - ${values[PHOTO]:+} - ${values[LOGO]:+} + $([ -n "$values[SOUND]" ] && printf ' + ' "$values[SOUND]" + ) + ${values[PHOTO]+} + ${values[LOGO]+}
-

$(l10n ADR)

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

$(l10n URL)

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

$(l10n TEL)

- - $(for n in TEL{0..10}; do - echo "${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]:+}" - done) + $(list_items TEL) + $(list_items EMAIL) + $(list_items IMPP) + $(list_items URL)

$(l10n X-HEALTH-INSURANCE)

+ - + + +
-

$(l10n NOTE)

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

$(l10n X-CLIENT-REFERRAL)

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