Fix all page controllers and missing enums
- Update all controllers to pass required variables to views - Add MediaTypeEnum, OrderTypeEnum, TrackingActionTypeEnum enums - Fix RoleEnum, OrderStatusEnum completeness Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
33
app/Enums/MediaTypeEnum.php
Normal file
33
app/Enums/MediaTypeEnum.php
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
enum MediaTypeEnum: string
|
||||||
|
{
|
||||||
|
case ALL = 'all';
|
||||||
|
case PASSPORT_CUSTOMER = 'passport_customer';
|
||||||
|
case OBJECT_PHOTO = 'object_photo';
|
||||||
|
case OBJECT_FILES = 'object_files';
|
||||||
|
case CERTIFICATE = 'certificate';
|
||||||
|
case APPRAISER_CERTIFICATE = 'appraiser_certificate';
|
||||||
|
case INSURANCE_POLICY = 'insurance_policy';
|
||||||
|
case COMPARES = 'compares';
|
||||||
|
case PARTICIPATE_CERTIFICATE = 'participate_certificate';
|
||||||
|
case ADDITIONAL = 'additional';
|
||||||
|
|
||||||
|
public static function getLabel(string $type): string
|
||||||
|
{
|
||||||
|
return match($type) {
|
||||||
|
'passport_customer' => 'translation.passport-customer',
|
||||||
|
'object_photo' => 'translation.object-photo',
|
||||||
|
'object_files' => 'translation.object-files',
|
||||||
|
'certificate' => 'translation.certificate',
|
||||||
|
'appraiser_certificate' => 'translation.appraiser-certificate',
|
||||||
|
'insurance_policy' => 'translation.insurance-policy',
|
||||||
|
'compares' => 'translation.compares',
|
||||||
|
'participate_certificate'=> 'translation.participate-certificate',
|
||||||
|
'additional' => 'translation.additional',
|
||||||
|
default => $type,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
9
app/Enums/OrderTypeEnum.php
Normal file
9
app/Enums/OrderTypeEnum.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
enum OrderTypeEnum: string
|
||||||
|
{
|
||||||
|
case AUTO = 'auto_';
|
||||||
|
case ESTATE = 'estate_';
|
||||||
|
}
|
||||||
12
app/Enums/TrackingActionTypeEnum.php
Normal file
12
app/Enums/TrackingActionTypeEnum.php
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
enum TrackingActionTypeEnum: string
|
||||||
|
{
|
||||||
|
case ORDER = 'order_created';
|
||||||
|
case MEMBERS = 'members_added';
|
||||||
|
case ATTACHMENTS = 'attachment';
|
||||||
|
case COMPLETED = 'completed';
|
||||||
|
case REJECTED = 'rejected';
|
||||||
|
}
|
||||||
@@ -3,17 +3,51 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class AutoController extends Controller
|
class AutoController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('auto.index');
|
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']);
|
||||||
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
|
$query = DB::table('auto_orders')->orderByDesc('id');
|
||||||
|
|
||||||
|
if (!empty($filters['search'])) {
|
||||||
|
$s = '%' . $filters['search'] . '%';
|
||||||
|
$query->where(function ($q) use ($s) {
|
||||||
|
$q->where('number', 'like', $s)
|
||||||
|
->orWhere('ordered_customer', 'like', $s);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (!empty($filters['status'])) {
|
||||||
|
$query->where('status', $filters['status']);
|
||||||
|
}
|
||||||
|
if (!empty($filters['purpose'])) {
|
||||||
|
$query->where('purpose', $filters['purpose']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$orders = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
|
$stats = DB::table('auto_orders')
|
||||||
|
->selectRaw('status, count(*) as cnt')
|
||||||
|
->groupBy('status')
|
||||||
|
->pluck('cnt', 'status');
|
||||||
|
|
||||||
|
$purposeCases = DB::table('auto_orders')->distinct()->pluck('purpose');
|
||||||
|
$concerns = DB::table('concerns')->get();
|
||||||
|
|
||||||
|
return view('auto.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases', 'concerns'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
return view('auto.create');
|
$concerns = DB::table('concerns')->get();
|
||||||
|
$purposes = DB::table('purposes')->get();
|
||||||
|
$regions = DB::table('regions')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
return view('auto.create', compact('concerns', 'purposes', 'regions', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
@@ -23,7 +57,11 @@ class AutoController extends Controller
|
|||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('auto.edit', compact('id'));
|
$order = DB::table('auto_orders')->find($id);
|
||||||
|
$concerns = DB::table('concerns')->get();
|
||||||
|
$purposes = DB::table('purposes')->get();
|
||||||
|
$regions = DB::table('regions')->get();
|
||||||
|
return view('auto.edit', compact('order', 'concerns', 'purposes', 'regions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
@@ -33,22 +71,34 @@ class AutoController extends Controller
|
|||||||
|
|
||||||
public function show($order)
|
public function show($order)
|
||||||
{
|
{
|
||||||
return view('auto.show', compact('order'));
|
$order = DB::table('auto_orders')->find($order);
|
||||||
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
||||||
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
|
return view('auto.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showActivities($order)
|
public function showActivities($order)
|
||||||
{
|
{
|
||||||
return view('auto.show-activities', compact('order'));
|
$order = DB::table('auto_orders')->find($order);
|
||||||
|
$actions = DB::table('tracking_actions')->where('order_id', $order->id ?? 0)->latest()->get();
|
||||||
|
return view('auto.show-activities', compact('order', 'actions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showTeam($order)
|
public function showTeam($order)
|
||||||
{
|
{
|
||||||
return view('auto.show-team', compact('order'));
|
$order = DB::table('auto_orders')->find($order);
|
||||||
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
return view('auto.show-team', compact('order', 'members', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showDocuments($order)
|
public function showDocuments($order)
|
||||||
{
|
{
|
||||||
return view('auto.show-documents', compact('order'));
|
$order = DB::table('auto_orders')->find($order);
|
||||||
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get();
|
||||||
|
return view('auto.show-documents', compact('order', 'files'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function orderClone($id)
|
public function orderClone($id)
|
||||||
|
|||||||
@@ -3,12 +3,16 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class BonusController extends Controller
|
class BonusController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('bonus.index');
|
$size = $request->get('size', 20);
|
||||||
|
$bonuses = DB::table('bonuses')->orderByDesc('id')->paginate($size);
|
||||||
|
$bonus = null;
|
||||||
|
return view('bonus.index', compact('bonuses', 'bonus', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
@@ -23,12 +27,14 @@ class BonusController extends Controller
|
|||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('bonus.show', compact('id'));
|
$bonus = DB::table('bonuses')->find($id);
|
||||||
|
return view('bonus.show', compact('bonus'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('bonus.edit', compact('id'));
|
$bonus = DB::table('bonuses')->find($id);
|
||||||
|
return view('bonus.edit', compact('bonus'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
|
|||||||
@@ -3,12 +3,17 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class CertificateController extends Controller
|
class CertificateController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('certificate.index');
|
$size = $request->get('size', 20);
|
||||||
|
$certificates = DB::table('certificates')->orderByDesc('id')->paginate($size);
|
||||||
|
$certificate = null;
|
||||||
|
$message = session('message');
|
||||||
|
return view('certificate.index', compact('certificates', 'certificate', 'message', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
@@ -23,12 +28,14 @@ class CertificateController extends Controller
|
|||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('certificate.show', compact('id'));
|
$certificate = DB::table('certificates')->find($id);
|
||||||
|
return view('certificate.show', compact('certificate'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('certificate.edit', compact('id'));
|
$certificate = DB::table('certificates')->find($id);
|
||||||
|
return view('certificate.edit', compact('certificate'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
|
|||||||
@@ -3,41 +3,46 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class ConcernController extends Controller
|
class ConcernController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('concerns.index');
|
$concerns = DB::table('concerns')->get();
|
||||||
|
$concern = null;
|
||||||
|
return view('concerns.index', compact('concerns', 'concern'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create() { return view('concerns.create'); }
|
||||||
{
|
|
||||||
return view('concerns.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
DB::table('concerns')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('concerns.index');
|
return redirect()->route('concerns.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('concerns.show', compact('id'));
|
$concern = DB::table('concerns')->find($id);
|
||||||
|
return view('concerns.show', compact('concern'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('concerns.edit', compact('id'));
|
$concern = DB::table('concerns')->find($id);
|
||||||
|
return view('concerns.edit', compact('concern'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
DB::table('concerns')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('concerns.index');
|
return redirect()->route('concerns.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
|
DB::table('concerns')->delete($id);
|
||||||
return redirect()->route('concerns.index');
|
return redirect()->route('concerns.index');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,17 +3,31 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class DebitController extends Controller
|
class DebitController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('debit.index');
|
$filters = $request->only(['search', 'status', 'appraiser']);
|
||||||
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
|
$query = DB::table('debits')->orderByDesc('id');
|
||||||
|
if (!empty($filters['appraiser'])) $query->where('appraiser_id', $filters['appraiser']);
|
||||||
|
if (!empty($filters['status'])) $query->where('status', $filters['status']);
|
||||||
|
|
||||||
|
$debits = $query->paginate($size)->withQueryString();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
||||||
|
$debit = null;
|
||||||
|
$appraiser = null;
|
||||||
|
|
||||||
|
return view('debit.index', compact('debits', 'appraisers', 'filters', 'debit', 'appraiser', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
return view('debit.create');
|
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
||||||
|
return view('debit.create', compact('appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
@@ -23,12 +37,15 @@ class DebitController extends Controller
|
|||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('debit.show', compact('id'));
|
$debit = DB::table('debits')->find($id);
|
||||||
|
return view('debit.show', compact('debit'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('debit.edit', compact('id'));
|
$debit = DB::table('debits')->find($id);
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
||||||
|
return view('debit.edit', compact('debit', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
|
|||||||
@@ -3,11 +3,15 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class DillerController extends Controller
|
class DillerController extends Controller
|
||||||
{
|
{
|
||||||
public function __invoke(Request $request)
|
public function __invoke(Request $request)
|
||||||
{
|
{
|
||||||
return view('diller.index');
|
$size = $request->get('size', 20);
|
||||||
|
$dillers = DB::table('users')->where('role', 'diller')->paginate($size);
|
||||||
|
$user = auth()->user();
|
||||||
|
return view('diller.index', compact('dillers', 'user', 'size'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,41 +3,46 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class DistrictController extends Controller
|
class DistrictController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('districts.index');
|
$districts = DB::table('districts')->get();
|
||||||
|
$district = null;
|
||||||
|
return view('districts.index', compact('districts', 'district'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create() { return view('districts.create'); }
|
||||||
{
|
|
||||||
return view('districts.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
DB::table('districts')->insert(['name' => $request->name, 'region_id' => $request->region_id, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('districts.index');
|
return redirect()->route('districts.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('districts.show', compact('id'));
|
$district = DB::table('districts')->find($id);
|
||||||
|
return view('districts.show', compact('district'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('districts.edit', compact('id'));
|
$district = DB::table('districts')->find($id);
|
||||||
|
return view('districts.edit', compact('district'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
DB::table('districts')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('districts.index');
|
return redirect()->route('districts.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
|
DB::table('districts')->delete($id);
|
||||||
return redirect()->route('districts.index');
|
return redirect()->route('districts.index');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,17 +3,50 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class EstateController extends Controller
|
class EstateController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('estate.index');
|
$filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']);
|
||||||
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
|
$query = DB::table('estate_orders')->orderByDesc('id');
|
||||||
|
|
||||||
|
if (!empty($filters['search'])) {
|
||||||
|
$s = '%' . $filters['search'] . '%';
|
||||||
|
$query->where(function ($q) use ($s) {
|
||||||
|
$q->where('number', 'like', $s)
|
||||||
|
->orWhere('ordered_customer', 'like', $s);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (!empty($filters['status'])) {
|
||||||
|
$query->where('status', $filters['status']);
|
||||||
|
}
|
||||||
|
if (!empty($filters['purpose'])) {
|
||||||
|
$query->where('purpose', $filters['purpose']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$orders = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
|
$stats = DB::table('estate_orders')
|
||||||
|
->selectRaw('status, count(*) as cnt')
|
||||||
|
->groupBy('status')
|
||||||
|
->pluck('cnt', 'status');
|
||||||
|
|
||||||
|
$purposeCases = DB::table('estate_orders')->distinct()->pluck('purpose');
|
||||||
|
|
||||||
|
return view('estate.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
return view('estate.create');
|
$purposes = DB::table('purposes')->get();
|
||||||
|
$regions = DB::table('regions')->get();
|
||||||
|
$concerns = DB::table('concerns')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
return view('estate.create', compact('purposes', 'regions', 'concerns', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
@@ -23,7 +56,11 @@ class EstateController extends Controller
|
|||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('estate.edit', compact('id'));
|
$order = DB::table('estate_orders')->find($id);
|
||||||
|
$purposes = DB::table('purposes')->get();
|
||||||
|
$regions = DB::table('regions')->get();
|
||||||
|
$concerns = DB::table('concerns')->get();
|
||||||
|
return view('estate.edit', compact('order', 'purposes', 'regions', 'concerns'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
@@ -33,22 +70,34 @@ class EstateController extends Controller
|
|||||||
|
|
||||||
public function show($order)
|
public function show($order)
|
||||||
{
|
{
|
||||||
return view('estate.show', compact('order'));
|
$order = DB::table('estate_orders')->find($order);
|
||||||
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
$isAppraisers = $members->where('user_id', auth()->id())->count() > 0;
|
||||||
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
|
return view('estate.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showActivities($order)
|
public function showActivities($order)
|
||||||
{
|
{
|
||||||
return view('estate.show-activities', compact('order'));
|
$order = DB::table('estate_orders')->find($order);
|
||||||
|
$actions = DB::table('tracking_actions')->where('order_id', $order->id ?? 0)->latest()->get();
|
||||||
|
return view('estate.show-activities', compact('order', 'actions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showTeam($order)
|
public function showTeam($order)
|
||||||
{
|
{
|
||||||
return view('estate.show-team', compact('order'));
|
$order = DB::table('estate_orders')->find($order);
|
||||||
|
$members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get();
|
||||||
|
return view('estate.show-team', compact('order', 'members', 'appraisers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showDocuments($order)
|
public function showDocuments($order)
|
||||||
{
|
{
|
||||||
return view('estate.show-documents', compact('order'));
|
$order = DB::table('estate_orders')->find($order);
|
||||||
|
$files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get();
|
||||||
|
return view('estate.show-documents', compact('order', 'files'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function orderClone($id)
|
public function orderClone($id)
|
||||||
|
|||||||
@@ -3,41 +3,46 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class PurposeController extends Controller
|
class PurposeController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('purposes.index');
|
$purposes = DB::table('purposes')->get();
|
||||||
|
$purpose = null;
|
||||||
|
return view('purposes.index', compact('purposes', 'purpose'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create() { return view('purposes.create'); }
|
||||||
{
|
|
||||||
return view('purposes.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
DB::table('purposes')->insert(['name' => $request->name, 'type' => $request->type, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('purposes.index');
|
return redirect()->route('purposes.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('purposes.show', compact('id'));
|
$purpose = DB::table('purposes')->find($id);
|
||||||
|
return view('purposes.show', compact('purpose'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('purposes.edit', compact('id'));
|
$purpose = DB::table('purposes')->find($id);
|
||||||
|
return view('purposes.edit', compact('purpose'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
DB::table('purposes')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('purposes.index');
|
return redirect()->route('purposes.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
|
DB::table('purposes')->delete($id);
|
||||||
return redirect()->route('purposes.index');
|
return redirect()->route('purposes.index');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,46 +3,52 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class RegionController extends Controller
|
class RegionController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('regions.index');
|
$regions = DB::table('regions')->get();
|
||||||
|
$region = null;
|
||||||
|
return view('regions.index', compact('regions', 'region'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create() { return view('regions.create'); }
|
||||||
{
|
|
||||||
return view('regions.create');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
DB::table('regions')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]);
|
||||||
return redirect()->route('regions.index');
|
return redirect()->route('regions.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('regions.show', compact('id'));
|
$region = DB::table('regions')->find($id);
|
||||||
|
return view('regions.show', compact('region'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
return view('regions.edit', compact('id'));
|
$region = DB::table('regions')->find($id);
|
||||||
|
return view('regions.edit', compact('region'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
DB::table('regions')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]);
|
||||||
return redirect()->route('regions.index');
|
return redirect()->route('regions.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
|
DB::table('regions')->delete($id);
|
||||||
return redirect()->route('regions.index');
|
return redirect()->route('regions.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function districts($id)
|
public function districts($id)
|
||||||
{
|
{
|
||||||
return response()->json([]);
|
$districts = DB::table('districts')->where('region_id', $id)->get();
|
||||||
|
return response()->json($districts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,16 +3,30 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class RoleController extends Controller
|
class RoleController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('role.index');
|
$role = $request->get('role', 'user');
|
||||||
|
$size = $request->get('size', 20);
|
||||||
|
|
||||||
|
$users = DB::table('users')->where('role', $role)->paginate($size)->withQueryString();
|
||||||
|
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||||
|
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
|
$user = auth()->user();
|
||||||
|
|
||||||
|
return view('role.index', compact('users', 'role', 'roleStats', 'statusStats', 'user', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function permit(Request $request)
|
public function permit(Request $request)
|
||||||
{
|
{
|
||||||
|
$userId = $request->get('user_id');
|
||||||
|
$role = $request->get('role');
|
||||||
|
if ($userId && $role) {
|
||||||
|
DB::table('users')->where('id', $userId)->update(['role' => $role]);
|
||||||
|
}
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,27 +3,59 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
return view('user.index');
|
$size = $request->get('size', 20);
|
||||||
|
$role = $request->get('role');
|
||||||
|
$status = $request->get('status');
|
||||||
|
$search = $request->get('search');
|
||||||
|
|
||||||
|
$query = DB::table('users')->orderByDesc('id');
|
||||||
|
if ($role) $query->where('role', $role);
|
||||||
|
if ($status) $query->where('status', $status);
|
||||||
|
if ($search) $query->where('name', 'like', "%$search%")->orWhere('phone', 'like', "%$search%");
|
||||||
|
|
||||||
|
$users = $query->paginate($size)->withQueryString();
|
||||||
|
|
||||||
|
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||||
|
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
|
$user = auth()->user();
|
||||||
|
$message = session('message');
|
||||||
|
|
||||||
|
return view('user.index', compact('users', 'roleStats', 'statusStats', 'user', 'message', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create(Request $request)
|
public function create(Request $request)
|
||||||
{
|
{
|
||||||
return redirect()->route('user.index');
|
DB::table('users')->insert([
|
||||||
|
'name' => $request->name,
|
||||||
|
'phone' => $request->phone,
|
||||||
|
'password' => Hash::make($request->password ?? '12345678'),
|
||||||
|
'avatar' => '/assets/images/users/avatar-5.jpg',
|
||||||
|
'status' => 'active',
|
||||||
|
'role' => $request->role ?? 'user',
|
||||||
|
'balance' => 0,
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
]);
|
||||||
|
return redirect()->route('user.index')->with('message', 'User created');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('user.show', compact('id'));
|
$user = DB::table('users')->find($id);
|
||||||
|
return view('user.show', compact('user'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function edit()
|
public function edit()
|
||||||
{
|
{
|
||||||
return view('user.edit');
|
$user = auth()->user();
|
||||||
|
return view('user.edit', compact('user'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request)
|
public function update(Request $request)
|
||||||
@@ -43,22 +75,30 @@ class UserController extends Controller
|
|||||||
|
|
||||||
public function activate($id)
|
public function activate($id)
|
||||||
{
|
{
|
||||||
|
DB::table('users')->where('id', $id)->update(['status' => 'active']);
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function block($id)
|
public function block($id)
|
||||||
{
|
{
|
||||||
|
DB::table('users')->where('id', $id)->update(['status' => 'inactive']);
|
||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function appraisers()
|
public function appraisers(Request $request)
|
||||||
{
|
{
|
||||||
return view('user.appraisers');
|
$size = $request->get('size', 20);
|
||||||
|
$users = DB::table('users')->where('role', 'appraiser')->paginate($size);
|
||||||
|
$roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role');
|
||||||
|
$statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status');
|
||||||
|
$user = auth()->user();
|
||||||
|
return view('user.appraisers', compact('users', 'roleStats', 'statusStats', 'user', 'size'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function appraisersBonus()
|
public function appraisersBonus()
|
||||||
{
|
{
|
||||||
return view('user.appraisers-bonus');
|
$users = DB::table('users')->where('role', 'appraiser')->get();
|
||||||
|
return view('user.appraisers-bonus', compact('users'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
|
|||||||
Reference in New Issue
Block a user