uppercese category qoshildi

This commit is contained in:
2026-04-06 20:23:17 +05:00
parent 551dcb390c
commit 4d0f9b6309
27 changed files with 236 additions and 102 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use App\Http\Controllers\QrController; use App\Http\Controllers\QrController;
use setasign\Fpdi\Fpdi;
class AutoController extends Controller class AutoController extends Controller
{ {
@@ -106,7 +107,7 @@ class AutoController extends Controller
'tech_passport' => $request->tech_passport, 'tech_passport' => $request->tech_passport,
'tech_given_date' => $request->tech_given_date, 'tech_given_date' => $request->tech_given_date,
'tech_given_whom' => $request->tech_given_whom, 'tech_given_whom' => $request->tech_given_whom,
'cost' => $request->cost ?? 0, 'cost' => (int)str_replace(',', '', $request->cost ?? 0),
'note' => $request->note, 'note' => $request->note,
'created_at' => $request->created_at ?? now(), 'created_at' => $request->created_at ?? now(),
'updated_at' => now(), 'updated_at' => now(),
@@ -157,7 +158,7 @@ class AutoController extends Controller
'tech_passport' => $request->tech_passport, 'tech_passport' => $request->tech_passport,
'tech_given_date' => $request->tech_given_date, 'tech_given_date' => $request->tech_given_date,
'tech_given_whom' => $request->tech_given_whom, 'tech_given_whom' => $request->tech_given_whom,
'cost' => $request->cost ?? 0, 'cost' => (int)str_replace(',', '', $request->cost ?? 0),
'note' => $request->note, 'note' => $request->note,
'created_at' => $request->created_at, 'created_at' => $request->created_at,
'updated_at' => now(), 'updated_at' => now(),
@@ -214,7 +215,14 @@ class AutoController extends Controller
$members = DB::table('order_members as om') $members = DB::table('order_members as om')
->leftJoin('users as u', 'u.id', '=', 'om.user_id') ->leftJoin('users as u', 'u.id', '=', 'om.user_id')
->select('om.*', 'u.name', 'u.avatar', 'u.phone', 'u.role') ->select('om.*', 'u.name', 'u.avatar', 'u.phone', 'u.role')
->where('om.order_id', $order->id ?? 0)->where('om.order_type', 'auto_')->get(); ->where('om.order_id', $order->id ?? 0)->where('om.order_type', 'auto_')->get()
->map(function ($member) {
$member->started = DB::table('order_members')->where('user_id', $member->user_id)->count();
$member->finished = 0; // Defaulting for now
$member->approved = 0;
$member->rejected = 0;
return $member;
});
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
return view('auto.show-team', compact('order', 'members', 'appraisers')); return view('auto.show-team', compact('order', 'members', 'appraisers'));
} }
@@ -240,4 +248,56 @@ class AutoController extends Controller
{ {
return redirect()->route('auto.index'); return redirect()->route('auto.index');
} }
public function generatePdf($id)
{
$order = DB::table('auto_orders as o')
->selectRaw('o.*, p.uz as purpose, c.uz as category, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as "ownerName"')
->leftJoin('purposes as p', 'p.id', '=', 'o.purpose_id')
->leftJoin('concerns as c', 'c.id', '=', 'o.car_category')
->where('o.id', $id)
->first();
if (!$order) {
abort(404);
}
$pdf = new Fpdi();
$pdf->AddPage();
// Add Title
$pdf->SetFont('Arial', 'B', 16);
$pdf->Cell(0, 10, 'BAXOLASH XULOSASI (AVTO)', 0, 1, 'C');
$pdf->Ln(10);
// Add Details
$pdf->SetFont('Arial', '', 12);
$fields = [
'Tartib raqami' => $order->number,
'Sana' => date('d.m.Y', strtotime($order->created_at)),
'Maqsadi' => $order->purpose,
'Kategoriya' => $order->category,
'Markasi' => $order->car_mark,
'Davlat raqami' => $order->car_number,
'Egasi' => $order->ownerName,
'Ishlab chiqarilgan yili' => $order->made_date,
'Baholangan summa' => number_format($order->object_price ?: 0, 0, '.', ' ') . ' UZS',
];
foreach ($fields as $label => $value) {
$pdf->SetFont('Arial', 'B', 12);
$pdf->Cell(60, 10, $label . ':', 0, 0);
$pdf->SetFont('Arial', '', 12);
$pdf->Cell(0, 10, $value ?: '-', 0, 1);
}
$pdf->Ln(20);
$pdf->SetFont('Arial', 'I', 10);
$pdf->Cell(0, 10, 'Ushbu hujjat tizim tomonidan avtomatik generatsiya qilindi.', 0, 1, 'C');
return response($pdf->Output('S'), 200)
->header('Content-Type', 'application/pdf')
->header('Content-Disposition', 'attachment; filename="Conclusion_'.$order->number.'.pdf"');
}
} }

