show doc and dashboard by user region

pull/2/head
ajikamaludin 2 years ago
parent 5ab08584e2
commit ccd57a542b

@ -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),
]);

@ -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
]);
}
}

@ -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(),
]);
}

10
composer.lock generated

@ -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",

@ -73,7 +73,7 @@ export default function Types(props) {
{regions?.map((region) => (
<tr key={region.id}>
<th>{region.id}</th>
<td>{region.name}</td>
<td>{`${region.name} (${region.group.name})`}</td>
<td>{region.group.name}</td>
<td className="text-right">
{canUpdate && (

@ -109,7 +109,9 @@ export default function Users(props) {
<td>{user.email}</td>
<td>{user?.role?.name}</td>
<td>{user?.region?.group?.name}</td>
<td>{user?.region?.name}</td>
<td>
{user.region ? `${user?.region?.name} (${user?.region?.group?.name})` : ''}
</td>
<td className="text-right">
{canUpdate && (
<div

@ -149,7 +149,7 @@ export default function UserFormModal(props) {
>
<option disabled value=""></option>
{regions.map(region => (
<option key={region.id} value={region.id}>{region.name}</option>
<option key={region.id} value={region.id}>{`${region.name} (${region.group.name})`}</option>
))}
</select>
<label className="label">

Loading…
Cancel
Save