Fix missing enums and dashboard variables
- Add RoleEnum::MANAGER case - Add OrderStatusEnum with all statuses and getLabel() method - Fix HomeController::index() to pass all required view variables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
26
app/Enums/OrderStatusEnum.php
Normal file
26
app/Enums/OrderStatusEnum.php
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
enum OrderStatusEnum: string
|
||||||
|
{
|
||||||
|
case DRAFT = 'draft';
|
||||||
|
case STARTED = 'started';
|
||||||
|
case FINISHED = 'finished';
|
||||||
|
case MODERATED = 'moderated';
|
||||||
|
case APPROVED = 'approved';
|
||||||
|
case REJECTED = 'rejected';
|
||||||
|
|
||||||
|
public static function getLabel(string $status): string
|
||||||
|
{
|
||||||
|
return match($status) {
|
||||||
|
'draft' => 'translation.draft',
|
||||||
|
'started' => 'translation.started',
|
||||||
|
'finished' => 'translation.finished',
|
||||||
|
'moderated' => 'translation.moderated',
|
||||||
|
'approved' => 'translation.approved',
|
||||||
|
'rejected' => 'translation.rejected',
|
||||||
|
default => $status,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ namespace App\Enums;
|
|||||||
enum RoleEnum: string
|
enum RoleEnum: string
|
||||||
{
|
{
|
||||||
case ADMIN = 'admin';
|
case ADMIN = 'admin';
|
||||||
|
case MANAGER = 'manager';
|
||||||
case USER = 'user';
|
case USER = 'user';
|
||||||
case APPRAISER = 'appraiser';
|
case APPRAISER = 'appraiser';
|
||||||
case DILLER = 'diller';
|
case DILLER = 'diller';
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class HomeController extends Controller
|
class HomeController extends Controller
|
||||||
{
|
{
|
||||||
@@ -13,7 +14,48 @@ class HomeController extends Controller
|
|||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('index');
|
$summaryPrice = DB::table('auto_orders')
|
||||||
|
->whereNotNull('cost')
|
||||||
|
->sum('cost')
|
||||||
|
+ DB::table('estate_orders')
|
||||||
|
->whereNotNull('cost')
|
||||||
|
->sum('cost');
|
||||||
|
|
||||||
|
$autoOrders = DB::table('auto_orders')->count();
|
||||||
|
$estateOrders = DB::table('estate_orders')->count();
|
||||||
|
|
||||||
|
$recentOrders = collect(
|
||||||
|
DB::table('auto_orders')->latest()->limit(5)->get()->map(fn($o) => (object)array_merge((array)$o, ['type' => 'auto_']))
|
||||||
|
)->merge(
|
||||||
|
DB::table('estate_orders')->latest()->limit(5)->get()->map(fn($o) => (object)array_merge((array)$o, ['type' => 'estate_']))
|
||||||
|
)->sortByDesc('created_at')->take(10)->values();
|
||||||
|
|
||||||
|
$forModerate = collect(
|
||||||
|
DB::table('auto_orders')->where('status', 'moderated')->latest()->limit(10)->get()->map(fn($o) => (object)array_merge((array)$o, ['type' => 'auto_']))
|
||||||
|
)->merge(
|
||||||
|
DB::table('estate_orders')->where('status', 'moderated')->latest()->limit(10)->get()->map(fn($o) => (object)array_merge((array)$o, ['type' => 'estate_']))
|
||||||
|
)->sortByDesc('updated_at')->take(10)->values();
|
||||||
|
|
||||||
|
$actions = DB::table('tracking_actions')->latest()->limit(20)->get();
|
||||||
|
|
||||||
|
$appraiserChart = [[], []];
|
||||||
|
$appraisers = DB::table('users')->where('role', 'appraiser')->get();
|
||||||
|
foreach ($appraisers as $appraiser) {
|
||||||
|
$appraiserChart[0][] = $appraiser->name;
|
||||||
|
$count = DB::table('auto_orders')->where('appraiser_id', $appraiser->id)->count()
|
||||||
|
+ DB::table('estate_orders')->where('appraiser_id', $appraiser->id)->count();
|
||||||
|
$appraiserChart[1][] = $count;
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('index', compact(
|
||||||
|
'summaryPrice',
|
||||||
|
'autoOrders',
|
||||||
|
'estateOrders',
|
||||||
|
'recentOrders',
|
||||||
|
'forModerate',
|
||||||
|
'actions',
|
||||||
|
'appraiserChart'
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lang($locale)
|
public function lang($locale)
|
||||||
|
|||||||
Reference in New Issue
Block a user