View File

@@ -82,7 +82,8 @@ class ConclusionController extends Controller
$qrPath = storage_path('app/public/attachments/' . $dbType . $orderId . '/qr.png'); $qrPath = storage_path('app/public/attachments/' . $dbType . $orderId . '/qr.png');
if (!file_exists($qrPath)) { if (!file_exists($qrPath)) {
Storage::makeDirectory('public/attachments/' . $dbType . $orderId); Storage::makeDirectory('public/attachments/' . $dbType . $orderId);
$qrContent = url(($orderType === 'AUTO' ? 'auto' : 'estate') . '/show/' . $orderId); $cleanType = strtolower($orderType);
$qrContent = route('qr.verify', ['type' => $cleanType, 'id' => $orderId]);
$qrImage = QrCode::format('png')->size(150)->generate($qrContent); $qrImage = QrCode::format('png')->size(150)->generate($qrContent);
file_put_contents($qrPath, $qrImage); file_put_contents($qrPath, $qrImage);
} }
@@ -123,6 +124,11 @@ class ConclusionController extends Controller
'created_at' => now(), 'created_at' => now(),
'updated_at' => now(), 'updated_at' => now(),
]); ]);
DB::table($table)->where('id', $orderId)->update([
'status' => \App\Enums\OrderStatusEnum::FINISHED->name,
'updated_at' => now(),
]);
} }
$route = $orderType === 'AUTO' ? 'auto.show' : 'estate.show'; $route = $orderType === 'AUTO' ? 'auto.show' : 'estate.show';

View File

@@ -89,7 +89,7 @@ class EstateController extends Controller
'tech_passport' => $request->tech_passport, 'tech_passport' => $request->tech_passport,
'tech_given_date' => $request->tech_given_date, 'tech_given_date' => $request->tech_given_date,
'tech_given_whom' => $request->tech_given_whom, 'tech_given_whom' => $request->tech_given_whom,
'cost' => $request->cost ?? 0, 'cost' => (int)str_replace(',', '', $request->cost ?? 0),
'note' => $request->note, 'note' => $request->note,
'created_at' => $request->created_at ?? now(), 'created_at' => $request->created_at ?? now(),
'updated_at' => now(), 'updated_at' => now(),
@@ -142,7 +142,7 @@ class EstateController extends Controller
'tech_passport' => $request->tech_passport, 'tech_passport' => $request->tech_passport,
'tech_given_date' => $request->tech_given_date, 'tech_given_date' => $request->tech_given_date,
'tech_given_whom' => $request->tech_given_whom, 'tech_given_whom' => $request->tech_given_whom,
'cost' => $request->cost ?? 0, 'cost' => (int)str_replace(',', '', $request->cost ?? 0),
'note' => $request->note, 'note' => $request->note,
'created_at' => $request->created_at, 'created_at' => $request->created_at,
'updated_at' => now(), 'updated_at' => now(),
@@ -196,7 +196,14 @@ class EstateController extends Controller
$members = DB::table('order_members as om') $members = DB::table('order_members as om')
->leftJoin('users as u', 'u.id', '=', 'om.user_id') ->leftJoin('users as u', 'u.id', '=', 'om.user_id')
->select('om.*', 'u.name', 'u.avatar', 'u.phone', 'u.role') ->select('om.*', 'u.name', 'u.avatar', 'u.phone', 'u.role')
->where('om.order_id', $order->id ?? 0)->where('om.order_type', 'estate_')->get(); ->where('om.order_id', $order->id ?? 0)->where('om.order_type', 'estate_')->get()
->map(function ($member) {
$member->started = DB::table('order_members')->where('user_id', $member->user_id)->count();
$member->finished = 0;
$member->approved = 0;
$member->rejected = 0;
return $member;
});
$appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get();
return view('estate.show-team', compact('order', 'members', 'appraisers')); return view('estate.show-team', compact('order', 'members', 'appraisers'));
} }

View File

@@ -13,6 +13,38 @@ class QrController extends Controller
return view('qr.show', compact('content')); return view('qr.show', compact('content'));
} }
public function verify($type, $id)
{
$table = $type === 'auto' ? 'auto_orders' : 'estate_orders';
$order = \Illuminate\Support\Facades\DB::table($table)->where('id', $id)->first();
if (!$order) {
abort(404);
}
// Add display relations and formatting
$order->customer = $order->ordered_customer;
$order->purposeOne = \Illuminate\Support\Facades\DB::table('purposes')->where('id', $order->purpose_id)->first();
if ($type === 'auto') {
$order->concernOne = \Illuminate\Support\Facades\DB::table('concerns')->where('id', $order->car_category)->first();
$order->ownerName = trim($order->owner_last_name . ' ' . $order->owner_first_name . ' ' . $order->owner_patronymic);
$order->name = $order->car_mark;
} else {
$order->regions = \Illuminate\Support\Facades\DB::table('regions')->where('id', $order->region)->first();
$order->districts = \Illuminate\Support\Facades\DB::table('districts')->where('id', $order->district)->first();
$order->owner = trim($order->owner_last_name . ' ' . $order->owner_first_name . ' ' . $order->owner_patronymic);
$order->name = $order->name_of_object;
}
$conclusion = \Illuminate\Support\Facades\DB::table('files')
->where('order_id', $id)
->where('order_type', 'conclusion_')
->first();
return view('qr.' . $type, compact('order', 'conclusion'));
}
public function reGenerate($id, $type) public function reGenerate($id, $type)
{ {
self::generateQr($id, $type); self::generateQr($id, $type);
@@ -22,8 +54,9 @@ class QrController extends Controller
public static function generateQr($id, $type) public static function generateQr($id, $type)
{ {
// type is 'auto_' or 'estate_' // type is 'auto_' or 'estate_'
$url = url(($type === 'auto_' ? 'auto' : 'estate') . '/show/' . $id); $cleanType = str_replace('_', '', $type);
$dir = 'public/attachments/' . $type . $id; $url = route('qr.verify', ['type' => $cleanType, 'id' => $id]);
$dir = 'public/attachments/' . $type . $id;
Storage::makeDirectory($dir); Storage::makeDirectory($dir);
$qr = QrCode::format('png')->size(200)->generate($url); $qr = QrCode::format('png')->size(200)->generate($url);
Storage::put($dir . '/qr.png', $qr); Storage::put($dir . '/qr.png', $qr);

18
dummy.pdf Normal file
View File

@@ -0,0 +1,18 @@
%PDF-1.4
1 0 obj <</Type /Catalog /Pages 2 0 R>> endobj
2 0 obj <</Type /Pages /Kids [3 0 R] /Count 1>> endobj
3 0 obj <</Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] /Contents 4 0 R>> endobj
4 0 obj <</Length 22>> stream
BT /F1 24 Tf 100 700 Td (Hello World) Tj ET
endstream endobj
xref
0 5
0000000000 65535 f
0000000009 00000 n
0000000056 00000 n
0000000111 00000 n
0000000212 00000 n
trailer <</Size 5 /Root 1 0 R>>
startxref
284
%%EOF

View File

@@ -17,7 +17,7 @@
validate> validate>
@csrf @csrf
@method('put') @method('put')
<input type="hidden" name="status" value="{{ App\Enums\OrderStatusEnum::DRAFT->name }}"> <input type="hidden" name="status" value="{{ $order->status }}">
<div class="row"> <div class="row">
<div class="col-lg-8"> <div class="col-lg-8">
<div class="card"> <div class="card">
@@ -67,7 +67,7 @@
id="choices-purpose-input" tabindex="3"> id="choices-purpose-input" tabindex="3">
@foreach($purposeCases as $purposeItem) @foreach($purposeCases as $purposeItem)
<option value="{{ $purposeItem->id }}" <option value="{{ $purposeItem->id }}"
@if(old('purpose_id') == $purposeItem->id)selected @endif> @if((old('purpose_id') ?? $order->purpose_id) == $purposeItem->id)selected @endif>
{{ $purposeItem->{str_replace('_', '-', app()->getLocale())} }} {{ $purposeItem->{str_replace('_', '-', app()->getLocale())} }}
</option> </option>
@endforeach @endforeach
@@ -290,7 +290,7 @@
id="choose-order-car-category" name="car_category" tabindex="10"> id="choose-order-car-category" name="car_category" tabindex="10">
@foreach ($concerns as $concern) @foreach ($concerns as $concern)
<option value="{{ $concern->id }}" <option value="{{ $concern->id }}"
{{ $concern->car_category == $concern->id ? 'selected' : '' }}> {{ (old('car_category') ?? $order->car_category) == $concern->id ? 'selected' : '' }}>
@lang($concern->{str_replace('_', '-', app()->getLocale())}) @lang($concern->{str_replace('_', '-', app()->getLocale())})
</option> </option>
@endforeach @endforeach
@@ -500,11 +500,11 @@
@lang('translation.select-diller') @lang('translation.select-diller')
</label> </label>
<select data-choices data-choices-search-false data-choices-multiple-groups="false" <select data-choices data-choices-search-false data-choices-multiple-groups="false"
name="diller" class="form-select @error('diller') is-invalid @enderror" name="diller_id" class="form-select @error('diller_id') is-invalid @enderror"
id="choices-diller-input" id="choices-diller-input"
tabindex="23"> tabindex="23">
@foreach($dillers as $diller) @foreach($dillers as $diller)
<option value="{{ $diller->id}}" @if($order->diller== $diller->id) selected @endif> <option value="{{ $diller->id}}" @if((old('diller_id') ?? $order->diller_id) == $diller->id) selected @endif>
{{ $diller->name }} {{ $diller->name }}
</option> </option>
@endforeach @endforeach

View File

@@ -121,14 +121,22 @@
{{ __('translation.conclusions') }} {{ __('translation.conclusions') }}
</h4> </h4>
<div class="flex-shrink-0"> <div class="flex-shrink-0">
@if(in_array($order->status,[\App\Enums\OrderStatusEnum::STARTED->name,\App\Enums\OrderStatusEnum::REJECTED->name])&& $isAppraisers) @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]))
<a href="{{ route('auto.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::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]) }}" <a href="{{ route('conclusion.add', ['id' => $order->id,'type'=>\App\Enums\OrderTypeEnum::AUTO->name]) }}"
type="button" class="btn btn-soft-info btn-sm"> type="button" class="btn btn-soft-info btn-sm">
<i class="ri-upload-2-fill me-1 align-bottom"></i> <i class="ri-upload-2-fill me-1 align-bottom"></i>
{{ __('translation.upload') }} {{ __('translation.upload') }}
</a> </a>
@endif @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->name && in_array(Auth::user()?->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
<button type="button" class="btn btn-soft-info btn-sm" <button type="button" class="btn btn-soft-info btn-sm"
data-bs-toggle="modal" data-bs-toggle="modal"
data-bs-target="#givingBonusModal"> data-bs-target="#givingBonusModal">
@@ -311,7 +319,7 @@
<div class="card"> <div class="card">
<div class="card-header align-items-center d-flex border-bottom-dashed"> <div class="card-header align-items-center d-flex border-bottom-dashed">
<h4 class="card-title mb-0 flex-grow-1"> @lang('translation.member-appraisers')</h4> <h4 class="card-title mb-0 flex-grow-1"> @lang('translation.member-appraisers')</h4>
@if(in_array(Auth::user()->role,['admin',\App\Enums\RoleEnum::MANAGER->name])) @if(in_array(Auth::user()?->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
<div class="flex-shrink-0"> <div class="flex-shrink-0">
<button type="button" class="btn btn-soft-danger btn-sm" <button type="button" class="btn btn-soft-danger btn-sm"
data-bs-toggle="modal" data-bs-toggle="modal"
@@ -343,7 +351,7 @@
</div> </div>
<div class="flex-shrink-0"> <div class="flex-shrink-0">
<div class="d-flex align-items-center gap-1"> <div class="d-flex align-items-center gap-1">
@if(in_array(Auth::user()->role,['admin',\App\Enums\RoleEnum::MANAGER->name])) @if(in_array(Auth::user()?->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
<form name="order-member{{ $member->id }}" <form name="order-member{{ $member->id }}"
action="{{ route('member.remove') }}" action="{{ route('member.remove') }}"
method="post" method="post"
@@ -505,7 +513,7 @@
</div> </div>
<!-- Page content end row --> <!-- Page content end row -->
@if(Auth::user()->role!=\App\Enums\RoleEnum::USER->name) @if(Auth::user()?->role!=\App\Enums\RoleEnum::USER->name)
<!-- Attachment adding Modal --> <!-- Attachment adding Modal -->
<div class="modal fade" id="attachModal" tabindex="-1" aria-labelledby="attachModalLabel" aria-hidden="true"> <div class="modal fade" id="attachModal" tabindex="-1" aria-labelledby="attachModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
@@ -590,7 +598,7 @@
</div> </div>
<!-- Attachment adding end modal --> <!-- Attachment adding end modal -->
@endif @endif
@if(in_array(Auth::user()->role,['admin',\App\Enums\RoleEnum::MANAGER->name])) @if(in_array(Auth::user()?->role,['admin',\App\Enums\RoleEnum::MANAGER->name]))
<!-- Invite members Modal --> <!-- Invite members Modal -->
<div class="modal fade" id="inviteMembersModal" tabindex="-1" aria-labelledby="inviteMembersModalLabel" <div class="modal fade" id="inviteMembersModal" tabindex="-1" aria-labelledby="inviteMembersModalLabel"
aria-hidden="true"> aria-hidden="true">

View File

@@ -83,7 +83,7 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<p class="text-muted mb-2"> @lang('translation.conclusion-file-pdf') </p> <p class="text-muted mb-2"> @lang('translation.conclusion-file-pdf') </p>
<input type="file" class="form-control @error('file') is-invalid @enderror" name="file"> <input type="file" class="form-control @error('file') is-invalid @enderror" name="file" required accept="application/pdf">
@error('file') @error('file')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
<strong>@lang($message,['attribute'=>trans('translation.file')])</strong> <strong>@lang($message,['attribute'=>trans('translation.file')])</strong>

View File

@@ -117,7 +117,7 @@
{{ __('translation.conclusions') }} {{ __('translation.conclusions') }}
</h4> </h4>
<div class="flex-shrink-0"> <div class="flex-shrink-0">
@if(in_array($order->status,[\App\Enums\OrderStatusEnum::STARTED->name,\App\Enums\OrderStatusEnum::REJECTED->name]) && $isAppraisers) @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]) }}" <a href="{{ route('conclusion.add', ['id' => $order->id,'type'=>\App\Enums\OrderTypeEnum::ESTATE->name]) }}"
type="button" class="btn btn-soft-info btn-sm"> type="button" class="btn btn-soft-info btn-sm">
<i class="ri-upload-2-fill me-1 align-bottom"></i> <i class="ri-upload-2-fill me-1 align-bottom"></i>

View File

@@ -42,86 +42,88 @@ Route::get('index/{locale}', [HomeController::class, 'lang']);
Route::get('/', [HomeController::class, 'index'])->name('root'); Route::get('/', [HomeController::class, 'index'])->name('root');
Route::get('index', [HomeController::class, 'index'])->name('index'); Route::get('index', [HomeController::class, 'index'])->name('index');
Route::get('v/{type}/{id}', [QrController::class, 'verify'])->name('qr.verify');
//Update User Details
Route::post('/update-profile/{id}', [ProfileController::class, 'updateProfile'])->name('updateProfile');
Route::post('/update-password/{id}', [ProfileController::class, 'updatePassword'])->name('updatePassword');
Route::get('qr/show/{content}', [QrController::class, 'show'])->name('qr.show');
Route::get('qr/re-generate/{id}/{type}', [QrController::class, 'reGenerate'])->name('qr.generate');
Route::get('conclusion/test-water-mark', [ConclusionController::class, 'testWaterMark'])->name('wm.show');
Route::post('/member/remove', [OrderMembersController::class, 'remove'])->name('member.remove');
Route::post('/members/invite', [OrderMembersController::class, 'invite'])->name('members.invite');
Route::get('/estate', [EstateController::class, 'index'])->name('estate.index');
Route::get('/estate/create', [EstateController::class, 'create'])->name('estate.create');
Route::post('/estate/store', [EstateController::class, 'store'])->name('estate.store');
Route::get('/estate/edit/{id}', [EstateController::class, 'edit'])->name('estate.edit');
Route::put('/estate/update/{id}', [EstateController::class, 'update'])->name('estate.update');
Route::get('/estate/show/{order}', [EstateController::class, 'show'])->name('estate.show');
Route::get('/estate/show-activities/{order}', [EstateController::class, 'showActivities'])->name('estate.show-activities');
Route::get('/estate/show-team/{order}', [EstateController::class, 'showTeam'])->name('estate.show-team');
Route::get('/estate/show-documents/{order}', [EstateController::class, 'showDocuments'])->name('estate.show-documents');
Route::put('/estate/order-clone/{id}', [EstateController::class, 'orderClone'])->name('estate.clone');
Route::get('/auto', [AutoController::class, 'index'])->name('auto.index');
Route::get('/auto/create', [AutoController::class, 'create'])->name('auto.create');
Route::post('/auto/store', [AutoController::class, 'store'])->name('auto.store');
Route::get('/auto/edit/{id}', [AutoController::class, 'edit'])->name('auto.edit');
Route::put('/auto/update/{id}', [AutoController::class, 'update'])->name('auto.update');
Route::get('/auto/show/{order}', [AutoController::class, 'show'])->name('auto.show');
Route::get('/auto/show-activities/{order}', [AutoController::class, 'showActivities'])->name('auto.show-activities');
Route::get('/auto/show-team/{order}', [AutoController::class, 'showTeam'])->name('auto.show-team');
Route::get('/auto/show-documents/{order}', [AutoController::class, 'showDocuments'])->name('auto.show-documents');
Route::put('/auto/order-clone/{id}', [AutoController::class, 'orderClone'])->name('auto.clone');
Route::get('/conclusion/add/{id}/{type}', [ConclusionController::class, 'create'])->name('conclusion.add');
Route::post('/conclusion/store', [ConclusionController::class, 'store'])->name('conclusion.store');
Route::put('/conclusion/reject', [ConclusionController::class, 'reject'])->name('conclusion.reject');
Route::get('/tools', [ToolsController::class, 'index'])->name('tools.index');
Route::get('/user', [UserController::class, 'index'])->name('user.index');
Route::post('/user/store', [UserController::class, 'create'])->name('user.store');
Route::get('/user/show/{id}', [UserController::class, 'show'])->name('user.show');
Route::put('/user/update', [UserController::class, 'update'])->name('user.update');
Route::post('/user/favourite/{id}', [UserController::class, 'favourite'])->name('user.favourite');
Route::put('/user/password/change', [UserController::class, 'updatePassword'])->name('password.change');
Route::get('/user/info/edit', [UserInfoController::class, 'edit'])->name('profile.info.edit');
Route::put('/user/info/store', [UserInfoController::class, 'update'])->name('profile.info.update');
Route::get('/profile/edit', [UserController::class, 'edit'])->name('profile.edit');
Route::put('/profile/update', [UserController::class, 'update'])->name('profile.update');
Route::get('/profile/show-activities', [ProfileController::class, 'showActivities'])->name('profile.show-activities');
Route::get('/profile/show-projects', [ProfileController::class, 'showProjects'])->name('profile.show-projects');
Route::get('/profile/show-documents', [ProfileController::class, 'showDocuments'])->name('profile.show-documents');
Route::get('/user/profile', [ProfileController::class, 'profile'], 'profile')->name('profile');
Route::put('/user/activate/{id}', [UserController::class, 'activate'])->name('user.activate');
Route::put('/user/block/{id}', [UserController::class, 'block'])->name('user.block');
Route::get('/user/appraisers', [UserController::class, 'appraisers'])->name('user.appraisers');
Route::get('/appraisers/bonus', [UserController::class, 'appraisersBonus'])->name('appraisers.bonus');
Route::delete('/diller/{id}', [UserController::class, 'destroy'])->name('diller.destroy');
Route::get('/diller', DillerController::class)->name('diller.index');
Route::get('/role', [RoleController::class, 'index'])->name('role.index');
Route::put('/role/permit', [RoleController::class, 'permit'])->name('role.permit');
Route::get('/notification/type', NotificationTypeController::class)->name('notification.type.index');
Route::get('/notification/template', [NotificationTemplateController::class, 'index'])->name('notification.template.index');
//Route::post('/store/my/file', [FileStoreController::class, 'storeMyFile'])->name('store.my.file');
Route::post('/attach/file', [FileStoreController::class, 'attachFiles'])->name('attach.files');
Route::post('/attach/profile-file', [FileStoreController::class, 'attachProfileFiles'])->name('profile.files');
Route::get('/download/{file}', [FileStoreController::class, 'downloadFile'])->name('download'); Route::get('/download/{file}', [FileStoreController::class, 'downloadFile'])->name('download');
Route::delete('file/delete/{file}', [FileStoreController::class, 'delete'])->name('file.delete');
Route::put('debit/credit', [BonusController::class, 'storeCredit'])->name('credit.store'); Route::group(['middleware' => ['auth']], function () {
Route::resource('/debit', DebitController::class); //Update User Details
Route::resource('bonus', BonusController::class); Route::post('/update-profile/{id}', [ProfileController::class, 'updateProfile'])->name('updateProfile');
Route::resource('certificates', CertificateController::class); Route::post('/update-password/{id}', [ProfileController::class, 'updatePassword'])->name('updatePassword');
Route::resource('purposes', PurposeController::class); Route::get('qr/show/{content}', [QrController::class, 'show'])->name('qr.show');
Route::resource('regions', RegionController::class); Route::get('qr/re-generate/{id}/{type}', [QrController::class, 'reGenerate'])->name('qr.generate');
Route::get('/regions/districts/{id}', [RegionController::class, 'districts'])->name('regions.districts'); Route::get('conclusion/test-water-mark', [ConclusionController::class, 'testWaterMark'])->name('wm.show');
Route::resource('districts', DistrictController::class);
Route::resource('concerns', ConcernController::class); Route::post('/member/remove', [OrderMembersController::class, 'remove'])->name('member.remove');
Route::post('/members/invite', [OrderMembersController::class, 'invite'])->name('members.invite');
Route::get('/estate', [EstateController::class, 'index'])->name('estate.index');
Route::get('/estate/create', [EstateController::class, 'create'])->name('estate.create');
Route::post('/estate/store', [EstateController::class, 'store'])->name('estate.store');
Route::get('/estate/edit/{id}', [EstateController::class, 'edit'])->name('estate.edit');
Route::put('/estate/update/{id}', [EstateController::class, 'update'])->name('estate.update');
Route::get('/estate/show/{order}', [EstateController::class, 'show'])->name('estate.show');
Route::get('/estate/show-activities/{order}', [EstateController::class, 'showActivities'])->name('estate.show-activities');
Route::get('/estate/show-team/{order}', [EstateController::class, 'showTeam'])->name('estate.show-team');
Route::get('/estate/show-documents/{order}', [EstateController::class, 'showDocuments'])->name('estate.show-documents');
Route::put('/estate/order-clone/{id}', [EstateController::class, 'orderClone'])->name('estate.clone');
Route::get('/auto', [AutoController::class, 'index'])->name('auto.index');
Route::get('/auto/create', [AutoController::class, 'create'])->name('auto.create');
Route::post('/auto/store', [AutoController::class, 'store'])->name('auto.store');
Route::get('/auto/edit/{id}', [AutoController::class, 'edit'])->name('auto.edit');
Route::put('/auto/update/{id}', [AutoController::class, 'update'])->name('auto.update');
Route::get('/auto/show/{order}', [AutoController::class, 'show'])->name('auto.show');
Route::get('/auto/show-activities/{order}', [AutoController::class, 'showActivities'])->name('auto.show-activities');
Route::get('/auto/show-team/{order}', [AutoController::class, 'showTeam'])->name('auto.show-team');
Route::get('/auto/show-documents/{order}', [AutoController::class, 'showDocuments'])->name('auto.show-documents');
Route::get('/auto/generate-pdf/{order}', [AutoController::class, 'generatePdf'])->name('auto.generate_pdf');
Route::put('/auto/order-clone/{id}', [AutoController::class, 'orderClone'])->name('auto.clone');
Route::get('/conclusion/add/{id}/{type}', [ConclusionController::class, 'create'])->name('conclusion.add');
Route::post('/conclusion/store', [ConclusionController::class, 'store'])->name('conclusion.store');
Route::put('/conclusion/reject', [ConclusionController::class, 'reject'])->name('conclusion.reject');
Route::get('/tools', [ToolsController::class, 'index'])->name('tools.index');
Route::get('/user', [UserController::class, 'index'])->name('user.index');
Route::post('/user/store', [UserController::class, 'create'])->name('user.store');
Route::get('/user/show/{id}', [UserController::class, 'show'])->name('user.show');
Route::put('/user/update', [UserController::class, 'update'])->name('user.update');
Route::post('/user/favourite/{id}', [UserController::class, 'favourite'])->name('user.favourite');
Route::put('/user/password/change', [UserController::class, 'updatePassword'])->name('password.change');
Route::get('/user/info/edit', [UserInfoController::class, 'edit'])->name('profile.info.edit');
Route::put('/user/info/store', [UserInfoController::class, 'update'])->name('profile.info.update');
Route::get('/profile/edit', [UserController::class, 'edit'])->name('profile.edit');
Route::put('/profile/update', [UserController::class, 'update'])->name('profile.update');
Route::get('/profile/show-activities', [ProfileController::class, 'showActivities'])->name('profile.show-activities');
Route::get('/profile/show-projects', [ProfileController::class, 'showProjects'])->name('profile.show-projects');
Route::get('/profile/show-documents', [ProfileController::class, 'showDocuments'])->name('profile.show-documents');
Route::get('/user/profile', [ProfileController::class, 'profile'])->name('profile');
Route::put('/user/activate/{id}', [UserController::class, 'activate'])->name('user.activate');
Route::put('/user/block/{id}', [UserController::class, 'block'])->name('user.block');
Route::get('/user/appraisers', [UserController::class, 'appraisers'])->name('user.appraisers');
Route::get('/appraisers/bonus', [UserController::class, 'appraisersBonus'])->name('appraisers.bonus');
Route::delete('/diller/{id}', [UserController::class, 'destroy'])->name('diller.destroy');
Route::get('/diller', DillerController::class)->name('diller.index');
Route::get('/role', [RoleController::class, 'index'])->name('role.index');
Route::put('/role/permit', [RoleController::class, 'permit'])->name('role.permit');
Route::get('/notification/type', NotificationTypeController::class)->name('notification.type.index');
Route::get('/notification/template', [NotificationTemplateController::class, 'index'])->name('notification.template.index');
Route::post('/attach/file', [FileStoreController::class, 'attachFiles'])->name('attach.files');
Route::post('/attach/profile-file', [FileStoreController::class, 'attachProfileFiles'])->name('profile.files');
Route::delete('file/delete/{file}', [FileStoreController::class, 'delete'])->name('file.delete');
Route::put('debit/credit', [BonusController::class, 'storeCredit'])->name('credit.store');
Route::resource('/debit', DebitController::class);
Route::resource('bonus', BonusController::class);
Route::resource('certificates', CertificateController::class);
Route::resource('purposes', PurposeController::class);
Route::resource('regions', RegionController::class);
Route::get('/regions/districts/{id}', [RegionController::class, 'districts'])->name('regions.districts');
Route::resource('districts', DistrictController::class);
Route::resource('concerns', ConcernController::class);
});
Route::get('{any}', [HomeController::class, 'pages'])->name('pages'); Route::get('{any}', [HomeController::class, 'pages'])->name('pages');

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB