M3 Integration fixes

This commit is contained in:
Mark Gregory
2026-09-21 10:14:57 +01:00
parent 4af997c465
commit 6d60cbff84
5853 changed files with 79032 additions and 1825 deletions
+8 -6
View File
@@ -11,6 +11,8 @@ use Modules\Warehouse\app\Models\Warehouse;
class CompanyAddressController extends Controller
{
private const MAX_STRING = 'max:255';
public function updateCompany(Request $request, Company $company)
{
$this->upsertAddress($request, $company);
@@ -40,12 +42,12 @@ class CompanyAddressController extends Controller
{
$data = $request->validate([
'label' => ['nullable', 'string', 'max:80'],
'attention' => ['nullable', 'string', 'max:255'],
'line_1' => ['required', 'string', 'max:255'],
'line_2' => ['nullable', 'string', 'max:255'],
'line_3' => ['nullable', 'string', 'max:255'],
'locality' => ['required', 'string', 'max:255'],
'administrative_area' => ['nullable', 'string', 'max:255'],
'attention' => ['nullable', 'string', self::MAX_STRING],
'line_1' => ['required', 'string', self::MAX_STRING],
'line_2' => ['nullable', 'string', self::MAX_STRING],
'line_3' => ['nullable', 'string', self::MAX_STRING],
'locality' => ['required', 'string', self::MAX_STRING],
'administrative_area' => ['nullable', 'string', self::MAX_STRING],
'postal_code' => ['nullable', 'string', 'max:32'],
'country_id' => ['required', Rule::exists('countries', 'id')->where('is_active', true)],
'country_subdivision_id' => ['nullable', 'exists:country_subdivisions,id'],
+1 -1
View File
@@ -45,7 +45,7 @@ class CompanyController extends Controller
*/
public function store(Request $request)
{
$company = Company::create($this->validated($request));
Company::create($this->validated($request));
return redirect()
->route('platform.companies.index')
View File
+1 -2
View File
@@ -3,12 +3,11 @@
namespace Modules\Company\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Modules\Company\Models\Company;
use Modules\Company\Models\CompanyDivision;
use Modules\Company\Models\CompanyDirectorAssignment;
use Modules\Company\Models\CompanyDivision;
class CompanyMembershipController extends Controller
{
+1 -3
View File
@@ -9,8 +9,8 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphOne;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Str;
use Modules\Platform\app\Models\LicenseKey;
use Modules\Countries\Models\Country;
use Modules\Platform\app\Models\LicenseKey;
use Modules\Platform\app\Models\Payment;
use Modules\Warehouse\app\Models\Warehouse;
@@ -38,8 +38,6 @@ class Company extends Model
});
}
public function country(): BelongsTo
{
return $this->belongsTo(Country::class);
View File
View File
View File
View File
View File
View File
View File
+1
View File
@@ -109,6 +109,7 @@
<div class="overflow-x-auto rounded-2xl bg-white shadow-sm ring-1 ring-zinc-200 dark:bg-zinc-900 dark:ring-zinc-800">
<table class="min-w-full text-sm">
<caption class="sr-only">Data table</caption>
<thead>
<tr class="border-b border-zinc-200 dark:border-zinc-800">
<th class="p-4 text-left">Name</th>
View File
+8 -8
View File
@@ -215,7 +215,7 @@
</div>
<form method="POST" action="{{ route('platform.companies.warehouses.division.update', [$company, $warehouse]) }}" class="contents">
@csrf @method('PUT')
<select name="division_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<select aria-label="Division Id" name="division_id" class="rounded-xl border-zinc-300 dark:border-zinc-700 dark:bg-zinc-950">
<option value="">Company-level warehouse</option>
@foreach($company->divisions as $divisionOption)
<option value="{{ $divisionOption->id }}" @selected($warehouse->division_id === $divisionOption->id)>{{ $divisionOption->name }}</option>
@@ -253,18 +253,18 @@
<div class="grid gap-4 md:grid-cols-4 md:items-end">
<div>
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Division name</label>
<input name="name" value="{{ $division->name }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" required>
<label for="sonar-input-47ea6fa2d4" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Division name</label>
<input name="name" value="{{ $division->name }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" required id="division_name">
</div>
<div>
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Code</label>
<input name="code" value="{{ $division->code }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">
<label for="sonar-input-5c50085e3c" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Code</label>
<input name="code" value="{{ $division->code }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" id="sonar-input-5c50085e3c">
</div>
<div class="wms-select2-field">
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Status</label>
<select name="status" data-wms-select2 data-placeholder="Select status" class="wms-select2-control">
<label for="sonar-select-47ea6fa2d4" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Status</label>
<select name="status" data-wms-select2 data-placeholder="Select status" class="wms-select2-control" id="sonar-select-47ea6fa2d4">
<option value="active" @selected($division->status === 'active')>Active</option>
<option value="suspended" @selected($division->status === 'suspended')>Suspended</option>
<option value="inactive" @selected($division->status === 'inactive')>Inactive</option>
@@ -276,7 +276,7 @@
<div>
<label class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Description</label>
<textarea name="description" rows="3" class="mt-2 w-full rounded-xl border-zinc-300 bg-white px-4 py-3 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">{{ $division->description }}</textarea>
<textarea aria-label="Description" name="description" rows="3" class="mt-2 w-full rounded-xl border-zinc-300 bg-white px-4 py-3 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">{{ $division->description }}</textarea>
</div>
</form>
<div class="mt-6"><h4 class="font-semibold">Division address</h4><form method="POST" action="{{ route('platform.companies.divisions.address.update', [$company, $division]) }}" class="mt-4">@csrf @method('PUT')@include('company::partials.address-form', ['address' => $division->address, 'defaultLabel' => 'Operating address'])</form></div>
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File