45 lines
1.2 KiB
PHP
Executable File
45 lines
1.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace Modules\Warehouse\app\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use Modules\Warehouse\app\Models\Warehouse;
|
|
|
|
class WarehouseController extends Controller
|
|
{
|
|
/**
|
|
* Display tenant warehouses.
|
|
*/
|
|
public function index()
|
|
{
|
|
return view('warehouse::warehouses.index', [
|
|
'warehouses' => Warehouse::withCount('validationRules')
|
|
->where('company_id', auth()->user()->company_id)
|
|
->orderBy('name')
|
|
->paginate(20),
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Create a tenant warehouse.
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
$data = $request->validate([
|
|
'code' => ['required', 'string', 'max:50'],
|
|
'name' => ['required', 'string', 'max:255'],
|
|
'address' => ['nullable', 'string', 'max:2000'],
|
|
]);
|
|
|
|
Warehouse::create([
|
|
...$data,
|
|
'company_id' => $request->user()->company_id,
|
|
'status' => 'active',
|
|
'timezone' => $request->user()->company->timezone ?? 'Europe/London',
|
|
]);
|
|
|
|
return back()->with('status', 'Warehouse created.');
|
|
}
|
|
}
|