added complex address and devisions to company

This commit is contained in:
Mark Gregory
2026-07-03 10:12:04 +01:00
parent 6be15611eb
commit 0e067a15f3
25 changed files with 972 additions and 134 deletions
@@ -7,6 +7,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Validation\Rule;
use Modules\Company\Models\Company;
use Modules\Countries\Models\Country;
class CompanyController extends Controller
{
@@ -17,7 +18,8 @@ class CompanyController extends Controller
{
return view('company::index', [
'companies' => Company::query()
->withCount(['users', 'warehouses', 'licenseKeys'])
->with(['address.country'])
->withCount(['users', 'warehouses', 'licenseKeys', 'divisions'])
->latest('id')
->paginate(20),
]);
@@ -53,13 +55,25 @@ class CompanyController extends Controller
*/
public function show(Company $company)
{
$company->loadCount(['users', 'warehouses', 'licenseKeys', 'payments']);
$company->load([
'address.country',
'divisions.address.country',
'divisions.warehouses',
'divisions.users',
'warehouses.address.country',
'warehouses.division',
'directorAssignments.user',
'directorAssignments.division',
])->loadCount(['users', 'warehouses', 'licenseKeys', 'payments', 'divisions']);
return view('company::show', [
'company' => $company,
'recentUsers' => $company->users()->latest('id')->limit(5)->get(),
'recentWarehouses' => $company->warehouses()->latest('id')->limit(5)->get(),
'recentLicenseKeys' => $company->licenseKeys()->latest('id')->limit(5)->get(),
'countries' => Country::query()->active()->orderBy('sort_order')->orderBy('name')->get(['id', 'alpha2', 'name', 'display_name', 'common_name']),
'companyUsers' => $company->users()->orderBy('name')->get(['id', 'name', 'email', 'company_id']),
'unassignedWarehouses' => $company->warehouses()->whereNull('division_id')->orderBy('name')->get(),
]);
}