diff --git a/app/Http/Controllers/DocumentController.php b/app/Http/Controllers/DocumentController.php index 626fca3..fd4d8d0 100644 --- a/app/Http/Controllers/DocumentController.php +++ b/app/Http/Controllers/DocumentController.php @@ -43,6 +43,11 @@ class DocumentController extends Controller }); } + if($request->user()->region_id != null) { + $companies = Company::where('region_id', $request->user()->region_id)->pluck('id')->toArray(); + $query->whereIn('company_id', $companies); + } + return inertia('Document/Index', [ 'docs' => $query->paginate(10), ]); diff --git a/app/Http/Controllers/GeneralController.php b/app/Http/Controllers/GeneralController.php index 6a2cdc1..c502d09 100644 --- a/app/Http/Controllers/GeneralController.php +++ b/app/Http/Controllers/GeneralController.php @@ -2,26 +2,44 @@ namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Models\Company; use App\Models\Category; use App\Models\Document; class GeneralController extends Controller { - public function index() + public function index(Request $request) { + $companies = []; + if($request->user()->region_id != null) { + $companies = Company::where('region_id', $request->user()->region_id)->pluck('id')->toArray(); + } + $count = 0; $categories = Category::all(); foreach($categories as $category) { - foreach($category->documents as $docs) { + if(count($companies) > 0) { + $documents = $category->documents()->whereIn('company_id', $companies)->get(); + } else { + $documents = $category->documents; + } + foreach($documents as $docs) { if ($docs->is_close_due != 0) { $count += 1; } } } + if(count($companies) > 0) { + $update = Document::whereDate('due_date', '<=', now()->toDateString())->whereIn('company_id', $companies)->count(); + } else { + $update = Document::whereDate('due_date', '<=', now()->toDateString())->count(); + } + return inertia('Dashboard', [ 'count_active' => $count, - 'count_update' => Document::whereDate('due_date', '<=', now()->toDateString())->count(), + 'count_update' => $update ]); } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index e583fdf..2b63491 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -25,7 +25,7 @@ class UserController extends Controller return inertia('User/Index', [ 'users' => $query->paginate(10), 'roles' => Role::all(), - 'regions' => Region::all(), + 'regions' => Region::with(['group'])->get(), ]); } diff --git a/composer.lock b/composer.lock index dbe81e7..4230edf 100644 --- a/composer.lock +++ b/composer.lock @@ -1251,16 +1251,16 @@ }, { "name": "laravel/framework", - "version": "v9.50.1", + "version": "v9.50.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "3b400f76619cd5257a69fdd6b897043b6522a89a" + "reference": "39932773c09658ddea9045958f305e67f9304995" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/3b400f76619cd5257a69fdd6b897043b6522a89a", - "reference": "3b400f76619cd5257a69fdd6b897043b6522a89a", + "url": "https://api.github.com/repos/laravel/framework/zipball/39932773c09658ddea9045958f305e67f9304995", + "reference": "39932773c09658ddea9045958f305e67f9304995", "shasum": "" }, "require": { @@ -1435,7 +1435,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-02-01T17:36:26+00:00" + "time": "2023-02-02T20:52:46+00:00" }, { "name": "laravel/sanctum", diff --git a/resources/js/Pages/Region/Index.jsx b/resources/js/Pages/Region/Index.jsx index 797fc1e..44e4026 100644 --- a/resources/js/Pages/Region/Index.jsx +++ b/resources/js/Pages/Region/Index.jsx @@ -73,7 +73,7 @@ export default function Types(props) { {regions?.map((region) => ( {region.id} - {region.name} + {`${region.name} (${region.group.name})`} {region.group.name} {canUpdate && ( diff --git a/resources/js/Pages/User/Index.jsx b/resources/js/Pages/User/Index.jsx index 0df743e..8da6aee 100644 --- a/resources/js/Pages/User/Index.jsx +++ b/resources/js/Pages/User/Index.jsx @@ -109,7 +109,9 @@ export default function Users(props) { {user.email} {user?.role?.name} {user?.region?.group?.name} - {user?.region?.name} + + {user.region ? `${user?.region?.name} (${user?.region?.group?.name})` : ''} + {canUpdate && (
{regions.map(region => ( - + ))}