uppercese category qoshildi
@@ -61,4 +61,16 @@ class QrController extends Controller
|
||||
$qr = QrCode::format('png')->size(200)->generate($url);
|
||||
Storage::put($dir . '/qr.png', $qr);
|
||||
}
|
||||
|
||||
public function qrImage($type, $id)
|
||||
{
|
||||
$dbType = $type === 'auto' ? 'auto_' : 'estate_';
|
||||
$path = storage_path('app/public/attachments/' . $dbType . $id . '/qr.png');
|
||||
|
||||
if (!file_exists($path)) {
|
||||
abort(404);
|
||||
}
|
||||
|
||||
return response()->file($path);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
{{ __('translation.conclusions') }}
|
||||
</h4>
|
||||
<div class="flex-shrink-0">
|
||||
@if(in_array($order->status,[\App\Enums\OrderStatusEnum::STARTED->name,\App\Enums\OrderStatusEnum::REJECTED->name, \App\Enums\OrderStatusEnum::FINISHED->name]) || in_array(Auth::user()?->role, ['admin', \App\Enums\RoleEnum::MANAGER->name]))
|
||||
@if($conclusions->count() > 0)
|
||||
<a href="{{ route('auto.generate_pdf', $order->id) }}"
|
||||
target="_blank"
|
||||
class="btn btn-soft-success btn-sm me-1">
|
||||
@@ -129,14 +129,14 @@
|
||||
Tayyor xulosani yuklab olish
|
||||
</a>
|
||||
@endif
|
||||
@if(in_array($order->status,[\App\Enums\OrderStatusEnum::STARTED->name,\App\Enums\OrderStatusEnum::REJECTED->name]) && ($isAppraisers || in_array(Auth::user()?->role, ['admin', \App\Enums\RoleEnum::MANAGER->name])))
|
||||
<a href="{{ route('conclusion.add', ['id' => $order->id,'type'=>\App\Enums\OrderTypeEnum::AUTO->name]) }}"
|
||||
@if(!in_array($order->status, [\App\Enums\OrderStatusEnum::APPROVED->value, \App\Enums\OrderStatusEnum::MODERATED->value]) && (in_array(Auth::user()?->role, ['admin', 'manager']) || $isAppraisers))
|
||||
<a href="{{ route('conclusion.add', ['id' => $order->id, 'type' => \App\Enums\OrderTypeEnum::AUTO->name]) }}"
|
||||
type="button" class="btn btn-soft-info btn-sm">
|
||||
<i class="ri-upload-2-fill me-1 align-bottom"></i>
|
||||
{{ __('translation.upload') }}
|
||||
</a>
|
||||
@endif
|
||||
@if($order->status == \App\Enums\OrderStatusEnum::FINISHED->name && in_array(Auth::user()?->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
|
||||
@if($order->status == \App\Enums\OrderStatusEnum::FINISHED->value && in_array(Auth::user()?->role, ['admin', 'manager']))
|
||||
<button type="button" class="btn btn-soft-info btn-sm"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#givingBonusModal">
|
||||
|
||||
@@ -116,15 +116,22 @@
|
||||
<h4 class="card-title mb-0 flex-grow-1">
|
||||
{{ __('translation.conclusions') }}
|
||||
</h4>
|
||||
<div class="flex-shrink-0">
|
||||
@if(in_array($order->status,[\App\Enums\OrderStatusEnum::STARTED->name,\App\Enums\OrderStatusEnum::REJECTED->name]) && ($isAppraisers || in_array(Auth::user()?->role, ['admin', \App\Enums\RoleEnum::MANAGER->name])))
|
||||
<a href="{{ route('conclusion.add', ['id' => $order->id,'type'=>\App\Enums\OrderTypeEnum::ESTATE->name]) }}"
|
||||
@if($conclusions->count() > 0)
|
||||
<a href="{{ route('estate.generate_pdf', $order->id) }}"
|
||||
target="_blank"
|
||||
class="btn btn-soft-success btn-sm me-1">
|
||||
<i class="ri-download-2-line me-1 align-bottom"></i>
|
||||
Tayyor xulosani yuklab olish
|
||||
</a>
|
||||
@endif
|
||||
@if(!in_array($order->status, [\App\Enums\OrderStatusEnum::APPROVED->value, \App\Enums\OrderStatusEnum::MODERATED->value]) && (in_array(Auth::user()?->role, ['admin', 'manager']) || $isAppraisers))
|
||||
<a href="{{ route('conclusion.add', ['id' => $order->id, 'type' => \App\Enums\OrderTypeEnum::ESTATE->name]) }}"
|
||||
type="button" class="btn btn-soft-info btn-sm">
|
||||
<i class="ri-upload-2-fill me-1 align-bottom"></i>
|
||||
{{ __('translation.upload') }}
|
||||
</a>
|
||||
@endif
|
||||
@if($order->status == \App\Enums\OrderStatusEnum::FINISHED->name && in_array(Auth::user()->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
|
||||
@if($order->status == \App\Enums\OrderStatusEnum::FINISHED->value && in_array(Auth::user()?->role, ['admin', 'manager']))
|
||||
<button type="button" class="btn btn-soft-info btn-sm"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#givingBonusModal">
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="card mt-4">
|
||||
<div class="card-body p-4">
|
||||
<div class="text-center mt-2">
|
||||
<img width="100" src="{{ URL::asset('storage/attachments/auto_'.$order->id.'/qr.png') }}"
|
||||
<img width="100" src="{{ route('qr.image', ['type' => 'auto', 'id' => $order->id]) }}"
|
||||
alt="Order qr code image">
|
||||
</div>
|
||||
<div class="p-2 mt-4">
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<div class="card mt-4">
|
||||
<div class="card-body p-4">
|
||||
<div class="text-center mt-2">
|
||||
<img width="100" src="{{ URL::asset('storage/attachments/estate_'.$order->id.'/qr.png') }}"
|
||||
<img width="100" src="{{ route('qr.image', ['type' => 'estate', 'id' => $order->id]) }}"
|
||||
alt="Order qr code image">
|
||||
</div>
|
||||
<div class="p-2 mt-4">
|
||||
|
||||
@@ -43,6 +43,7 @@ Route::get('index/{locale}', [HomeController::class, 'lang']);
|
||||
Route::get('/', [HomeController::class, 'index'])->name('root');
|
||||
Route::get('index', [HomeController::class, 'index'])->name('index');
|
||||
Route::get('v/{type}/{id}', [QrController::class, 'verify'])->name('qr.verify');
|
||||
Route::get('qr-image/{type}/{id}', [QrController::class, 'qrImage'])->name('qr.image');
|
||||
Route::get('/download/{file}', [FileStoreController::class, 'downloadFile'])->name('download');
|
||||
|
||||
Route::group(['middleware' => ['auth']], function () {
|
||||
|
||||
0
storage/app/public/attachments/AUTO7884/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
0
storage/app/public/attachments/auto_7883/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
0
storage/app/public/attachments/auto_7884/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
0
storage/app/public/attachments/auto_7885/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
0
storage/app/public/attachments/auto_7886/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
0
storage/app/public/attachments/auto_7887/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
0
storage/app/public/attachments/auto_7889/qr.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
BIN
storage/app/public/attachments/auto_7890/qr.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |