Integrate a complete workflow for commitment forms including secure template downloads, customer uploads via WordPress AJAX, and administrative verification with automated notifications. - Implement `downloadTemplate` and `downloadSigned` logic in `CommitmentFormController` to replace public symlinks with ownership-verified routes. - Add `CommitmentFormVerifiedNotification` and `CommitmentFormRejectedNotification` to alert customers of status changes. - Enhance WordPress bridge with AJAX-driven form listing, status badges, and upload capabilities. - Update Filament `CommitmentFormsRelationManager` to provide better visibility into form directions and descriptions while restricting status edits to specific actions. - Refactor Laravel 11 bootstrap configuration to handle guest redirection for API and web routes correctly. - Add administrative controllers for secure file access within the admin panel.
53 lines
2.5 KiB
PHP
53 lines
2.5 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Admin\CommitmentFileController;
|
|
use App\Http\Controllers\OrderController;
|
|
use App\Http\Controllers\PricingPageController;
|
|
use App\Http\Controllers\ShipmentPdfController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', function () {
|
|
return view('welcome');
|
|
});
|
|
|
|
Route::get('/pricing', PricingPageController::class)->name('pricing.index');
|
|
|
|
Route::get('/order', [OrderController::class, 'create'])->name('orders.create');
|
|
Route::post('/order', [OrderController::class, 'store'])->name('orders.store');
|
|
Route::get('/order/success/{shipment}', [OrderController::class, 'success'])->name('orders.success');
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
Route::get('/shipments/{shipment}/pdf/awb', [ShipmentPdfController::class, 'awb'])->name('shipments.pdf.awb');
|
|
Route::get('/shipments/{shipment}/pdf/invoice', [ShipmentPdfController::class, 'invoice'])->name('shipments.pdf.invoice');
|
|
Route::get('/shipments/{shipment}/pdf/label', [ShipmentPdfController::class, 'label'])->name('shipments.pdf.label');
|
|
Route::get('/shipments/{shipment}/pdf/import-invoice', [ShipmentPdfController::class, 'importInvoice'])->name('shipments.pdf.import-invoice');
|
|
|
|
// دانلود امن فایلهای تعهدنامه برای پنل ادمین (کنترل دسترسی داخل کنترلر با canAccessPanel)
|
|
Route::get('/admin/shipments/{shipment}/commitment-forms/{form}/template', [CommitmentFileController::class, 'template'])
|
|
->name('admin.commitment-forms.template');
|
|
Route::get('/admin/shipments/{shipment}/commitment-forms/{record}/signed', [CommitmentFileController::class, 'signed'])
|
|
->name('admin.commitment-forms.signed');
|
|
});
|
|
|
|
// صفحات نتیجه پرداخت
|
|
Route::get('/payment-result', function (Illuminate\Http\Request $request) {
|
|
$status = $request->input('status');
|
|
$transactionId = $request->input('transaction_id');
|
|
$refId = $request->input('ref_id');
|
|
$amount = $request->input('amount');
|
|
$message = $request->input('message');
|
|
|
|
$isSuccess = $status === 'success';
|
|
|
|
return view('payment-result', [
|
|
'status' => $status,
|
|
'isSuccess' => $isSuccess,
|
|
'transactionId' => $transactionId,
|
|
'refId' => $refId,
|
|
'amount' => $amount,
|
|
'message' => $message,
|
|
]);
|
|
})->name('payment.result');
|
|
Route::get('/download-rate-template', function () {
|
|
return (new \App\Exports\ShippingRatesTemplateExport)->download('IFNEX_Rate_Template.xlsx');
|
|
})->middleware(['auth', 'panel:admin'])->name('download.rate-template'); |