{{ trans_choice('admin/hardware/form.bulk_update_warn', count($assets), ['asset_count' => count($assets)]) }}
@if (count($models) > 0)
{{ trans_choice('admin/hardware/form.bulk_update_with_custom_field', count($models), ['asset_model_count' => count($models)]) }}
@endif
{{-- Name + inline null-toggle. The col-md-5 sibling next
to the input doesn't fit any current x-form.row slot
(after_input is col-md-1), so this stays hand-rolled.
Same pattern for purchase_date / expected_checkin /
asset_eol_date / next_audit_date below. --}}
{{-- Purchase date --}}
{{-- Expected checkin date --}}
{{-- EOL date --}}
{{-- Auto-calculate EOL based on purchase date + model EOL rule --}}
{{-- Status. Includes a status-compatibility help block and a
live status_check() AJAX result span (populated by the
JS handler in @section('moar_scripts') below). --}}
{{ trans('general.status_compatibility') }}
{{-- Actual-location update rule (3-way radio) --}}
{{-- Purchase cost + Order number bulk edits. Assets
have no per-row currency column, so if the
selection contains assets whose original orders
were in different currencies, one numeric value
written here reads as the system default currency
for every row regardless. Behavior is preserved
from the pre-orders-refactor era and callers are
expected to narrow the selection to one currency
before using these fields. --}}
{{-- Warranty months with unit-suffix addon. Free-text addon
needs slot:input. --}}
{{ trans('admin/hardware/form.months') }}
{{-- Next audit date + inline null-toggle + extra help
block on its own row. Same inline-null reasoning as
the name/date rows above, plus the trailing help
block that doesn't fit x-form.row's help_text slot
(which renders inside the input column, not below
as its own grid row). --}}
{!! trans('general.next_audit_date_help') !!}
{{-- Requestable (3-way radio with a section-header label) --}}
{{-- Set notes to null --}}
@include('models/custom_fields_form_bulk_edit', ['models' => $models])
@foreach ($assets as $asset)
@endforeach
@stop