+++ /dev/null
-# Copyright 2016 Paul Hänsch
-#
-# This file is part of Confetti.
-#
-# Confetti is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Confetti is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Confetti. If not, see <http://www.gnu.org/licenses/>.
-
-t_session_note(){
- session_n="$1"
- note_n="$2"
-
- color=session${session_n}_note${note_n}_color
- unset c0 c1 c2 c3 c4 c5 c6 c7
-
- case "$tpy[$color]" in
- \#888) c0=checked;;
- \#00A) c1=checked;;
- \#0A0) c2=checked;;
- \#0AA) c3=checked;;
- \#A00) c4=checked;;
- \#A0A) c5=checked;;
- \#AA0) c6=checked;;
- *) c7=checked;;
- esac
-
-cat <<EOF
- <fieldset class=note>
- <input class=color type=radio name="$color" value="#888" id=${color}_000 $c0><label for=${color}_000></label>
- <input class=color type=radio name="$color" value="#00A" id=${color}_001 $c1><label for=${color}_001></label>
- <input class=color type=radio name="$color" value="#0A0" id=${color}_010 $c2><label for=${color}_010></label>
- <input class=color type=radio name="$color" value="#0AA" id=${color}_011 $c3><label for=${color}_011></label>
- <input class=color type=radio name="$color" value="#A00" id=${color}_100 $c4><label for=${color}_100></label>
- <input class=color type=radio name="$color" value="#A0A" id=${color}_101 $c5><label for=${color}_101></label>
- <input class=color type=radio name="$color" value="#AA0" id=${color}_110 $c6><label for=${color}_110></label>
- <input class=color type=radio name="$color" value="#FFF" id=${color}_111 $c7><label for=${color}_111></label>
- <textarea name="session${session_n}_note${note_n}">${tpy[session${session_n}_note${note_n}]}</textarea>
- </fieldset>
-EOF
-}
-
-t_session(){
- session_n="$1"
-
- sid=session${session_n}
-
- if [ "$tpy[${sid}_sigset]" = pos ]; then
- sig=neg
- sigcheck=checked
- elif [ "$tpy[${sid}_sigset]" = neg ]; then
- sig=pos
- unset sigcheck
- elif [ "$tpy[${sid}_signature]" = pos ]; then
- sig=neg
- sigcheck=checked
- else
- sig=pos
- unset sigcheck
- fi
-
-cat <<EOF
- <input type=hidden name=$sid value=exists>
- <input class="tab" type="checkbox" id=${sid}_open name="${sid}_open" value="checked" ${tpy[${sid}_open]}>
- <label class="tab" for="${sid}_open">
- <span class=no>${session_n}.</span><!--
- --><span class=date>${tpy[${sid}_date]}</span><!--
- --><input class="date" name="${sid}_date" value="${tpy[${sid}_date]}" placeholder="$(l10n date)"><!--
- --><span class=therapist>${tpy[${sid}_therapist]}</span><!--
- --><input class="therapist" name="${sid}_therapist" value="${tpy[${sid}_therapist]}" placeholder="$(l10n therapist)"><!--
- --><span class=signature><input type=checkbox name="${sid}_signature" value=pos $sigcheck><button type=submit name=${sid}_sigset value=$sig></button></span>
- </label>
- <div class=tab>
- <input class="dotmark ov" type="image" name=dotmark value="$sid" src="/therapies/${id%.tpy}_${sid}.png" alt="">
- $(n=1; while [ -n "${tpy[${sid}_note${n}]+x}" ]; do
- t_session_note $session_n $n
- n=$(($n+1))
- done
- printf '<button type=submit name=%s_note%s value="">+</button>' "$sid" "$n"
- )
-
- <button class=delete type=submit name=delete_session value=${session_n}>$(l10n delete_session)</button>
- <button type=submit>$(l10n save)</button>
- </div>
-EOF
-}
-
-therapy_sessions(){
- n=1; while [ -n "${tpy[session${n}]}" ]; do
- t_session $n
- n=$(($n+1))
- done
-
- sid=session$n
-
-cat <<EOF
- <fieldset class="tab">
- <button class=no type=submit name=new_session value=$sid>+</button><!--
- --><input class=date name=${sid}_date value="" placeholder="$(l10n date)" /><!--
- --><input class=therapist name=${sid}_therapist value="" placeholder="$(l10n therapist)" /><!--
- --><span class=signature><span></span>
- <input type=hidden name="${sid}_note1" value="">
- </fieldset>
-EOF
-}
-
-unset c0 c1 c2 c3 c4 c5 c6 c7
-case "$tpy[color]" in
- \#00A) c1="checked";;
- \#0A0) c2="checked";;
- \#0AA) c3="checked";;
- \#A00) c4="checked";;
- \#A0A) c5="checked";;
- \#AA0) c6="checked";;
- \#FFF) c7="checked";;
- *) c0="checked";;
-esac
-
-cat <<EOF
- <h1>Behandlungen</h1>
-
- <div class="patient">
- <h2>$client_name</h2>
- <a href="?p=prescriptions&client=${id%%.*}.vcf">< $(l10n prescriptionlist)</a>
- </div>
-
- <div class="prescription">
- <h2>$(l10n therapy_prescription)</h2>
- <span class="insurance">${mpx[insurance]}</span>
- <span class="date">${mpx[date]}</span>
- <label class="checkbox ${mpx[prescreviewed]:+checked}" for="prescreviewed">
- $([ -n "${mpx[prescreviewed]}" ] && printf %s "$(l10n prescreviewed)" \
- || printf %s "$(l10n prescreview)" )
- </label>
- <ul>
- ${mpx[remidy]:+ <li>${mpx[quantity]} ${mpx[remidy]}</li>}
- ${mpx[remidy1]:+<li>${mpx[quantity1]} ${mpx[remidy1]}</li>}
- </ul>
-
- ${mpx[addcontrib]:+
- <label class='checkbox ${mpx[contribconfirm]:+checked}' for="addcontrib">
- $([ -n "${mpx[contribconfirm]}" ] && printf %s "$(l10n contribconfirm)" ${mpx[contribconfirm]} \
- || printf %s "$(l10n addcontrib)" )
- </label>
- }
- </div>
-
-<form method="POST" action="?action=update_therapy">
- <input type="hidden" name="id" value="${id}">
-
- <label class="tab heading">
- <span class=no>$(l10n number)</span><!--
- --><span class=date>$(l10n date)</span><!--
- --><span class=therapist>$(l10n therapist)</span><!--
- --><span class=signature>$(l10n signature)</span>
- </label>
-
- $(therapy_sessions)
-
- <fieldset class=color>
- <input class=color type=radio name=color onclick="javascript:setcol('#000')" value="#000" id=c000 $c0><label for=c000></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#00A')" value="#00A" id=c001 $c1><label for=c001></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#0A0')" value="#0A0" id=c010 $c2><label for=c010></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#0AA')" value="#0AA" id=c011 $c3><label for=c011></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#A00')" value="#A00" id=c100 $c4><label for=c100></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#A0A')" value="#A0A" id=c101 $c5><label for=c101></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#AA0')" value="#AA0" id=c110 $c6><label for=c110></label>
- <input class=color type=radio name=color onclick="javascript:setcol('#FFF')" value="#FFF" id=c111 $c7><label for=c111></label>
- </fieldset>
- <img class="dotmark bg" src="?action=static_file&name=therapy_background.png" alt="">
- <canvas id="canvas" class="dotmark ov" width="${bg_dim%x*}" height="${bg_dim#*x}"></canvas>
-
- <input type=hidden id=image_serialize name=imagedata value="">
- <span id="jsdebug" style="display: none; position: fixed; right:0; bottom:0">Debug</span>
-
- <script><!--
- body = document.body
- canvas = document.getElementById("canvas")
- dbg = document.getElementById("jsdebug")
- image = canvas.getContext("2d")
- mouse = 0
- image_serialize=""
- data=document.getElementById("image_serialize")
-
- function setcol(c) {
- image.fillStyle = c
- image_serialize += " fill " + c
- }
-
- setcol("$tpy[color]")
-
- function circle(x, y) {
- if ( mouse == 1){
- if ( body.clientWidth >= 800 ){
- sx=Math.floor(cscaleW * (x - canvas.offsetLeft))
- sy=Math.floor(cscaleH * (y - canvas.offsetTop))
- } else {
- sx=Math.floor(cscaleW * (x - canvas.offsetLeft + body.scrollLeft))
- sy=Math.floor(cscaleH * (y - canvas.offsetTop + body.scrollTop))
- }
- image.beginPath()
- image.arc( sx, sy, 5, 0, 2 * Math.PI )
- image.fill()
- image.closePath()
-
- image_serialize += " circle " + sx + "," + sy + " " + (sx-5) + "," + sy
- }
- }
-
- function drawstart(x, y) {
- mouse = 1
-
- cscaleW = canvas.width / canvas.clientWidth
- cscaleH = canvas.height / canvas.clientHeight
-
- circle(x, y)
- }
- function drawstop() {
- mouse = 0
- dbg.innerHTML = image_serialize
- data.value = image_serialize
- }
-
- window.addEventListener( 'mouseup', function() { drawstop() } )
- canvas.addEventListener( 'mousedown', function(e) { drawstart(e.clientX, e.clientY) } )
- canvas.addEventListener( 'mousemove', function(e) { circle(e.clientX, e.clientY) } )
-
- window.addEventListener( 'touchend', function() { drawstop() } )
- canvas.addEventListener( 'touchstart', function(e) { drawstart(e.touches[0].clientX, e.touches[0].clientY) } )
- canvas.addEventListener( 'touchmove', function(e) { circle(e.touches[0].clientX, e.touches[0].clientY) } )
-
- --></script>
-</form>
-
-EOF
-# vi:set filetype=html: