Selaa lähdekoodia

applied pro pro_access

Josh 4 vuotta sitten
vanhempi
commit
1c17eba46b

+ 1 - 1
app/Http/Controllers/CareMonthController.php

@@ -32,7 +32,7 @@ class CareMonthController extends Controller
             }
         }
 
-        $pros = Pro::all();
+        $pros = $this->pros;
         return view('app.patient.care-month.dashboard', compact('patient', 'careMonth', 'pros', 'cmTemplates', 'rmTemplates'));
     }
 

+ 17 - 1
app/Http/Controllers/Controller.php

@@ -6,6 +6,7 @@ use App\Models\AppSession;
 use App\Models\Note;
 use App\Models\NoteTemplate;
 use App\Models\Pro;
+use App\Models\ProProAccess;
 use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 use Illuminate\Foundation\Bus\DispatchesJobs;
 use Illuminate\Foundation\Validation\ValidatesRequests;
@@ -21,6 +22,8 @@ class Controller extends BaseController
 
     protected $pro = null;
 
+    protected $pros = null;
+
     public function __construct()
     {
         $this->performer = get_current_session();
@@ -29,7 +32,20 @@ class Controller extends BaseController
             view()->share('pro', $this->performer->pro);
         }
         view()->share('performer', $this->performer);
-        view()->share('pros', Pro::all());
+
+        $this->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;
+
+            $this->pros = Pro::whereIn('id', $accessibleProIds)->get();
+        }
+
+        view()->share('pros',$this->pros);
         view()->share('notes', Note::all());
         
         $noteTemplates = NoteTemplate::all();

+ 1 - 1
app/Http/Controllers/NoteController.php

@@ -17,7 +17,7 @@ class NoteController extends Controller
     
     public function dashboard(Request $request, Client $patient, Note $note)
     {
-        $pros = Pro::all();
+        $pros = $this->pros;
         $noteSections = $note->sections;
         $allSections = SectionTemplate::where('is_active', true)->get();
         foreach ($allSections as $section) {

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

@@ -145,13 +145,13 @@ class PatientController extends Controller
 
     public function notes(Request $request, Client $patient )
     {
-        $pros = Pro::all();
+        $pros = $this->pros;
         return view('app.patient.notes', compact('patient','pros'));
     }
 
     public function sections(Request $request, Client $patient )
     {
-        $pros = Pro::all();
+        $pros = $this->pros;
         $sections = $patient->sections;
 
         $allSections = SectionTemplate::where('is_active', true)->get();

+ 2 - 2
app/Http/Controllers/PracticeManagementController.php

@@ -34,7 +34,7 @@ class PracticeManagementController extends Controller
             $rates = $rates->where('pro_id', $selectedPro->id);
         }
         $rates = $rates->orderBy('pro_id', 'asc')->get();
-        $pros = Pro::all();
+        $pros = $this->pros;
         return view('app.practice-management.rates', compact('rates', 'pros', 'selectedProUid'));
     }
 
@@ -163,7 +163,7 @@ class PracticeManagementController extends Controller
 
         $selectedProUid = $pro->uid;
 
-        $pros = Pro::all();
+        $pros =$this->pros;
 
         $generalAvailabilitiesList = ProGeneralAvailability::where('pro_id', $pro->id)->where('is_cancelled', false)->orderBy('created_at', 'asc')->get();
         $generalAvailabilities = [

+ 10 - 0
app/Models/ProProAccess.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Models;
+
+# use Illuminate\Database\Eloquent\Model;
+
+class ProProAccess extends Model
+{
+    protected $table = 'pro_pro_access';
+}