@extends('layouts.master') @section('title', 'ONU Details') @section('css') @endsection @section('content')
@if (session('status')) @endif @if (session('error'))
@endif

{{ $onuDetails['sn'] }}

@if(isset($service) && $service->client) Go Back @else Go Back @endif
@php $wifiPorts = $onuDetails['wifi_ports']; @endphp {{-- WiFi Config --}} @can('wifi config') @if(count($wifiPorts) > 0) @endif @endcan {{-- Enable/Disable Hotspot --}} @php $hotspotPorts = collect($onuDetails['wifi_ports']); $hotspotPort = $hotspotPorts->firstWhere('port', 'wifi_0/2') ?: $hotspotPorts->firstWhere('port', 'wifi_0/6'); $isHotspotEnabled = $hotspotPort && strtolower($hotspotPort['admin_state'] ?? '') === 'enabled'; @endphp @if ($hotspotPorts->isNotEmpty()) @if ($isHotspotEnabled) @can('disable hotspot') @endcan @else @can('enable hotspot') @endcan @endif @endif {{-- Hotspot Hybrid Ports --}} @can('manage ports') @endcan {{-- Reboot --}} @can('reboot onu') @endcan {{-- Resync --}} @can('resync onu') @endcan {{-- Reconfigure --}} @php $primaryWifi = collect($onuDetails['wifi_ports'])->firstWhere('port', 'wifi_0/1') ?? ['ssid' => '', 'password' => '']; $localOnu = \App\Models\Onu::where('onu_external_id', $onuDetails['unique_external_id'])->first(); @endphp @if ($localOnu) @can('reconfigure onu') @endcan @endif
Basic Info
@if(isset($onuStatus['onu_status'])) @php $statusText = strtolower($onuStatus['onu_status']); switch ($statusText) { case 'online': $badgeClass = 'bg-success'; break; case 'offline': $badgeClass = 'bg-danger'; break; case 'power fail': $badgeClass = 'bg-dark'; break; case 'los': $badgeClass = 'bg-warning'; break; default: $badgeClass = 'bg-secondary'; } @endphp
Status {{ ucfirst($onuStatus['onu_status']) }}
@endif
OLT {{ $onuDetails['olt_name'] }}
Board/Port/Onu {{ $onuDetails['board'] }}/{{ $onuDetails['port'] }}/{{ $onuDetails['onu'] }}
Type
{{ $onuDetails['onu_type_name'] }} {{ strtoupper($onuDetails['pon_type']) }}
Zone {{ $onuDetails['zone_name'] }}
Name {{ $onuDetails['name'] }}
Mode {{ $onuDetails['mode'] }}
VLANs {{ collect($onuDetails['service_ports'])->pluck('vlan')->filter()->unique()->implode(', ') ?: '-' }}
Admin Status {{ $onuDetails['administrative_status'] }}
Auth Date {{ $onuDetails['authorization_date'] }}
@if(isset($onuSignal))
Signal
{{ $onuSignal['onu_signal_1310'] ?? '-' }}/{{ $onuSignal['onu_signal_1490'] ?? '-' }} @php $signalQuality = strtolower($onuSignal['onu_signal'] ?? ''); if ($signalQuality === 'very good') { $signalClass = 'bg-success'; } elseif ($signalQuality === 'good') { $signalClass = 'bg-warning'; } elseif ($signalQuality === 'critical') { $signalClass = 'bg-danger'; } else { $signalClass = 'bg-secondary'; } @endphp {{ $onuSignal['onu_signal'] ?? 'N/A' }}
@endif
@if(isset($onuStatus['onu_status'])) @php $statusText = strtolower($onuStatus['onu_status']); switch ($statusText) { case 'online': $badgeClass = 'bg-success'; break; case 'offline': $badgeClass = 'bg-danger'; break; case 'power fail': $badgeClass = 'bg-dark'; break; case 'los': $badgeClass = 'bg-danger'; break; default: $badgeClass = 'bg-secondary'; } @endphp @endif @if(isset($onuSignal)) @endif
Status {{ ucfirst($onuStatus['onu_status']) }}
OLT {{ $onuDetails['olt_name'] }}
Board/Port/Onu {{ $onuDetails['board'] }} / {{ $onuDetails['port'] }} / {{ $onuDetails['onu'] }}
Type {{ $onuDetails['onu_type_name'] }} {{ strtoupper($onuDetails['pon_type']) }}
Zone {{ $onuDetails['zone_name'] }}
Name {{ $onuDetails['name'] }}
Mode {{ $onuDetails['mode'] }}
VLANs {{ collect($onuDetails['service_ports'])->pluck('vlan')->filter()->unique()->implode(', ') ?: '-' }}
Admin Status {{ $onuDetails['administrative_status'] }}
Auth Date {{ $onuDetails['authorization_date'] }}
Signal {{ $onuSignal['onu_signal_1310'] ?? '-' }} / {{ $onuSignal['onu_signal_1490'] ?? '-' }} {{ $onuSignal['onu_signal'] ?? 'N/A' }}
{{--
Service Ports
{{ count($onuDetails['service_ports']) }} Total
@foreach($onuDetails['service_ports'] as $port)
Port: {{ $port['service_port'] }}
VLAN: {{ $port['vlan'] ?: '-' }}
Speed: {{ $port['upload_speed'] }} / {{ $port['download_speed'] }}
@endforeach
--}} @if(count($wifiPorts) > 0)
WiFi Config
@foreach($onuDetails['wifi_ports'] as $port) @php $portName = $port['port']; $isStandard = in_array($portName, ['wifi_0/1', 'wifi_0/5']); $isHotspot = in_array($portName, ['wifi_0/2', 'wifi_0/6']); // Define badge label without match() for PHP 7.x compatibility if ($portName === 'wifi_0/1') { $badgeLabel = '2.4GHz'; } elseif ($portName === 'wifi_0/5') { $badgeLabel = '5GHz'; } elseif ($portName === 'wifi_0/2') { $badgeLabel = 'Hotspot'; } elseif ($portName === 'wifi_0/6') { $badgeLabel = '5G Hotspot'; } else { $badgeLabel = strtoupper($portName); } $adminState = strtolower($port['admin_state'] ?? ''); $stateClass = $adminState === 'enabled' ? 'text-success' : 'text-danger'; // Skip disabled hotspot ports if ($isHotspot && $adminState !== 'enabled') { continue; } @endphp
{{ $badgeLabel }} {{ $adminState }}

Auth: {{ $port['auth_mode'] ?? 'N/A' }}

SSID: {{ $port['ssid'] ?? '-' }}

@endforeach
@endif
Ethernet Ports
@foreach($onuDetails['ethernet_ports'] as $port) @php $badgeClass = (strtolower($port['mode'] ?? '') === 'hybrid') ? 'bg-success' : 'bg-secondary'; $adminState = strtolower($port['admin_state'] ?? ''); $stateClass = $adminState === 'enabled' ? 'text-success' : 'text-danger'; @endphp
{{ $port['port'] }} {{ $port['admin_state'] }}

Mode: {{ $port['mode'] ?? 'N/A' }}

DHCP: {{ $port['dhcp'] ?? 'N/A' }}

@endforeach
@endsection @section('script') @endsection