Files
snipe-it/resources/views/locations/view.blade.php
T
2026-06-08 16:19:21 +01:00

254 lines
11 KiB
PHP

@extends('layouts/default')
{{-- Page title --}}
@section('title')
{{ trans('general.location') }}:
{{ $location->name }}
@parent
@stop
@section('header_right')
<x-button.info-panel-toggle/>
@endsection
{{-- Page content --}}
@section('content')
<x-container columns="2">
@if ($location->deleted_at!='')
<div class="col-md-12">
<div class="callout callout-warning">
<x-icon type="warning" />
{{ trans('admin/locations/message.deleted_warning') }}
</div>
</div>
@endif
<x-page-column class="col-md-9 main-panel">
<x-tabs>
<x-slot:tabnav>
@can('view', \App\Models\User::class)
<x-tabs.nav-item
class="active"
name="users"
icon="fa-solid fa-house-user fa-fw"
label="{{ trans('general.users') }}"
count="{{ $location->users()->count() }}"
tooltip="{{ trans('general.users') }}"
/>
@endcan
<x-tabs.asset-tab count="{{ $location->assets()->AssetsForShow()->count() }}"/>
@can('view', \App\Models\Asset::class)
<x-tabs.nav-item
name="assets"
icon="fa-solid fa-house-laptop fa-fw"
label="{{ trans('general.assets') }}"
count="{{ $location->assets()->AssetsForShow()->count() }}"
tooltip="{{ trans('admin/locations/message.current_location') }}"
/>
<x-tabs.nav-item
name="rtd_assets"
icon="fa-solid fa-house-flag fa-fw"
label="{{ trans('admin/hardware/form.default_location') }}"
count="{{ $location->rtd_assets()->AssetsForShow()->count() }}"
tooltip="{{ trans('admin/hardware/form.default_location') }}"
/>
<x-tabs.nav-item
name="assets_assigned"
icon="fas fa-barcode fa-fw"
label="{{ trans('admin/locations/message.assigned_assets') }}"
count="{{ $location->assignedAssets()->AssetsForShow()->count() }}"
tooltip="{{ trans('admin/locations/message.assigned_assets') }}"
/>
@endcan
@can('view', \App\Models\Accessory::class)
<x-tabs.nav-item
name="accessories"
icon="far fa-keyboard fa-fw"
label="{{ trans('general.accessories') }}"
count="{{ $location->accessories()->count() }}"
tooltip="{{ trans('general.accessories') }}"
/>
<x-tabs.nav-item
name="accessories_assigned"
icon="fas fa-keyboard fa-fw"
label="{{ trans('general.accessories_assigned') }}"
count="{{ $location->assignedAccessories()->count() }}"
tooltip="{{ trans('general.accessories_assigned') }}"
/>
@endcan
<x-tabs.consumable-tab count="{{ $location->consumables()->count() }}"/>
<x-tabs.component-tab count="{{ $location->components()->count() }}"/>
<x-tabs.nav-item
name="child_locations"
icon="fa-solid fa-city fa-fw"
label="{{ trans('general.child_locations') }}"
count="{{ $location->children()->count() }}"
tooltip="{{ trans('general.child_locations') }}"
/>
<x-tabs.files-tab :item="$location" count="{{ $location->uploads()->count() }}"/>
<x-tabs.history-tab count="{{ $location->history()->count() }}" :model="$location"/>
<x-tabs.upload-tab :item="$location"/>
</x-slot:tabnav>
<x-slot:tabpanes>
<!-- start users tab pane -->
@can('view', \App\Models\User::class)
<x-tabs.pane name="users">
<x-table.users :route="route('api.users.index',
[
'status' => e(request('status')),
'deleted'=> (request('status')=='deleted') ? 'true' : 'false',
'location_id' => $location->id,
'manager_id' => e(request('manager_id')),
'admins' => e(request('admins')),
'superadmins' => e(request('superadmins')),
'activated' => e(request('activated')),
])"/>
</x-tabs.pane>
@endcan
<!-- end users tab pane -->
<!-- start assets tab pane -->
@can('view', \App\Models\Asset::class)
<x-tabs.pane name="assets">
<x-table.assets :table_header="trans('admin/locations/message.current_location')" :route="route('api.assets.index', ['location_id' => $location->id])"/>
</x-tabs.pane>
<!-- end assets tab pane -->
<!-- start assigned assets tab pane -->
<x-tabs.pane name="assets_assigned">
<x-table.assets :table_header="trans('admin/locations/message.assigned_assets')" :route="route('api.assets.index', ['assigned_to' => $location->id, 'assigned_type' => 'App\Models\Location'])"/>
</x-tabs.pane>
<!-- end assigned assets tab pane -->
<!-- start rtd assets tab pane -->
<x-tabs.pane name="rtd_assets">
<x-table.assets :table_header="trans('admin/hardware/form.default_location')" :route="route('api.assets.index', ['rtd_location_id' => $location->id]) "/>
</x-tabs.pane>
@endcan
<!-- end rtd assets tab pane -->
<!-- start accessories tab pane -->
@can('view', \App\Models\Accessory::class)
<x-tabs.pane name="accessories">
<x-table.accessories :route="route('api.accessories.index', ['location_id' => $location->id]) "/>
</x-tabs.pane>
<!-- end accessories tab pane -->
<!-- start assigned accessories tab pane -->
<x-tabs.pane name="accessories_assigned">
<x-table.accessories
:table_header="trans('general.accessories_assigned')"
:presenter="\App\Presenters\AccessoryPresenter::assignedDataTableLayoutForObject()"
:route="route('api.locations.assigned_accessories', ['location' => $location]) "/>
</x-tabs.pane>
@endcan
<!-- end assigned accessories tab pane -->
<!-- start consumables tab pane -->
@can('view', \App\Models\Consumable::class)
<x-tabs.pane name="consumables">
<x-table.consumables :route="route('api.consumables.index', ['location_id' => $location->id]) "/>
</x-tabs.pane>
@endcan
<!-- end consumables tab pane -->
<!-- start components tab pane -->
@can('view', \App\Models\Component::class)
<x-tabs.pane name="components">
<x-table.components :route="route('api.components.index', ['location_id' => $location->id]) "/>
</x-tabs.pane>
@endcan
<!-- end components tab pane -->
<!-- start child locations tab pane -->
<x-tabs.pane name="child_locations">
<x-table.locations :table_header="trans('general.child_locations')" :route="route('api.locations.index', ['parent_id' => $location->id]) "/>
</x-tabs.pane>
<!-- end components tab pane -->
<!-- start files tab pane -->
<x-tabs.pane name="files">
<x-table.files object_type="locations" :object="$location"/>
</x-tabs.pane>
<!-- end files tab pane -->
<!-- start history tab pane -->
<x-tabs.pane name="history">
<x-table.history :model="$location" :route="route('api.locations.history', $location)"/>
</x-tabs.pane>
<!-- end history tab pane -->
</x-slot:tabpanes>
</x-tabs>
</x-page-column>
<x-page-column class="col-md-3">
<x-box class="side-box expanded">
<x-info-panel :infoPanelObj="$location" img_path="{{ app('locations_upload_url') }}" :qr_code_url="route('qr_code/common', ['object_type' => 'locations', 'id' => $location->id])">
<x-slot:buttons>
<x-button.edit :item="$location" :route="route('locations.edit', $location->id)" />
<x-button.clone :item="$location" :route="route('clone/location', $location->id)" />
<x-button.restore :item="$location" :route="route('locations.restore', ['location' => $location->id])" />
<x-button.print :count="$location->countAllTheThings()" :tooltip="trans('admin/locations/table.print_inventory')" :item="$location" :route="route('locations.print_assigned', ['locationId' => $location->id])"/>
<x-button.print :count="$location->assignedAssets()->AssetsForShow()->count()" :item="$location" :route="route('locations.print_all_assigned', ['locationId' => $location->id])"/>
<x-button.delete :item="$location"/>
</x-slot:buttons>
@if ($location->ldap_ou)
<x-info-element icon_type="ldap">
{{ $location->ldap_ou }}
</x-info-element>
@endif
</x-info-panel>
</x-box>
</x-page-column>
</x-container>
@endsection
@section('moar_scripts')
@can('files', $location)
@include ('modals.upload-file', ['item_type' => 'locations', 'item_id' => $location->id])
@endcan
@include ('partials.bootstrap-table')
@endsection