{{ __('capacity.subtitle') }}
{{ __('capacity.queue_empty') }}
@else| {{ __('capacity.col_customer') }} | {{ __('capacity.col_plan') }} | {{ __('capacity.col_needs') }} | {{ __('capacity.col_datacenter') }} | {{ __('capacity.col_waiting') }} | {{ __('capacity.col_target') }} |
|---|---|---|---|---|---|
| {{ $entry['order']->customer?->name ?? '—' }} | {{ $entry['name'] }} | {{ $entry['needs'] }} GB | {{ $entry['datacenter'] }} | {{ $entry['waiting_since']->local()->diffForHumans() }} | {{-- One select, one value, no height change: the row stays a row (R20's exception), and the decision is the operator's — the placement rule only takes over again when nothing is chosen. --}}
@if ($pinnedHost !== null && ! $pinnedHost->canTake($entry['needs']))
{{-- A pin is honoured or it waits — never
quietly redirected. So say so, or the row
sits there looking like every other one
while it is the choice, not the estate,
that is holding it up. --}}
|
{{ __('capacity.needed_title') }}
{{ __('capacity.needed_body', [ 'mix' => collect($demand['by_plan'])->map(fn ($n, $plan) => $n.'× '.$plan)->join(', '), 'largest' => $demand['largest'], 'total' => $demand['total'], ]) }}
{{ __('capacity.hosts_empty') }}
@else| {{ $host->name }} | {{ $host->datacenter }} | {{ $host->availableGb() }} / {{ $host->freeGb() }} GB {{ __('capacity.free') }} |
{{ __('capacity.market_body', ['gb' => $demand['largest']]) }}
@if ($offers === []){{ __('capacity.market_none') }}
@else| CPU | RAM | {{ __('capacity.col_disks') }} | {{ __('capacity.col_usable') }} | {{ __('capacity.col_location') }} | {{ __('capacity.col_price') }} |
|---|---|---|---|---|---|
| {{ $offer['cpu'] }} | {{ $offer['ram'] }} GB | {{ $offer['disks'] }} | {{ number_format($offer['flash_gb'], 0, ',', '.') }} GB | {{ $offer['datacenter'] }} | {{ number_format($offer['price'], 2, ',', '.') }} € |
{{ __('capacity.market_note') }}
@endif