Bladeren bron

Fix pro loading in the calendars

Vijayakrishnan 4 jaren geleden
bovenliggende
commit
aa99e336c9
2 gewijzigde bestanden met toevoegingen van 26 en 3 verwijderingen
  1. 14 2
      app/Http/Controllers/PatientController.php
  2. 12 1
      app/Http/Controllers/PracticeManagementController.php

+ 14 - 2
app/Http/Controllers/PatientController.php

@@ -12,7 +12,7 @@ use App\Models\Facility;
 use App\Models\Handout;
 use App\Models\NoteTemplate;
 use App\Models\Pro;
-use App\Models\Program;
+use App\Models\ProProAccess;
 use App\Models\SectionTemplate;
 use App\Models\Ticket;
 use Illuminate\Http\Request;
@@ -302,7 +302,19 @@ class PatientController extends Controller
     }
 
     public function calendar(Request $request, Client $patient, Appointment $currentAppointment) {
-        return view('app.patient.appointment-calendar', compact('patient', 'currentAppointment'));
+
+        $pros =  Pro::all();
+        if($this->pro && $this->pro->pro_type != 'ADMIN'){
+            $accessiblePros = ProProAccess::where('owner_pro_id', $this->pro->id);
+            $accessibleProIds = [];
+            foreach($accessiblePros as $accessiblePro){
+                $accessibleProIds[] = $accessiblePro->id;
+            }
+            $accessibleProIds[] = $this->pro->id;
+            $pros = Pro::whereIn('id', $accessibleProIds)->get();
+        }
+
+        return view('app.patient.appointment-calendar', compact('pros', 'patient', 'currentAppointment'));
     }
 
     public function programs(Request $request, Client $patient, $filter = '') {

+ 12 - 1
app/Http/Controllers/PracticeManagementController.php

@@ -10,6 +10,7 @@ use App\Models\Note;
 use App\Models\Pro;
 use App\Models\ProFavorite;
 use App\Models\ProGeneralAvailability;
+use App\Models\ProProAccess;
 use App\Models\ProRate;
 use App\Models\ProSpecificAvailability;
 use App\Models\ProSpecificUnavailability;
@@ -365,7 +366,17 @@ class PracticeManagementController extends Controller
 
     public function calendar(Request $request, $proUid = null)
     {
-        return view('app.practice-management.calendar');
+        $pros =  Pro::all();
+        if($this->pro && $this->pro->pro_type != 'ADMIN'){
+            $accessiblePros = ProProAccess::where('owner_pro_id', $this->pro->id);
+            $accessibleProIds = [];
+            foreach($accessiblePros as $accessiblePro){
+                $accessibleProIds[] = $accessiblePro->id;
+            }
+            $accessibleProIds[] = $this->pro->id;
+            $pros = Pro::whereIn('id', $accessibleProIds)->get();
+        }
+        return view('app.practice-management.calendar', compact('pros'));
     }
 
     public function billingManager(Request $request, $proUid = null)