Browse Source

added crud for company client

= 2 years ago
parent
commit
d1bf5f94bf

+ 6 - 4
app/Http/Controllers/PatientController.php

@@ -10,6 +10,7 @@ use App\Models\ClientBDTDevice;
 use App\Models\ClientInfoLine;
 use App\Models\ClientPrimaryCoverage;
 use App\Models\ClientProAccess;
+use App\Models\Company;
 use App\Models\CompanyPro;
 use App\Models\Customer;
 use App\Models\Erx;
@@ -384,7 +385,8 @@ class PatientController extends Controller
 
     public function settings(Request $request, Client $patient )
     {
-        return view('app.patient.settings', compact('patient'));
+        $companies = Company::all();
+        return view('app.patient.settings', compact('patient', 'companies'));
     }
 
     public function smsReminders(Request $request, Client $patient )
@@ -706,14 +708,14 @@ class PatientController extends Controller
 
     public function clientDocuments(Request $request, Client $patient){
         $templates =  get_doc_templates();
-        
+
         $companyProIDs = DB::select('SELECT company_pro_id FROM company_pro_document WHERE related_client_id  = ?', [$patient->id]);
 
         $companyProIDInts = [];
         foreach($companyProIDs as $cpId){
-            $companyProIDInts[] = $cpId->company_pro_id; 
+            $companyProIDInts[] = $cpId->company_pro_id;
         }
-        
+
         $companyPros = CompanyPro::whereIn('id', $companyProIDInts)->get();
 
         return view('app.patient.client-documents', compact('templates', 'companyPros', 'patient'));

+ 15 - 8
app/Models/Client.php

@@ -20,7 +20,7 @@ class Client extends Model
             ->orderBy('created_at', 'desc');
     }
 
-    
+
     public function latestManualParentClientPrimaryCoverage(){
         return $this->hasOne(ClientPrimaryCoverage::class, 'id', 'latest_manual_parent_client_primary_coverage_id');
     }
@@ -180,7 +180,7 @@ class Client extends Model
         return $this->hasOne(AppSession::class, 'id', 'sticky_note_updated_by_session_id');
     }
 
-    
+
 
     public function creator()
     {
@@ -277,6 +277,13 @@ class Client extends Model
             ->orderBy('created_at', 'asc');
     }
 
+    public function companyClients()
+    {
+        return $this->hasMany(CompanyClient::class, 'client_id', 'id')
+            ->where('is_active', true)
+            ->orderBy('created_at', 'asc');
+    }
+
     public function handouts($note = null)
     {
         $mappings = HandoutClient::where('client_id', $this->id);
@@ -390,7 +397,7 @@ class Client extends Model
     public function previousCareMonth()
     {
         $cmStartDate = date('Y-m-d', strtotime('first day of last month'));
-        
+
         return CareMonth
             ::where('client_id', $this->id)
             ->where('start_date',  $cmStartDate)
@@ -1029,7 +1036,7 @@ ORDER BY m.ts DESC
             ->orderBy('created_at', 'desc');
     }
 
-    public function mostRecentWeightMeasurement(){        
+    public function mostRecentWeightMeasurement(){
         return $this->hasOne(Measurement::class, 'id', 'most_recent_weight_measurement_id');
     }
 
@@ -1053,13 +1060,13 @@ ORDER BY m.ts DESC
     }
 
     public function clientBpWeightPhoneNumberStatus(){
-        return $this->hasOne(ClientBpWeightPhoneNumberStatus::class, 'id', 'client_bp_weight_phone_number_status_id'); 
+        return $this->hasOne(ClientBpWeightPhoneNumberStatus::class, 'id', 'client_bp_weight_phone_number_status_id');
     }
 
     public function getDeviceDeliveryStatus($productId){
         $result =  DB::select("SELECT sh.status FROM shipment sh LEFT JOIN supply_order so ON so.shipment_id = sh.id WHERE so.product_id  = ".$productId." AND so.client_id = ".$this->id." ORDER BY sh.created_at DESC LIMIT 1");
         if (count($result)){
-            return $result[0]->status; 
+            return $result[0]->status;
         }
         return '';
     }
@@ -1094,7 +1101,7 @@ ORDER BY m.ts DESC
         return false;
     }
 
-    // 4 Infra-red Temperature gun 
+    // 4 Infra-red Temperature gun
     public function temparatureGunDeliveryStatus(){
        return $this->getDeviceDeliveryStatus(4);
     }
@@ -1107,7 +1114,7 @@ ORDER BY m.ts DESC
     public function cellularBPDeliveryStatus(){
         return $this->getDeviceDeliveryStatus(1);
     }
-    // 2 Weight scale 
+    // 2 Weight scale
     public function weightScaleDeliveryStatus(){
         return $this->getDeviceDeliveryStatus(2);
     }

+ 20 - 0
app/Models/CompanyClient.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class CompanyClient extends Model
+{
+
+    protected $table = 'company_client';
+
+
+    public function client(){
+        return $this->hasOne(Client::class, 'id', 'client_id');
+    }
+
+    public function company(){
+        return $this->hasOne(Company::class, 'id', 'company_id');
+    }
+}

+ 50 - 2
resources/views/app/patient/settings.blade.php

@@ -915,6 +915,54 @@
                     </div>
                 </div>
                 </div>
+                <hr class="m-negator-3 my-3">
+                <div moe class="ml-2">
+                    <h4>Linked companies</h4>
+                    <div>
+                        @foreach($patient->companyClients as $companyClient)
+                            <div class="alert alert-info mt-1 mb-1">
+                                <div moe class="d-inline-block">
+                                    <a start show><i class="fa fa-times"></i></a>
+                                    <form url="/api/companyClient/deactivate" class="mcp-theme-1">
+                                        <input type="hidden" name="uid" value="{{$companyClient->uid}}">
+                                        <div class="form-group">
+                                            <p>Are you sure?</p>
+                                        </div>
+                                        <div>
+                                            <button submit class="btn btn-sm btn-primary mr-1">Submit
+                                            </button>
+                                            <button cancel class="btn btn-sm btn-default border">
+                                                Cancel
+                                            </button>
+                                        </div>
+                                    </form>
+                                </div>
+                                {{$companyClient->company->name}}
+                            </div>
+                        @endforeach
+                    </div>
+                    <div moe>
+                        <a start show><i class="fa fa-edit"></i> Link company</a>
+                        <form url="/api/companyClient/create" class="mcp-theme-1">
+                            <input type="hidden" name="clientUid" value="{{$patient->uid}}">
+                            <div class="form-group">
+                                <label class="control-label">Company </label>
+                                <select name="companyUid" class="form-control">
+                                    @foreach($companies as $company)
+                                    <option value="{{$company->uid}}">{{$company->name}}</option>
+                                    @endforeach
+                                </select>
+                            </div>
+                            <div>
+                                <button submit class="btn btn-sm btn-primary mr-1">Submit
+                                </button>
+                                <button cancel class="btn btn-sm btn-default border">
+                                    Cancel
+                                </button>
+                            </div>
+                        </form>
+                    </div>
+                </div>
                 @endif
             </div>
             <div class="col-6 border-left">
@@ -1112,7 +1160,7 @@
                             </div>
                         </form>
                     </span>
-                @else 
+                @else
                     <span moe class="ml-2">
                         <form show url="/api/client/setSendAppointmentConfirmationSmsToTrue" class="mcp-theme-1">
                             <input type="hidden" name="uid" value="{{$patient->uid}}">
@@ -1351,7 +1399,7 @@
                         @endif
                     @endif
 
-                
+
                 @endif
 
                 <hr class="m-negator-3 mt-3">