big update all menus

This commit is contained in:
Wian Drs
2026-08-07 09:16:13 +07:00
parent 75342dc7b7
commit e7575ba1c0
101 changed files with 3451 additions and 89 deletions
@@ -3,6 +3,7 @@
namespace App\Http\Requests\Customer;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class ActivateCustomerRequest extends FormRequest
{
@@ -14,11 +15,16 @@ class ActivateCustomerRequest extends FormRequest
public function rules(): array
{
return [
'activation_source' => ['required', Rule::in(['list_order', 'ticket'])],
'package_profile_id' => ['required', 'integer', 'exists:nas_package_profiles,id'],
'nas_mikrotik_id' => ['required', 'integer', 'exists:nas_mikrotiks,id'],
'billing_profile_id' => ['required', 'integer', 'exists:billing_profiles,id'],
'topology_id' => ['nullable', 'integer', 'min:1'],
'external_username' => ['nullable', 'string', 'max:255'],
'external_username' => ['required', 'string', 'max:255'],
'external_password' => ['required', 'string', 'min:4', 'max:255'],
'mac_address' => ['nullable', 'regex:/^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$/'],
'serial_number' => ['nullable', 'string', 'max:120'],
'assigned_ip' => ['nullable', 'ip'],
];
}
}
@@ -17,7 +17,6 @@ class StoreCustomerRequest extends FormRequest
return [
'tenant_id' => ['nullable', 'integer', 'exists:tenants,id'],
'user_id' => ['nullable', 'integer', 'exists:users,id'],
'customer_code' => ['nullable', 'string', 'max:100'],
'name' => ['required', 'string', 'max:255'],
'identity_number' => ['nullable', 'string', 'max:100'],
'email' => ['nullable', 'email', 'max:255'],
@@ -32,10 +31,10 @@ class StoreCustomerRequest extends FormRequest
'package_profile_id' => ['nullable', 'integer', 'exists:nas_package_profiles,id'],
'nas_mikrotik_id' => ['nullable', 'integer', 'exists:nas_mikrotiks,id'],
'billing_profile_id' => ['nullable', 'integer', 'min:1'],
'topology_id' => ['nullable', 'integer', 'min:1'],
'external_username' => ['nullable', 'string', 'max:255'],
'topology_id' => ['nullable', 'integer', 'exists:topology_nodes,id'],
'topology_port_number' => ['nullable', 'required_with:topology_id', 'integer', 'min:1'],
'sales_user_id' => ['nullable', 'integer', 'exists:users,id'],
'source' => ['nullable', Rule::in(['manual', 'mikrotik', 'radius'])],
'order_stage' => ['nullable', Rule::in(['registration', 'data_completion', 'ready_activation', 'activation_failed'])],
'notes' => ['nullable', 'string'],
'images' => ['nullable', 'array', 'max:20'],
'images.*.stored_file_id' => ['required', 'integer', 'exists:stored_files,id'],