Quellcode durchsuchen

next_fu => pro-scoped change updates

Vijayakrishnan vor 4 Jahren
Ursprung
Commit
252ea6c367

+ 21 - 0
resources/views/app/patient/canvas-sections/next_fu/default.php

@@ -1,10 +1,31 @@
 <?php
 
+/** @var \App\Models\Pro $hcpPro */
+/** @var \App\Models\Pro $pro */
+/** @var \App\Models\Note $note */
+
+if(!@$hcpPro) {
+    if(@$note) {
+        $hcpPro = $note->hcpPro;
+    }
+    else {
+        $hcpPro = $pro; // should never get here
+    }
+}
+
 $canvasData = [];
 if ($patient->canvas_data) {
     $canvasData = json_decode($patient->canvas_data, true);
     if (isset($canvasData["next_fu"])) {
         $canvasData = $canvasData["next_fu"];
     }
+
+    if(!isset($canvasData["next_fu"])) $canvasData["next_fu"] = [];
+    if(!isset($canvasData["next_fu"][$hcpPro->id])) {
+        $canvasData["next_fu"][$hcpPro->id] = [];
+    }
+
+    $canvasData = $canvasData['next_fu'][$hcpPro->id];
+
 }
 $contentData = $canvasData;

+ 13 - 24
resources/views/app/patient/canvas-sections/next_fu/form.blade.php

@@ -1,20 +1,9 @@
 <?php
-/** @var \App\Models\Pro $sectionPro */
-/** @var \App\Models\Pro $pro */
-/** @var \App\Models\Note $note */
 
-if(!@$sectionPro) {
-    if(@$note) {
-        $sectionPro = $note->hcpPro;
-    }
-    else {
-        $sectionPro = $pro; // should never get here
-    }
-}
+// $contentData is already pro-scoped by this point!
 
