issuer field on prescription document
authorpaul <paul@plutz.net>
Fri, 1 Jul 2016 15:00:50 +0000 (15:00 +0000)
committerpaul <paul@plutz.net>
Fri, 1 Jul 2016 15:00:50 +0000 (15:00 +0000)
svn path=/trunk/; revision=118

actions/update_prescription.sh
pages/cards.sh
pages/prescriptions.sh
templates/edit_prescription.sh
templates/prescriptions.css.sh
templates/text_prescriptions.sh
templates/view_prescription.sh

index a0d9371..aeb4993 100755 (executable)
@@ -31,6 +31,8 @@ if [ -z "$prescription" -o \! -f "$clientfile" ]; then
   exit 0
 fi
 
+[ "$_POST[issuer_select]" = "other" ] && _POST[issuer]="${_POST[issuer_other]}"
+
 # serialize POST array into file
 for key in ${(k)_POST}; do
   printf %s:%s\\n "$key" "${_POST[$key]//$BR/\\n}"
index 056f4d2..17b8f73 100755 (executable)
@@ -47,7 +47,8 @@ listcourses() {
 }
 
 list_hi_companies(){
-  sed -rn 's;^X-HEALTH-INSURANCE:([^\;]+)\;.*$;\1;p' ${_DATA}/vcard/*vcf
+  sed -rn 's;^X-HEALTH-INSURANCE:([^\;]+)\;.*$;\1;p' ${_DATA}/vcard/*vcf \
+  | sort -u
 }
 
 listcards() {
index 20b2bc0..73c5c2c 100755 (executable)
@@ -34,6 +34,12 @@ list_prescriptions(){
   | sort -r | cut -f2
 }
 
+list_prescription_issuers(){
+  sed -rn 's;^issuer:(.+)$;\1;p' ${_DATA}/prescriptions/*.mpx \
+  | sort -u
+}
+
+
 edit_prescription(){
   id="$1"
   prescfile="$_DATA/prescriptions/$id"
index dac7270..b7a9af4 100755 (executable)
@@ -135,7 +135,6 @@ $( for n in {0..10}; do
     "$(l10n quantity_weekly)" "${mpx[quantity_weekly$n]}"
 done )
 
-
 <br>
 <p class="indicator_codes">
 <label for="indicator">$(l10n indicator)</label>
@@ -149,6 +148,21 @@ done )
 <label for="indicator_reading">$(l10n indicator_reading)</label>
 <textarea id="indicator_reading" name="indicator_reading" placeholder="$(l10n indicator_reading)">${mpx[indicator_reading]}</textarea>
 </p>
+<br>
+<p class="issuer">
+  <label>$(l10n issuer)</label>
+  <input type="radio" name="issuer_select" value="list" id="issuer_select_list" checked /><label for="issuer_select_list">$(l10n issuer_from_list)</label><!--
+  --><input type="radio" name="issuer_select" value="other" id="issuer_other"><label for="issuer_other">$(l10n issuer_other)</label>
+  <select class="item" name="issuer">
+    <option value="" disabled="disabled" $([ -z "${mpx[issuer]}" ] && printf 'selected' )>$(l10n issuer)...</option>
+    $(list_prescription_issuers |while read f; do
+      [ "$f" = "$mpx[issuer]" ] \
+      && printf '<option value="%s" selected>%s</option>' "$f" "$f" \
+      || printf '<option value="%s">%s</option>' "$f" "$f"
+    done)
+  </select>
+  <input type="text" name="issuer_other" value="" placeholder="$(l10n issuer)..." />
+</p>
 </fieldset>
 
 <fieldset class="controls">
index 0bf19c1..3810eeb 100755 (executable)
@@ -138,13 +138,16 @@ form.prescription { padding-top: 1ex;}
 .prescription input[name=presctype] + label {
   font-size: medium;
   width: 22%;
-  margin: 0; margin-right: -.75ex;
-  vertical-align: bottom;
-  padding: .125em .5ex .25em 3ex;
+  margin: 0; margin-right: -.5ex;
+  vertical-align: top;
+  padding: .25em .5ex .25em 3ex;
+  height: 2.5em;
+  border-top: 1px solid #DDD;
 }
 .prescription label.presctype {
   text-align: right;
   font-weight: bold;
+  font-size: .875em;
   padding-right: 1ex;
   padding-left: 0;
 }
@@ -248,6 +251,44 @@ input[name=presctype][value^=altpractition]:checked  ~ fieldset,
   .description #indicator_reading { width: 100%; display: block;}
   .description #indicator_reading { height: 4em;}
 
+  .description .issuer { display: inline-block; width: 50%; padding: 0; padding-top: 0; margin-left: 50%;}
+  .description .issuer label:first-of-type {
+     display: block;
+     position: relative;
+     width: 50%; left: -50%; top: 2.25em;
+     font-size: 1em;
+     text-align: right;
+     padding-right: 1ex;
+   }
+  .description .issuer input[type=radio] + label:before { content: none; }
+  .description .issuer input[type=radio] { display: none; }
+  .description .issuer input[type=radio] + label {
+    display: inline-block;
+    width: 50%;
+    padding: .25ex 0; margin: 0;
+    text-align: center;
+    border: 1px solid black;
+  }
+  .description .issuer input[type=radio]:checked + label {
+    font-weight: bold;
+    background-color: #FFF;
+    border-width: 1px;
+    border-bottom: 1px solid #FFF;
+  }
+  .description .issuer input[type=radio] + label + input + label + select,
+  .description .issuer input[type=radio] + label + select + input { display: none; }
+  .description .issuer input[type=radio]:checked + label + input + label + select,
+  .description .issuer input[type=radio]:checked + label + select + input {
+    display: block; width: 100%;
+    border: 1px solid black;
+    background-color: #FFF;
+    border-width: 0 1px 1px 1px;
+    padding: .25ex .5ex;
+    margin-top: -1px;
+  }
+  .description .issuer input[type=radio]:checked + label + input + label + select option { display: block;}
+  .description span#issuer { width: 100%; height: 3em; padding: 1ex 2ex;}
+
 .prescription .controls { width: 100%; }
   .controls a.button,
   .controls button[value=save],
index 4fa02a5..56a81a0 100755 (executable)
@@ -58,3 +58,7 @@ item_name[noprescription]="Ohne Ver&shy;ord&shy;nung"
 item_name[selfpaid]="Selbst&shy;zah&shy;lend"
 item_name[private]="Pri&shy;vat"
 item_name[compulsory]="Ge&shy;setz&shy;lich"
+
+item_name[issuer]="Ausgestellt durch"
+item_name[issuer_from_list]="Aus Liste"
+item_name[issuer_other]="Andere"
index 78f995b..0fdd871 100755 (executable)
@@ -85,17 +85,22 @@ $( for n in {0..10}; do
 done )
 <br>
 <p class="indicator_codes">
-<label for="indicator">$(l10n indicator)</label>
-<span id="indicator">${mpx[indicator]}</span>
-<br>
-<label for="icd10">$(l10n icd10)</label>
-<span id="icd10">${mpx[icd10]}</span>
+  <label for="indicator">$(l10n indicator)</label>
+  <span id="indicator">${mpx[indicator]}</span>
+  <br>
+  <label for="icd10">$(l10n icd10)</label>
+  <span id="icd10">${mpx[icd10]}</span>
 </p>
 <br>
 <p class="indicator_reading">
-<label for="indicator_reading">$(l10n indicator_reading)</label>
-<span id="indicator_reading">${mpx[indicator_reading]}</span>
+  <label for="indicator_reading">$(l10n indicator_reading)</label>
+  <span id="indicator_reading">${mpx[indicator_reading]}</span>
+</p>
+<p class="issuer">
+  <label>$(l10n issuer)</label>
+  <span id="issuer">$mpx[issuer]</span>
 </p>
+
 </fieldset>
 
 <fieldset class="controls">