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:
@@ -3,17 +3,50 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
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()
|
||||
{
|
||||
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)
|
||||
@@ -23,7 +56,11 @@ class EstateController extends Controller
|
||||
|
||||
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)
|
||||
@@ -33,22 +70,34 @@ class EstateController extends Controller
|
||||
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user