feat: implement comprehensive modules for daily reports, project management, material logistics, and approval workflows

This commit is contained in:
Ajjj
2026-08-26 15:48:41 +08:00
parent d4e2b468ff
commit d6efc46624
52 changed files with 5275 additions and 932 deletions

View File

@@ -70,11 +70,11 @@ class ContractorController extends Controller
$validated = $request->validate([
'company_name' => 'required|string|max:255',
'contact_person' => 'required|string|max:255',
'email' => 'required|email|unique:contractors,email',
'phone' => 'nullable|string|max:50',
'email' => 'required|email|max:255|unique:contractors,email',
'phone' => 'required|string|max:50',
'specialization' => 'nullable|string|max:100',
'address' => 'nullable|string',
'tax_id' => 'nullable|string|max:50',
'address' => 'required|string',
'tax_id' => 'required|string|max:50',
'payment_terms' => 'required|in:net_15,net_30,net_60',
'shares_materials_catalog' => 'nullable|boolean',
'create_admin' => 'nullable|boolean',
@@ -171,11 +171,11 @@ class ContractorController extends Controller
$validated = $request->validate([
'company_name' => 'required|string|max:255',
'contact_person' => 'required|string|max:255',
'email' => "required|email|unique:contractors,email,{$contractor->id}",
'phone' => 'nullable|string|max:50',
'email' => "required|email|max:255|unique:contractors,email,{$contractor->id}",
'phone' => 'required|string|max:50',
'specialization' => 'nullable|string|max:100',
'address' => 'nullable|string',
'tax_id' => 'nullable|string|max:50',
'address' => 'required|string',
'tax_id' => 'required|string|max:50',
'payment_terms' => 'required|in:net_15,net_30,net_60',
'shares_materials_catalog' => 'nullable|boolean',
]);