Răsfoiți Sursa

Delete attachment

Samson Mutunga 6 luni în urmă
părinte
comite
8fd8eecd30

+ 14 - 0
app/Http/Controllers/AdminController.php

@@ -537,6 +537,20 @@ class AdminController extends Controller
     return $this->pass();
   }
 
+  public function deleteFile(Request $request, StoreOrder $order){
+    $fileRef = $request->get('file_name');
+    if(!$fileRef) return $this->fail('Invalid file name!');
+
+    $detailJson = json_decode($order->detail_json ?? '{}', true);
+    if(isset($detailJson[$fileRef])){
+        unset($detailJson[$fileRef]);
+        $order->detail_json = json_encode($detailJson);
+        $order->save();
+    }
+    return $this->pass();
+    
+  }
+
   public function emailAttachment(Request $request){
     $params = $request->only(['toEmail', 'toName', 'subject', 'message', 'attachmentPath']);
     $response = $this->emailService->sendEmailWithAttachment($params);

+ 13 - 0
resources/views/app/my-account/admin/orders/forms/delete-results-attachment.blade.php

@@ -0,0 +1,13 @@
+<div moe>
+    <a start show href="#" class="text-danger"><i class="fas fa-trash-alt"></i></a>
+    <form url="{{ route('admin.orders.view.delete-file', $order) }}" right>
+        <input type="hidden" name="file_name" value="results_attachment" />
+        <div class="mb-2">
+            <label class="fw-bold mb-1">Are you sure?</label>
+        </div>
+        <div>
+            <button submit class="btn btn-sm btn-danger me-2">Delete</button>
+            <button cancel class="btn btn-sm btn-default border">Cancel</button>
+        </div>
+    </form>
+</div>

+ 6 - 1
resources/views/app/my-account/admin/orders/partials/results.blade.php

@@ -11,10 +11,15 @@
         @include("app.my-account.admin.orders.forms.upload-results-attachment")
     @else
     <div class="d-flex align-items-center">
-        <span class="me-1">Report: <i class="fas fa-paperclip fa-fw"></i> <a href="{{ $results_attachment['attachmentAccessTokenUrl'] }}" target="_blank">{{ $results_attachment['orginalFileName'] }}</a></span>
+        <span class="me-1">Report: <i class="fas fa-paperclip fa-fw"></i> 
+            <a href="{{ $results_attachment['attachmentAccessTokenUrl'] }}" target="_blank">{{ $results_attachment['orginalFileName'] }}</a>
+        </span>
         <div>
             @include("app.my-account.admin.orders.forms.upload-results-attachment", ['edit' => true])
         </div>
+        <div class="mx-2">
+            @include("app.my-account.admin.orders.forms.delete-results-attachment")
+        </div>
         <span class="text-muted mx-1">|</span>
         @if(@$orderUserSnapshot->notification_option === 'phone')
             <div>

+ 1 - 0
routes/web.php

@@ -80,6 +80,7 @@ Route::group(['middleware' => ['ensureUserLoggedIn']], function () {
                 Route::get('/financial-transactions', [AdminController::class, 'orderFinancialTransactions'])->name('.financial-transactions');
                 Route::post('/order-charge', [AdminController::class, 'orderCharge'])->name('.order-charge');
                 Route::post('/file/upload', [AdminController::class, 'uploadFile'])->name('.upload-file');
+                Route::post('/file/delete', [AdminController::class, 'deleteFile'])->name('.delete-file');
                 Route::post('/email-report', [AdminController::class, 'emailReport'])->name('.email-report');
                 Route::post('/sms-report', [AdminController::class, 'smsReport'])->name('.sms-report');
                 Route::post('/cancel-order', [AdminController::class, 'cancelOrder'])->name('.cancel-order');