-if(!$contentData) $contentData = [];
-if(!isset($contentData[$sectionPro->uid])) {
-    $contentData[$sectionPro->uid] = [
+if(!$contentData) {
+    $contentData = [
         "next_fu" => [
             "active" => true,
             "date" => null
@@ -47,20 +36,20 @@ $formID = rand(0, 100000);
     <p class="font-weight-bold">
         <label class="m-0 d-flex align-items-center">
             <span class="mr-2">Follow-up Appointment</span>
-            <input type="checkbox" v-model="data['{{$sectionPro->uid}}']['next_fu']['active']">
+            <input type="checkbox" v-model="data['next_fu']['active']">
         </label>
     </p>
 
-    <label v-if="data['{{$sectionPro->uid}}']['next_fu']['active']" class="d-flex align-items-center">
+    <label v-if="data['next_fu']['active']" class="d-flex align-items-center">
         <span class="mr-2">Follow Up Date</span>
-        <input type="date" v-model="data['{{$sectionPro->uid}}']['next_fu']['date']">
-        <a v-if="data['{{$sectionPro->uid}}']['next_fu']['active'] && !!data['{{$sectionPro->uid}}']['next_fu']['date']" native target="_blank" href="{{route('patients.view.calendar', ['patient' => $patient])}}" class="ml-3">
+        <input type="date" v-model="data['next_fu']['date']">
+        <a v-if="data['next_fu']['active'] && !!data['next_fu']['date']" native target="_blank" href="{{route('patients.view.calendar', ['patient' => $patient])}}" class="ml-3">
             <i class="fa fa-calendar-alt"></i>
             Patient Calendar
         </a>
     </label>
 
-    <div v-if="data['{{$sectionPro->uid}}']['next_fu']['active']" class="">
+    <div v-if="data['next_fu']['active']" class="">
         <div class="mb-2">
             <span class="font-weight-bold">Next CC</span>
             <a href="#" class="ml-3"
@@ -75,11 +64,11 @@ $formID = rand(0, 100000);
                 <th class="px-2 text-secondary border-bottom-0">Title</th>
                 <th class="px-2 text-secondary border-bottom-0">ICD</th>
                 <th class="px-2 text-secondary border-bottom-0 w-35">Memo</th>
-                <th v-if="data['{{$sectionPro->uid}}']['next_cc']['list'].length > 1" class="px-2 text-secondary border-bottom-0"></th>
+                <th v-if="data['next_cc']['list'].length > 1" class="px-2 text-secondary border-bottom-0"></th>
             </tr>
             </thead>
             <tbody>
-            <tr v-for="(item, index) in data['{{$sectionPro->uid}}']['next_cc']['list']">
+            <tr v-for="(item, index) in data['next_cc']['list']">
                 <td class="px-2 pt-2 text-center text-sm font-weight-bold">@{{ index + 1 }}</td>
                 <td>
                     <select class="form-control form-control-sm" v-model="item.category" required>
@@ -104,7 +93,7 @@ $formID = rand(0, 100000);
                            class="form-control form-control-sm"
                            v-model="item.memo">
                 </td>
-                <td v-if="data['{{$sectionPro->uid}}']['next_cc']['list'].length > 1" class="px-2 text-nowrap">
+                <td v-if="data['next_cc']['list'].length > 1" class="px-2 text-nowrap">
                     <a href="#" v-on:click.prevent="removeNextCCItem(index)"
                        class="on-hover-opaque text-danger mt-1 d-inline-block">
                         <i class="fa fa-trash-alt"></i>
@@ -138,7 +127,7 @@ $formID = rand(0, 100000);
                 },
                 methods: {
                     addNextCCItem: function() {
-                        this.data['{{$sectionPro->uid}}']['next_cc']['list'].push({
+                        this.data['next_cc']['list'].push({
                             "category": '',
                             "name": '',
                             "icd": '',
@@ -146,7 +135,7 @@ $formID = rand(0, 100000);
                         });
                     },
                     removeNextCCItem: function(_index) {
-                        this.data['{{$sectionPro->uid}}']['next_cc']['list'].splice(_index, 1);
+                        this.data['next_cc']['list'].splice(_index, 1);
                     },
                     cleanArray: function(_source) {
                         let plItems = [], plObject = {};

+ 24 - 19
resources/views/app/patient/canvas-sections/next_fu/summary.php

@@ -1,33 +1,38 @@
 <?php
 
-/** @var \App\Models\Pro $sectionPro */
-/** @var \App\Models\Pro $pro */
-/** @var \App\Models\Note $note */
+// HUMONGOUS FIX! This CRITICAL "if" was never there till now!
+if(!@$contentData) {
 
-if(!@$sectionPro) {
-    if(@$note) {
-        $sectionPro = $note->hcpPro;
-    }
-    else {
-        $sectionPro = $pro; // should never get here
+    /** @var \App\Models\Pro $hcpPro */
+    /** @var \App\Models\Pro $pro */
+    /** @var \App\Models\Note $note */
+
+    if(!@$hcpPro) {
+        if(@$note) {
+            $hcpPro = $note->hcpPro;
+        }
+        else {
+            $hcpPro = $pro; // should never get here
+        }
     }
-}
 
-$contentData = false;
-if ($patient->canvas_data) {
-    $canvasData = json_decode($patient->canvas_data, true);
-    if(isset($canvasData["next_fu"])) {
-        $contentData = $canvasData["next_fu"];
+    $contentData = false;
+    if ($patient->canvas_data) {
+        $canvasData = json_decode($patient->canvas_data, true);
+        if(isset($canvasData["next_fu"]) && isset($canvasData["next_fu"][$hcpPro->id])) {
+            $contentData = $canvasData["next_fu"][$hcpPro->id];
+        }
     }
+
 }
 
-if($contentData === false || !isset($contentData[$sectionPro->uid])) {
+if($contentData === false) {
     ?>
     <div class="text-secondary">No data in this section yet</div>
     <?php
 }
 else {
-    if(!$contentData[$sectionPro->uid]['next_fu']['active']) {
+    if(!$contentData['next_fu']['active']) {
         ?>
         <div class="text-secondary">No follow-up scheduled</div>
         <?php
@@ -36,7 +41,7 @@ else {
         ?>
         <label class="d-flex align-items-center">
             <span class="mr-2">Date:</span>
-            <b><?= $contentData[$sectionPro->uid]['next_fu']['date'] ?></b>
+            <b><?= $contentData['next_fu']['date'] ?></b>
         </label>
         <div class="mb-2">
             <span class="font-weight-bold">Next CC</span>
@@ -52,7 +57,7 @@ else {
             </tr>
             </thead>
             <tbody>
-            <?php foreach($contentData[$sectionPro->uid]['next_cc']['list'] as $i => $line): ?>
+            <?php foreach($contentData['next_cc']['list'] as $i => $line): ?>
                 <tr>
                     <td class="bg-white px-2 py-1 text-center text-sm font-weight-bold"><?= ++$i ?></td>
                     <td class="bg-white px-2 py-1"><?= ucwords($line['category']) ?></td>