2016-03-25 01:18:05 -07:00
|
|
|
@extends('layouts/default')
|
|
|
|
|
|
|
|
{{-- Page title --}}
|
|
|
|
@section('title')
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ trans('admin/hardware/general.view') }} {{ $asset->asset_tag }}
|
|
|
|
@parent
|
2016-03-25 01:18:05 -07:00
|
|
|
@stop
|
|
|
|
|
|
|
|
{{-- Page content --}}
|
|
|
|
@section('content')
|
2018-02-16 13:22:55 -08:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="row">
|
2018-02-16 18:04:11 -08:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@if (!$asset->model)
|
|
|
|
<div class="col-md-12">
|
|
|
|
<div class="callout callout-danger">
|
2024-07-24 09:26:55 -07:00
|
|
|
<p><strong>{{ trans('admin/models/message.no_association') }}</strong> {{ trans('admin/models/message.no_association_fix') }}</p>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2018-02-16 18:04:11 -08:00
|
|
|
|
2024-05-15 06:56:52 -07:00
|
|
|
@if ($asset->checkInvalidNextAuditDate())
|
|
|
|
<div class="col-md-12">
|
|
|
|
<div class="callout callout-warning">
|
|
|
|
<p><strong>{{ trans('general.warning',
|
|
|
|
[
|
|
|
|
'warning' => trans('admin/hardware/message.warning_audit_date_mismatch',
|
|
|
|
[
|
2024-09-24 07:35:00 -07:00
|
|
|
'last_audit_date' => Helper::getFormattedDateObject($asset->last_audit_date, 'datetime', false),
|
2024-05-15 06:56:52 -07:00
|
|
|
'next_audit_date' => Helper::getFormattedDateObject($asset->next_audit_date, 'date', false)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
) }}</strong></p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2024-07-24 09:49:38 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-12">
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="nav-tabs-custom">
|
2024-07-24 09:26:55 -07:00
|
|
|
<ul class="nav nav-tabs hidden-print">
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li class="active">
|
|
|
|
<a href="#details" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 10:34:13 -07:00
|
|
|
<x-icon type="info-circle" class="fa-2x" />
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('admin/users/general.info') }}</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
|
|
|
<a href="#software" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="licenses" class="fa-2x" />
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.licenses') }}
|
|
|
|
{!! ($asset->licenses->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->licenses->count()).'</span>' : '' !!}
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
|
|
|
<a href="#components" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="components" class="fa-2x" />
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.components') }}
|
|
|
|
{!! ($asset->components->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->components->count()).'</span>' : '' !!}
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
|
|
|
<a href="#assets" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="assets" class="fa-2x" />
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.assets') }}
|
|
|
|
{!! ($asset->assignedAssets()->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->assignedAssets()->count()).'</span>' : '' !!}
|
2024-02-25 05:47:06 -08:00
|
|
|
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2024-02-25 05:47:06 -08:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
|
|
|
<a href="#history" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="history" class="fa-2x "/>
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.history') }}
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
2021-09-24 12:54:47 -07:00
|
|
|
<a href="#maintenances" data-toggle="tab">
|
2021-09-24 12:05:48 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="maintenances" class="fa-2x" />
|
2021-09-24 12:05:48 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.maintenances') }}
|
|
|
|
{!! ($asset->assetmaintenances()->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->assetmaintenances()->count()).'</span>' : '' !!}
|
2021-09-24 12:54:47 -07:00
|
|
|
</span>
|
2020-03-31 18:39:58 -07:00
|
|
|
</a>
|
2016-08-16 18:49:54 -07:00
|
|
|
</li>
|
2021-09-25 22:59:02 -07:00
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="#files" data-toggle="tab">
|
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="files" class="fa-2x" />
|
2021-09-25 22:59:02 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">{{ trans('general.files') }}
|
|
|
|
{!! ($asset->uploads->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->uploads->count()).'</span>' : '' !!}
|
2021-09-25 22:59:02 -07:00
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@can('view', $asset->model)
|
2022-06-28 16:17:46 -07:00
|
|
|
<li>
|
2024-07-24 09:26:55 -07:00
|
|
|
<a href="#modelfiles" data-toggle="tab">
|
2022-06-28 16:17:46 -07:00
|
|
|
<span class="hidden-lg hidden-md">
|
2024-08-18 11:21:59 -07:00
|
|
|
<x-icon type="more-files" class="fa-2x" />
|
2022-06-28 16:17:46 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="hidden-xs hidden-sm">
|
2022-06-28 16:17:46 -07:00
|
|
|
{{ trans('general.additional_files') }}
|
2024-07-24 09:26:55 -07:00
|
|
|
{!! ($asset->model) && ($asset->model->uploads->count() > 0 ) ? '<span class="badge badge-secondary">'.number_format($asset->model->uploads->count()).'</span>' : '' !!}
|
2022-06-28 16:17:46 -07:00
|
|
|
</span>
|
2024-07-24 09:26:55 -07:00
|
|
|
</a>
|
2022-06-28 16:17:46 -07:00
|
|
|
</li>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endcan
|
2022-06-28 16:17:46 -07:00
|
|
|
|
2024-02-25 05:47:06 -08:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@can('update', \App\Models\Asset::class)
|
2024-08-18 12:30:53 -07:00
|
|
|
<li class="pull-right">
|
2020-04-21 11:13:29 -07:00
|
|
|
<a href="#" data-toggle="modal" data-target="#uploadFileModal">
|
2024-08-18 12:30:53 -07:00
|
|
|
<span class="hidden-lg hidden-xl hidden-md">
|
|
|
|
<x-icon type="paperclip" class="fa-2x" />
|
|
|
|
</span>
|
|
|
|
<span class="hidden-xs hidden-sm">
|
|
|
|
<x-icon type="paperclip" />
|
|
|
|
{{ trans('button.upload') }}
|
|
|
|
</span>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endcan
|
2021-09-24 12:05:48 -07:00
|
|
|
|
2016-08-16 18:49:54 -07:00
|
|
|
</ul>
|
2024-02-25 05:47:06 -08:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="tab-content">
|
|
|
|
<div class="tab-pane fade in active" id="details">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
@if ($asset->deleted_at!='')
|
|
|
|
<div class="col-md-12">
|
|
|
|
<div class="callout callout-warning">
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="warning" />
|
2024-09-20 06:33:56 -07:00
|
|
|
{{ trans('general.asset_deleted_warning') }}
|
2024-07-24 09:26:55 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2024-09-20 06:33:56 -07:00
|
|
|
|
2024-08-20 14:23:55 -07:00
|
|
|
<div class="info-stack-container">
|
2024-07-24 09:26:55 -07:00
|
|
|
<!-- Start button column -->
|
2024-08-20 14:23:55 -07:00
|
|
|
<div class="col-md-3 col-xs-12 col-sm-push-9 info-stack">
|
2024-07-24 09:26:55 -07:00
|
|
|
|
|
|
|
<div class="col-md-12 text-center">
|
|
|
|
@if (($asset->image) || (($asset->model) && ($asset->model->image!='')))
|
|
|
|
<div class="text-center col-md-12" style="padding-bottom: 15px;">
|
2024-10-22 14:04:57 -07:00
|
|
|
<a href="{{ ($asset->getImageUrl()) ? $asset->getImageUrl() : null }}" data-toggle="lightbox" data-type="image">
|
2024-07-24 09:26:55 -07:00
|
|
|
<img src="{{ ($asset->getImageUrl()) ? $asset->getImageUrl() : null }}" class="assetimg img-responsive" alt="{{ $asset->getDisplayNameAttribute() }}">
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
@else
|
|
|
|
<!-- generic image goes here -->
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2024-08-18 13:57:37 -07:00
|
|
|
@if ($asset->deleted_at=='')
|
|
|
|
@can('update', $asset)
|
2024-10-22 14:07:28 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
2024-08-18 13:57:37 -07:00
|
|
|
<a href="{{ route('hardware.edit', $asset->id) }}" class="btn btn-sm btn-warning btn-social btn-block hidden-print">
|
|
|
|
<x-icon type="edit" />
|
|
|
|
{{ trans('admin/hardware/general.edit') }}
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
|
|
|
|
@if (($asset->assetstatus) && ($asset->assetstatus->deployable=='1'))
|
|
|
|
@if (($asset->assigned_to != '') && ($asset->deleted_at==''))
|
2024-08-23 00:40:41 -07:00
|
|
|
@can('checkin', $asset)
|
2024-08-18 13:57:37 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="tooltip-wrapper"{!! (!$asset->model ? ' data-tooltip="true" title="'.trans('admin/hardware/general.model_invalid_fix').'"' : '') !!}>
|
2024-08-18 13:57:37 -07:00
|
|
|
<a role="button" href="{{ route('hardware.checkin.create', $asset->id) }}" class="btn btn-sm btn-primary bg-purple btn-social btn-block hidden-print{{ (!$asset->model ? ' disabled' : '') }}">
|
2024-08-18 07:48:24 -07:00
|
|
|
<x-icon type="checkin" />
|
|
|
|
{{ trans('admin/hardware/general.checkin') }}
|
|
|
|
</a>
|
2024-07-24 09:26:55 -07:00
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
@elseif (($asset->assigned_to == '') && ($asset->deleted_at==''))
|
2024-08-23 00:38:47 -07:00
|
|
|
@can('checkout', $asset)
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
2024-07-24 09:26:55 -07:00
|
|
|
<span class="tooltip-wrapper"{!! (!$asset->model ? ' data-tooltip="true" title="'.trans('admin/hardware/general.model_invalid_fix').'"' : '') !!}>
|
2024-08-18 13:57:37 -07:00
|
|
|
<a href="{{ route('hardware.checkout.create', $asset->id) }}" class="btn btn-sm bg-maroon btn-social btn-block hidden-print{{ (!$asset->model ? ' disabled' : '') }}">
|
2024-08-18 07:48:24 -07:00
|
|
|
<x-icon type="checkout" />
|
|
|
|
{{ trans('admin/hardware/general.checkout') }}
|
2024-07-24 09:26:55 -07:00
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
@endif
|
|
|
|
@endif
|
|
|
|
|
2024-08-18 13:57:37 -07:00
|
|
|
|
2024-07-24 09:49:38 -07:00
|
|
|
|
|
|
|
@can('audit', \App\Models\Asset::class)
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
2024-07-24 09:49:38 -07:00
|
|
|
<span class="tooltip-wrapper"{!! (!$asset->model ? ' data-tooltip="true" title="'.trans('admin/hardware/general.model_invalid_fix').'"' : '') !!}>
|
2024-08-18 13:57:37 -07:00
|
|
|
<a href="{{ route('asset.audit.create', $asset->id) }}" class="btn btn-sm btn-primary btn-block btn-social hidden-print{{ (!$asset->model ? ' disabled' : '') }}">
|
2024-08-18 07:48:24 -07:00
|
|
|
<x-icon type="audit" />
|
2024-07-24 09:49:38 -07:00
|
|
|
{{ trans('general.audit') }}
|
2024-07-29 02:11:11 -07:00
|
|
|
</a>
|
2024-07-24 09:49:38 -07:00
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
@endif
|
2024-07-24 09:26:55 -07:00
|
|
|
|
|
|
|
@can('create', $asset)
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
2024-08-18 13:57:37 -07:00
|
|
|
<a href="{{ route('clone/hardware', $asset->id) }}" class="btn btn-sm btn-info btn-block btn-social hidden-print">
|
2024-08-18 07:48:24 -07:00
|
|
|
<x-icon type="clone" />
|
2024-07-24 09:26:55 -07:00
|
|
|
{{ trans('admin/hardware/general.clone') }}
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
|
2024-08-23 09:48:36 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 5px;">
|
|
|
|
{{ Form::open([
|
|
|
|
'method' => 'POST',
|
|
|
|
'route' => ['hardware/bulkedit'],
|
|
|
|
'class' => 'form-inline',
|
2024-08-28 03:56:54 -07:00
|
|
|
'target'=>'_blank',
|
2024-08-23 09:48:36 -07:00
|
|
|
'id' => 'bulkForm']) }}
|
|
|
|
<input type="hidden" name="bulk_actions" value="labels" />
|
|
|
|
<input type="hidden" name="ids[{{$asset->id}}]" value="{{ $asset->id }}" />
|
|
|
|
<button class="btn btn-block btn-social btn-sm btn-default" id="bulkEdit"{{ (!$asset->model ? ' disabled' : '') }}{!! (!$asset->model ? ' data-tooltip="true" title="'.trans('admin/hardware/general.model_invalid').'"' : '') !!}>
|
|
|
|
<x-icon type="assets" />
|
|
|
|
{{ trans_choice('button.generate_labels', 1) }}</button>
|
|
|
|
{{ Form::close() }}
|
|
|
|
</div>
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@can('delete', $asset)
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="col-md-12 hidden-print" style="padding-top: 30px; padding-bottom: 30px;">
|
2024-10-01 06:29:02 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@if ($asset->deleted_at=='')
|
2024-08-18 13:57:37 -07:00
|
|
|
<button class="btn btn-sm btn-block btn-danger btn-social delete-asset" data-toggle="modal" data-title="{{ trans('general.delete') }}" data-content="{{ trans('general.sure_to_delete_var', ['item' => $asset->asset_tag]) }}" data-target="#dataConfirmModal">
|
2024-08-18 07:48:24 -07:00
|
|
|
|
|
|
|
<x-icon type="delete" />
|
2024-10-01 06:29:02 -07:00
|
|
|
@if ($asset->assignedTo)
|
|
|
|
{{ trans('general.checkin_and_delete') }}
|
|
|
|
@else
|
|
|
|
{{ trans('general.delete') }}
|
|
|
|
@endif
|
2024-07-24 09:26:55 -07:00
|
|
|
</button>
|
|
|
|
<span class="sr-only">{{ trans('general.delete') }}</span>
|
|
|
|
@else
|
|
|
|
<form method="POST" action="{{ route('restore/hardware', ['assetId' => $asset->id]) }}">
|
|
|
|
@csrf
|
2024-08-18 13:57:37 -07:00
|
|
|
<button class="btn btn-sm btn-block btn-warning btn-social delete-asset">
|
|
|
|
<x-icon type="restore" />
|
|
|
|
{{ trans('general.restore') }}
|
|
|
|
</button>
|
2024-07-24 09:26:55 -07:00
|
|
|
</form>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
@endcan
|
|
|
|
|
|
|
|
@if (($asset->assignedTo) && ($asset->deleted_at==''))
|
|
|
|
<div class="col-md-12" style="text-align: left">
|
|
|
|
<h2>
|
|
|
|
{{ trans('admin/hardware/form.checkedout_to') }}
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="long-arrow-right" />
|
2024-07-24 09:26:55 -07:00
|
|
|
</h2>
|
2024-08-31 05:38:38 -07:00
|
|
|
|
|
|
|
<ul class="list-unstyled" style="line-height: 25px; font-size: 14px">
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@if (($asset->checkedOutToUser()) && ($asset->assignedTo->present()->gravatar()))
|
2024-08-31 05:38:38 -07:00
|
|
|
<li>
|
|
|
|
<img src="{{ $asset->assignedTo->present()->gravatar() }}" class="user-image-inline hidden-print" alt="{{ $asset->assignedTo->present()->fullName() }}">
|
|
|
|
{!! $asset->assignedTo->present()->nameUrl() !!}
|
|
|
|
</li>
|
|
|
|
@else
|
|
|
|
<li>
|
|
|
|
<x-icon type="{{ $asset->assignedType() }}" class="fa-fw" />
|
|
|
|
{!! $asset->assignedTo->present()->nameUrl() !!}
|
|
|
|
</li>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
|
|
|
|
|
|
|
|
2024-08-31 05:38:38 -07:00
|
|
|
@if ((isset($asset->assignedTo->employee_num)) && ($asset->assignedTo->employee_num!=''))
|
|
|
|
<li>
|
|
|
|
<x-icon type="employee_num" class="fa-fw"/>
|
|
|
|
{{ $asset->assignedTo->employee_num }}
|
|
|
|
</li>
|
|
|
|
@endif
|
2024-07-24 09:26:55 -07:00
|
|
|
@if ((isset($asset->assignedTo->email)) && ($asset->assignedTo->email!=''))
|
|
|
|
<li>
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="email" class="fa-fw" />
|
2024-07-24 09:26:55 -07:00
|
|
|
<a href="mailto:{{ $asset->assignedTo->email }}">{{ $asset->assignedTo->email }}</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ((isset($asset->assignedTo)) && ($asset->assignedTo->phone!=''))
|
|
|
|
<li>
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="phone" class="fa-fw" />
|
2024-07-24 09:26:55 -07:00
|
|
|
<a href="tel:{{ $asset->assignedTo->phone }}">{{ $asset->assignedTo->phone }}</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if((isset($asset->assignedTo)) && ($asset->assignedTo->department))
|
2024-08-31 05:48:42 -07:00
|
|
|
<li>
|
|
|
|
<x-icon type="department" class="fa-fw" />
|
|
|
|
{{ $asset->assignedTo->department->name}}</li>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
|
|
|
|
|
|
|
@if (isset($asset->location))
|
2024-08-18 13:57:37 -07:00
|
|
|
<li>
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="locations" class="fa-fw" />
|
2024-08-18 13:57:37 -07:00
|
|
|
{{ $asset->location->name }}</li>
|
2024-07-24 09:26:55 -07:00
|
|
|
<li>{{ $asset->location->address }}
|
|
|
|
@if ($asset->location->address2!='')
|
|
|
|
{{ $asset->location->address2 }}
|
|
|
|
@endif
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>{{ $asset->location->city }}
|
|
|
|
@if (($asset->location->city!='') && ($asset->location->state!=''))
|
|
|
|
,
|
|
|
|
@endif
|
|
|
|
{{ $asset->location->state }} {{ $asset->location->zip }}
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
<li>
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="calendar" class="fa-fw" />
|
2024-08-18 13:57:37 -07:00
|
|
|
{{ trans('admin/hardware/form.checkout_date') }}: {{ Helper::getFormattedDateObject($asset->last_checkout, 'date', false) }}
|
2024-07-24 09:26:55 -07:00
|
|
|
</li>
|
|
|
|
@if (isset($asset->expected_checkin))
|
|
|
|
<li>
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="calendar" class="fa-fw" />
|
2024-08-18 11:21:59 -07:00
|
|
|
{{ trans('admin/hardware/form.expected_checkin') }}: {{ Helper::getFormattedDateObject($asset->expected_checkin, 'date', false) }}
|
2024-07-24 09:26:55 -07:00
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
</ul>
|
2024-07-29 02:11:11 -07:00
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
2024-07-29 02:11:11 -07:00
|
|
|
@if ($snipeSettings->qr_code=='1')
|
|
|
|
<div class="col-md-12 text-center" style="padding-top: 15px;">
|
|
|
|
<img src="{{ config('app.url') }}/hardware/{{ $asset->id }}/qr_code" class="img-thumbnail" style="height: 150px; width: 150px; margin-right: 10px;" alt="QR code for {{ $asset->getDisplayNameAttribute() }}">
|
|
|
|
</div>
|
|
|
|
@endif
|
2024-07-27 02:12:13 -07:00
|
|
|
|
2024-07-29 02:11:11 -07:00
|
|
|
<br><br>
|
2024-07-29 01:52:38 -07:00
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
|
2024-07-29 02:11:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<!-- End button column -->
|
|
|
|
|
2024-08-20 14:23:55 -07:00
|
|
|
<div class="col-md-9 col-xs-12 col-sm-pull-3 info-stack">
|
2024-07-24 09:26:55 -07:00
|
|
|
|
|
|
|
<div class="row-new-striped">
|
2020-04-21 11:13:29 -07:00
|
|
|
|
2024-08-02 12:56:31 -07:00
|
|
|
@if ($asset->asset_tag)
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
|
|
<strong>{{ trans('admin/hardware/form.tag') }}</strong>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9">
|
2024-08-12 07:58:30 -07:00
|
|
|
<span class="js-copy-assettag">{{ $asset->asset_tag }}</span>
|
2024-08-02 12:56:31 -07:00
|
|
|
|
2024-08-13 07:40:51 -07:00
|
|
|
<i class="fa-regular fa-clipboard js-copy-link hidden-print" data-clipboard-target=".js-copy-assettag" aria-hidden="true" data-tooltip="true" data-placement="top" title="{{ trans('general.copy_to_clipboard') }}">
|
2024-08-02 12:56:31 -07:00
|
|
|
<span class="sr-only">{{ trans('general.copy_to_clipboard') }}</span>
|
|
|
|
</i>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
|
2021-10-04 19:01:16 -07:00
|
|
|
@if ($asset->deleted_at!='')
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2021-10-04 19:01:16 -07:00
|
|
|
<span class="text-danger"><strong>{{ trans('general.deleted') }}</strong></span>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2021-10-04 19:01:16 -07:00
|
|
|
{{ \App\Helpers\Helper::getFormattedDateObject($asset->deleted_at, 'date', false) }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@if ($asset->assetstatus)
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>{{ trans('general.status') }}</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@if (($asset->assignedTo) && ($asset->deleted_at==''))
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="circle-solid" class="text-blue" />
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ $asset->assetstatus->name }}
|
2024-08-22 05:28:52 -07:00
|
|
|
<label class="label label-default">{{ trans('general.deployed') }}</label>
|
2020-04-21 11:13:29 -07:00
|
|
|
|
2024-08-22 05:28:52 -07:00
|
|
|
|
|
|
|
<x-icon type="long-arrow-right" />
|
2024-08-31 05:38:38 -07:00
|
|
|
<x-icon type="{{ $asset->assignedType() }}" class="fa-fw" />
|
2020-04-21 11:13:29 -07:00
|
|
|
{!! $asset->assignedTo->present()->nameUrl() !!}
|
|
|
|
@else
|
|
|
|
@if (($asset->assetstatus) && ($asset->assetstatus->deployable=='1'))
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="circle-solid" class="text-green" />
|
2020-04-21 11:13:29 -07:00
|
|
|
@elseif (($asset->assetstatus) && ($asset->assetstatus->pending=='1'))
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="circle-solid" class="text-orange" />
|
2023-02-14 14:21:24 -08:00
|
|
|
@else
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="x" class="text-red" />
|
2020-04-21 11:13:29 -07:00
|
|
|
@endif
|
|
|
|
<a href="{{ route('statuslabels.show', $asset->assetstatus->id) }}">
|
|
|
|
{{ $asset->assetstatus->name }}</a>
|
|
|
|
<label class="label label-default">{{ $asset->present()->statusMeta }}</label>
|
|
|
|
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
2024-08-13 07:40:51 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@if ($asset->company)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>{{ trans('general.company') }}</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
<a href="{{ url('/companies/' . $asset->company->id) }}">{{ $asset->company->name }}</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->name)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>{{ trans('admin/hardware/form.name') }}</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ $asset->name }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->serial)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>{{ trans('admin/hardware/form.serial') }}</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2024-08-12 07:58:30 -07:00
|
|
|
<span class="js-copy-serial">{{ $asset->serial }}</span>
|
2023-09-28 07:06:55 -07:00
|
|
|
|
2024-08-13 07:40:51 -07:00
|
|
|
<i class="fa-regular fa-clipboard js-copy-link hidden-print" data-clipboard-target=".js-copy-serial" aria-hidden="true" data-tooltip="true" data-placement="top" title="{{ trans('general.copy_to_clipboard') }}">
|
2023-09-28 07:06:55 -07:00
|
|
|
<span class="sr-only">{{ trans('general.copy_to_clipboard') }}</span>
|
|
|
|
</i>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
2024-08-13 07:40:51 -07:00
|
|
|
@if ($asset->last_checkout!='')
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/table.checkout_date') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9">
|
|
|
|
{{ Helper::getFormattedDateObject($asset->last_checkout, 'datetime', false) }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@if ((isset($audit_log)) && ($audit_log->created_at))
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.last_audit') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2024-05-15 06:56:52 -07:00
|
|
|
{!! $asset->checkInvalidNextAuditDate() ? '<i class="fas fa-exclamation-triangle text-orange" aria-hidden="true"></i>' : '' !!}
|
2024-09-24 07:35:00 -07:00
|
|
|
{{ Helper::getFormattedDateObject($audit_log->created_at, 'datetime', false) }}
|
2024-02-25 05:47:06 -08:00
|
|
|
@if ($audit_log->user)
|
2022-02-10 20:13:02 -08:00
|
|
|
(by {{ link_to_route('users.show', $audit_log->user->present()->fullname(), [$audit_log->user->id]) }})
|
2024-02-25 05:47:06 -08:00
|
|
|
@endif
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->next_audit_date)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.next_audit_date') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2024-05-15 06:56:52 -07:00
|
|
|
{!! $asset->checkInvalidNextAuditDate() ? '<i class="fas fa-exclamation-triangle text-orange" aria-hidden="true"></i>' : '' !!}
|
2021-09-28 19:44:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->next_audit_date, 'date', false) }}
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if (($asset->model) && ($asset->model->manufacturer))
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.manufacturer') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2022-02-24 01:29:39 -08:00
|
|
|
<ul class="list-unstyled">
|
2020-04-21 11:13:29 -07:00
|
|
|
@can('view', \App\Models\Manufacturer::class)
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<a href="{{ route('manufacturers.show', $asset->model->manufacturer->id) }}">
|
|
|
|
{{ $asset->model->manufacturer->name }}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
@else
|
|
|
|
<li> {{ $asset->model->manufacturer->name }}</li>
|
|
|
|
@endcan
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@if (($asset->model) && ($asset->model->manufacturer) && ($asset->model->manufacturer->url!=''))
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="globe-us" />
|
2024-03-31 19:18:44 -07:00
|
|
|
<a href="{{ $asset->present()->dynamicUrl($asset->model->manufacturer->url) }}" target="_blank">
|
|
|
|
{{ $asset->present()->dynamicUrl($asset->model->manufacturer->url) }}
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="external-link" />
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
2024-07-19 11:48:03 -07:00
|
|
|
@if (($asset->model) && ($asset->model->manufacturer) && ($asset->model->manufacturer->support_url!=''))
|
2020-04-21 11:13:29 -07:00
|
|
|
<li>
|
2024-08-18 10:13:49 -07:00
|
|
|
<x-icon type="more-info" />
|
2024-03-31 19:18:44 -07:00
|
|
|
<a href="{{ $asset->present()->dynamicUrl($asset->model->manufacturer->support_url) }}" target="_blank">
|
2024-03-31 19:31:06 -07:00
|
|
|
{{ $asset->present()->dynamicUrl($asset->model->manufacturer->support_url) }}
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="external-link" />
|
2023-07-15 02:45:36 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
2024-07-19 11:48:03 -07:00
|
|
|
@if (($asset->model) && ($asset->model->manufacturer) && ($asset->model->manufacturer->warranty_lookup_url!=''))
|
2023-07-15 02:45:36 -07:00
|
|
|
<li>
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="maintenances" />
|
2024-03-31 19:18:44 -07:00
|
|
|
<a href="{{ $asset->present()->dynamicUrl($asset->model->manufacturer->warranty_lookup_url) }}" target="_blank">
|
|
|
|
{{ $asset->present()->dynamicUrl($asset->model->manufacturer->warranty_lookup_url) }}
|
2024-07-19 11:00:56 -07:00
|
|
|
|
2024-08-19 05:23:08 -07:00
|
|
|
<x-icon type="external-link" />
|
2024-08-18 12:30:53 -07:00
|
|
|
<span class="sr-only">{{ trans('admin/hardware/general.mfg_warranty_lookup', ['manufacturer' => $asset->model->manufacturer->name]) }}</span></i>
|
2020-04-21 11:13:29 -07:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if (($asset->model) && ($asset->model->manufacturer->support_phone))
|
|
|
|
<li>
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="phone" />
|
2020-04-21 11:13:29 -07:00
|
|
|
<a href="tel:{{ $asset->model->manufacturer->support_phone }}">
|
|
|
|
{{ $asset->model->manufacturer->support_phone }}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if (($asset->model) && ($asset->model->manufacturer->support_email))
|
2021-09-24 13:07:02 -07:00
|
|
|
<li>
|
2024-08-18 10:13:49 -07:00
|
|
|
<x-icon type="email" />
|
2020-04-21 11:13:29 -07:00
|
|
|
<a href="mailto:{{ $asset->model->manufacturer->support_email }}">
|
|
|
|
{{ $asset->model->manufacturer->support_email }}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
@endif
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.category') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@if (($asset->model) && ($asset->model->category))
|
|
|
|
|
|
|
|
@can('view', \App\Models\Category::class)
|
|
|
|
|
|
|
|
<a href="{{ route('categories.show', $asset->model->category->id) }}">
|
|
|
|
{{ $asset->model->category->name }}
|
|
|
|
</a>
|
|
|
|
@else
|
|
|
|
{{ $asset->model->category->name }}
|
|
|
|
@endcan
|
|
|
|
@else
|
|
|
|
Invalid category
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
@if ($asset->model)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.model') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@if ($asset->model)
|
|
|
|
|
|
|
|
@can('view', \App\Models\AssetModel::class)
|
|
|
|
<a href="{{ route('models.show', $asset->model->id) }}">
|
|
|
|
{{ $asset->model->name }}
|
|
|
|
</a>
|
|
|
|
@else
|
|
|
|
{{ $asset->model->name }}
|
|
|
|
@endcan
|
|
|
|
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/models/table.modelnumber') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ ($asset->model) ? $asset->model->model_number : ''}}
|
|
|
|
</div>
|
2023-01-18 13:11:02 -08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- byod -->
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2023-01-18 13:11:02 -08:00
|
|
|
<strong>{{ trans('general.byod') }}</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2023-01-18 13:11:02 -08:00
|
|
|
{!! ($asset->byod=='1') ? '<i class="fas fa-check text-success" aria-hidden="true"></i> '.trans('general.yes') : '<i class="fas fa-times text-danger" aria-hidden="true"></i> '.trans('general.no') !!}
|
|
|
|
</div>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
|
2024-09-20 06:02:28 -07:00
|
|
|
<!-- requestable -->
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
|
|
<strong>{{ trans('admin/hardware/general.requestable') }}</strong>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9">
|
|
|
|
{!! ($asset->requestable=='1') ? '<i class="fas fa-check text-success" aria-hidden="true"></i> '.trans('general.yes') : '<i class="fas fa-times text-danger" aria-hidden="true"></i> '.trans('general.no') !!}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@if (($asset->model) && ($asset->model->fieldset))
|
|
|
|
@foreach($asset->model->fieldset->fields as $field)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ $field->name }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9{{ (($field->format=='URL') && ($asset->{$field->db_column_name()}!='')) ? ' ellipsis': '' }}">
|
2024-02-22 06:48:01 -08:00
|
|
|
@if (($field->field_encrypted=='1') && ($asset->{$field->db_column_name()}!=''))
|
2024-08-18 12:30:53 -07:00
|
|
|
|
2024-03-10 07:09:46 -07:00
|
|
|
<i class="fas fa-lock" data-tooltip="true" data-placement="top" title="{{ trans('admin/custom_fields/general.value_encrypted') }}" onclick="showHideEncValue(this)" id="text-{{ $field->id }}"></i>
|
2020-04-21 11:13:29 -07:00
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($field->isFieldDecryptable($asset->{$field->db_column_name()} ))
|
2023-07-19 18:52:03 -07:00
|
|
|
@can('assets.view.encrypted_custom_fields')
|
2024-03-31 03:27:35 -07:00
|
|
|
@php
|
2024-07-24 09:26:55 -07:00
|
|
|
$fieldSize=strlen(Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}))
|
2024-03-31 03:27:35 -07:00
|
|
|
@endphp
|
|
|
|
@if ($fieldSize>0)
|
|
|
|
<span id="text-{{ $field->id }}-to-hide">{{ str_repeat('*', $fieldSize) }}</span>
|
2024-08-13 07:40:51 -07:00
|
|
|
<span class="js-copy-{{ $field->id }} hidden-print" id="text-{{ $field->id }}-to-show" style="font-size: 0px;">
|
2024-03-31 03:27:35 -07:00
|
|
|
@if (($field->format=='URL') && ($asset->{$field->db_column_name()}!=''))
|
2024-07-24 09:26:55 -07:00
|
|
|
<a href="{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}" target="_new">{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}</a>
|
|
|
|
@elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!=''))
|
|
|
|
{{ \App\Helpers\Helper::gracefulDecrypt($field, \App\Helpers\Helper::getFormattedDateObject($asset->{$field->db_column_name()}, 'date', false)) }}
|
|
|
|
@else
|
|
|
|
{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}
|
|
|
|
@endif
|
2024-03-31 03:27:35 -07:00
|
|
|
</span>
|
2024-08-13 07:40:51 -07:00
|
|
|
<i class="fa-regular fa-clipboard js-copy-link hidden-print" data-clipboard-target=".js-copy-{{ $field->id }}" aria-hidden="true" data-tooltip="true" data-placement="top" title="{{ trans('general.copy_to_clipboard') }}">
|
2024-03-31 03:27:35 -07:00
|
|
|
<span class="sr-only">{{ trans('general.copy_to_clipboard') }}</span>
|
|
|
|
</i>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
2024-03-10 07:09:46 -07:00
|
|
|
@else
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ strtoupper(trans('admin/custom_fields/general.encrypted')) }}
|
|
|
|
@endcan
|
|
|
|
|
|
|
|
@else
|
2022-03-09 19:46:19 -08:00
|
|
|
@if (($field->format=='BOOLEAN') && ($asset->{$field->db_column_name()}!=''))
|
|
|
|
{!! ($asset->{$field->db_column_name()} == 1) ? "<span class='fas fa-check-circle' style='color:green' />" : "<span class='fas fa-times-circle' style='color:red' />" !!}
|
|
|
|
@elseif (($field->format=='URL') && ($asset->{$field->db_column_name()}!=''))
|
2020-04-21 11:13:29 -07:00
|
|
|
<a href="{{ $asset->{$field->db_column_name()} }}" target="_new">{{ $asset->{$field->db_column_name()} }}</a>
|
2022-03-08 16:28:13 -08:00
|
|
|
@elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!=''))
|
|
|
|
{{ \App\Helpers\Helper::getFormattedDateObject($asset->{$field->db_column_name()}, 'date', false) }}
|
2020-04-21 11:13:29 -07:00
|
|
|
@else
|
2022-07-29 00:57:20 -07:00
|
|
|
{!! nl2br(e($asset->{$field->db_column_name()})) !!}
|
2020-04-21 11:13:29 -07:00
|
|
|
@endif
|
2022-03-16 11:02:07 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@endif
|
2022-07-29 00:57:20 -07:00
|
|
|
|
|
|
|
@if ($asset->{$field->db_column_name()}=='')
|
|
|
|
|
|
|
|
@endif
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endforeach
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
|
|
@if ($asset->purchase_date)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.date') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2021-09-28 19:44:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->purchase_date, 'date', false) }}
|
2022-11-28 10:45:58 -08:00
|
|
|
-
|
|
|
|
{{ Carbon::parse($asset->purchase_date)->diff(Carbon::now())->format('%y years, %m months and %d days')}}
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->purchase_cost)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.cost') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@if (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@elseif (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@else
|
|
|
|
{{ $snipeSettings->default_currency }}
|
|
|
|
@endif
|
2021-09-28 19:44:55 -07:00
|
|
|
{{ Helper::formatCurrencyOutput($asset->purchase_cost)}}
|
2020-04-21 11:13:29 -07:00
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2023-04-19 16:35:06 -07:00
|
|
|
@if(($asset->components->count() > 0) && ($asset->purchase_cost))
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2023-04-19 16:35:06 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/table.components_cost') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2023-04-19 16:35:06 -07:00
|
|
|
@if (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@elseif (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@else
|
|
|
|
{{ $snipeSettings->default_currency }}
|
|
|
|
@endif
|
|
|
|
{{Helper::formatCurrencyOutput($asset->getComponentCost())}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2022-09-15 15:39:47 -07:00
|
|
|
@if (($asset->model) && ($asset->depreciation) && ($asset->purchase_date))
|
2021-08-16 18:14:10 -07:00
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2021-08-16 18:14:10 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/table.current_value') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
|
|
|
@if (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@elseif (($asset->id) && ($asset->location))
|
|
|
|
{{ $asset->location->currency }}
|
|
|
|
@else
|
|
|
|
{{ $snipeSettings->default_currency }}
|
|
|
|
@endif
|
|
|
|
{{ Helper::formatCurrencyOutput($asset->getDepreciatedValue() )}}
|
2020-04-21 11:13:29 -07:00
|
|
|
|
2024-02-25 05:47:06 -08:00
|
|
|
|
2021-08-16 18:14:10 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2020-04-21 11:13:29 -07:00
|
|
|
@if ($asset->order_number)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.order_number') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2024-08-10 08:17:07 -07:00
|
|
|
<a href="{{ route('hardware.index', ['order_number' => $asset->order_number]) }}">{{ $asset->order_number }}</a>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->supplier)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.supplier') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@can ('superuser')
|
|
|
|
<a href="{{ route('suppliers.show', $asset->supplier_id) }}">
|
|
|
|
{{ $asset->supplier->name }}
|
|
|
|
</a>
|
|
|
|
@else
|
|
|
|
{{ $asset->supplier->name }}
|
|
|
|
@endcan
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
|
|
@if ($asset->warranty_months)
|
2022-08-02 19:19:08 -07:00
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.warranty') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ $asset->warranty_months }}
|
|
|
|
{{ trans('admin/hardware/form.months') }}
|
|
|
|
|
2023-07-21 06:46:58 -07:00
|
|
|
@if (($asset->model) && ($asset->model->manufacturer) && ($asset->model->manufacturer->warranty_lookup_url!=''))
|
2024-04-03 17:09:37 -07:00
|
|
|
<a href="{{ $asset->present()->dynamicUrl($asset->model->manufacturer->warranty_lookup_url) }}" target="_blank">
|
2024-08-18 12:30:53 -07:00
|
|
|
<x-icon type="external-link" />
|
|
|
|
<span class="sr-only">{{ trans('admin/hardware/general.mfg_warranty_lookup', ['manufacturer' => $asset->model->manufacturer->name]) }}</span></i>
|
2022-09-14 19:43:48 -07:00
|
|
|
</a>
|
|
|
|
@endif
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-08-02 19:13:02 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.warranty_expires') }}
|
|
|
|
@if ($asset->purchase_date)
|
2022-08-02 19:19:08 -07:00
|
|
|
{!! $asset->present()->warranty_expires() < date("Y-m-d") ? '<i class="fas fa-exclamation-triangle text-orange" aria-hidden="true"></i>' : '' !!}
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
2022-09-15 15:39:47 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
</strong>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9">
|
|
|
|
@if ($asset->purchase_date)
|
2022-08-02 19:13:02 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->present()->warranty_expires(), 'date', false) }}
|
|
|
|
-
|
2022-10-12 10:16:13 -07:00
|
|
|
{{ Carbon::parse($asset->present()->warranty_expires())->diffForHumans(['parts' => 2]) }}
|
2024-07-24 09:26:55 -07:00
|
|
|
@else
|
|
|
|
{{ trans('general.na_no_purchase_date') }}
|
|
|
|
@endif
|
2022-08-02 19:13:02 -07:00
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
</div>
|
2022-08-02 19:13:02 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@endif
|
|
|
|
|
|
|
|
@if (($asset->model) && ($asset->depreciation))
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.depreciation') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ $asset->depreciation->name }}
|
|
|
|
({{ $asset->depreciation->months }}
|
2022-08-02 19:13:02 -07:00
|
|
|
{{ trans('admin/hardware/form.months') }})
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.fully_depreciated') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2022-09-15 15:39:47 -07:00
|
|
|
@if ($asset->purchase_date)
|
2024-07-24 09:26:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->depreciated_date()->format('Y-m-d'), 'date', false) }}
|
|
|
|
-
|
|
|
|
{{ Carbon::parse($asset->depreciated_date())->diffForHumans(['parts' => 2]) }}
|
2022-09-15 15:39:47 -07:00
|
|
|
@else
|
|
|
|
{{ trans('general.na_no_purchase_date') }}
|
|
|
|
@endif
|
2022-08-02 19:13:02 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
2023-10-22 09:38:59 -07:00
|
|
|
@if (($asset->asset_eol_date) && ($asset->purchase_date))
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.eol_rate') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2023-10-22 09:38:59 -07:00
|
|
|
{{ Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date) }}
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ trans('admin/hardware/form.months') }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
2023-01-22 00:55:19 -08:00
|
|
|
@endif
|
|
|
|
@if ($asset->asset_eol_date)
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.eol_date') }}
|
2023-10-22 09:38:59 -07:00
|
|
|
@if ($asset->purchase_date)
|
2024-07-24 09:26:55 -07:00
|
|
|
{!! $asset->asset_eol_date < date("Y-m-d") ? '<i class="fas fa-exclamation-triangle text-orange" aria-hidden="true"></i>' : '' !!}
|
2023-10-22 09:38:59 -07:00
|
|
|
@endif
|
2020-04-21 11:13:29 -07:00
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2023-01-22 00:55:19 -08:00
|
|
|
@if ($asset->asset_eol_date)
|
2024-07-24 09:26:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->asset_eol_date, 'date', false) }}
|
|
|
|
-
|
|
|
|
{{ Carbon::parse($asset->asset_eol_date)->diffForHumans(['parts' => 2]) }}
|
2022-09-15 15:39:47 -07:00
|
|
|
@else
|
|
|
|
{{ trans('general.na_no_purchase_date') }}
|
|
|
|
@endif
|
2024-08-19 05:27:21 -07:00
|
|
|
@if ($asset->eol_explicit =='1')
|
2024-08-18 12:30:53 -07:00
|
|
|
<span data-tooltip="true"
|
|
|
|
data-placement="top"
|
|
|
|
data-title="Explicit EOL"
|
|
|
|
title="Explicit EOL">
|
|
|
|
<x-icon type="warning" class="text-orange" />
|
|
|
|
</span>
|
2023-09-07 09:40:27 -07:00
|
|
|
@endif
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.notes') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2023-07-12 08:57:04 -07:00
|
|
|
{!! nl2br(Helper::parseEscapedMarkedownInline($asset->notes)) !!}
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
@if ($asset->location)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.location') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@can('superuser')
|
|
|
|
<a href="{{ route('locations.show', ['location' => $asset->location->id]) }}">
|
|
|
|
{{ $asset->location->name }}
|
|
|
|
</a>
|
|
|
|
@else
|
|
|
|
{{ $asset->location->name }}
|
|
|
|
@endcan
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->defaultLoc)
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.default_location') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
@can('superuser')
|
|
|
|
<a href="{{ route('locations.show', ['location' => $asset->defaultLoc->id]) }}">
|
|
|
|
{{ $asset->defaultLoc->name }}
|
|
|
|
</a>
|
|
|
|
@else
|
|
|
|
{{ $asset->defaultLoc->name }}
|
|
|
|
@endcan
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->created_at!='')
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.created_at') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2021-09-28 19:44:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->created_at, 'datetime', false) }}
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
@if ($asset->updated_at!='')
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.updated_at') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2021-09-28 19:44:55 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->updated_at, 'datetime', false) }}
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
2024-08-13 07:40:51 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@if ($asset->expected_checkin!='')
|
2024-05-30 15:02:10 -07:00
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2024-05-30 15:02:10 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/form.expected_checkin') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2024-05-30 15:02:10 -07:00
|
|
|
{{ Helper::getFormattedDateObject($asset->expected_checkin, 'date', false) }}
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endif
|
2024-05-30 15:02:10 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@if ($asset->last_checkin!='')
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
|
|
<strong>
|
|
|
|
{{ trans('admin/hardware/table.last_checkin_date') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9">
|
|
|
|
{{ Helper::getFormattedDateObject($asset->last_checkin, 'datetime', false) }}
|
2024-02-13 13:52:12 -08:00
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
</div>
|
|
|
|
@endif
|
2020-11-10 01:02:08 -08:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.checkouts_count') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ ($asset->checkouts) ? (int) $asset->checkouts->count() : '0' }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.checkins_count') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ ($asset->checkins) ? (int) $asset->checkins->count() : '0' }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-3">
|
2020-04-21 11:13:29 -07:00
|
|
|
<strong>
|
|
|
|
{{ trans('general.user_requests_count') }}
|
|
|
|
</strong>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-9">
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ ($asset->userRequests) ? (int) $asset->userRequests->count() : '0' }}
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
|
|
|
|
</div> <!--/end striped container-->
|
|
|
|
</div> <!-- end col-md-9 -->
|
2024-08-20 14:23:55 -07:00
|
|
|
</div><!-- end info-stack-container -->
|
2024-07-24 09:26:55 -07:00
|
|
|
</div> <!--/.row-->
|
|
|
|
</div><!-- /.tab-pane -->
|
2020-04-21 11:13:29 -07:00
|
|
|
|
|
|
|
<div class="tab-pane fade" id="software">
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{($asset->licenses->count() > 0 ) ? '' : ' hidden-print'}}">
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="col-md-12">
|
|
|
|
<!-- Licenses assets table -->
|
|
|
|
@if ($asset->licenses->count() > 0)
|
|
|
|
<table class="table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="col-md-4">{{ trans('general.name') }}</th>
|
|
|
|
<th class="col-md-4"><span class="line"></span>{{ trans('admin/licenses/form.license_key') }}</th>
|
2024-01-09 09:30:51 -08:00
|
|
|
<th class="col-md-4"><span class="line"></span>{{ trans('admin/licenses/form.expiration') }}</th>
|
2020-04-21 11:13:29 -07:00
|
|
|
<th class="col-md-1"><span class="line"></span>{{ trans('table.actions') }}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
@foreach ($asset->licenseseats as $seat)
|
|
|
|
@if ($seat->license)
|
|
|
|
<tr>
|
|
|
|
<td><a href="{{ route('licenses.show', $seat->license->id) }}">{{ $seat->license->name }}</a></td>
|
|
|
|
<td>
|
|
|
|
@can('viewKeys', $seat->license)
|
|
|
|
{!! nl2br(e($seat->license->serial)) !!}
|
|
|
|
@else
|
|
|
|
------------
|
|
|
|
@endcan
|
|
|
|
</td>
|
2024-01-09 09:30:51 -08:00
|
|
|
<td>
|
|
|
|
{{ Helper::getFormattedDateObject($seat->license->expiration_date, 'date', false) }}
|
|
|
|
</td>
|
2020-04-21 11:13:29 -07:00
|
|
|
<td>
|
2024-08-13 07:40:51 -07:00
|
|
|
<a href="{{ route('licenses.checkin', $seat->id) }}" class="btn btn-sm bg-purple hidden-print" data-tooltip="true">{{ trans('general.checkin') }}</a>
|
2020-04-21 11:13:29 -07:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
@endif
|
|
|
|
@endforeach
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
@else
|
|
|
|
|
2024-08-21 05:06:16 -07:00
|
|
|
<div class="alert alert-info alert-block hidden-print">
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="info-circle" />
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ trans('general.no_results') }}
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
</div><!-- /col -->
|
|
|
|
</div> <!-- row -->
|
|
|
|
</div> <!-- /.tab-pane software -->
|
|
|
|
|
|
|
|
<div class="tab-pane fade" id="components">
|
|
|
|
<!-- checked out assets table -->
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{($asset->components->count() > 0 ) ? '' : ' hidden-print'}}">
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="col-md-12">
|
|
|
|
@if($asset->components->count() > 0)
|
|
|
|
<table class="table table-striped">
|
|
|
|
<thead>
|
|
|
|
<th>{{ trans('general.name') }}</th>
|
|
|
|
<th>{{ trans('general.qty') }}</th>
|
|
|
|
<th>{{ trans('general.purchase_cost') }}</th>
|
2022-12-13 10:30:37 -08:00
|
|
|
<th>{{trans('admin/hardware/form.serial')}}</th>
|
2023-10-03 12:30:08 -07:00
|
|
|
<th>{{trans('general.checkin')}}</th>
|
|
|
|
<th></th>
|
2020-04-21 11:13:29 -07:00
|
|
|
</thead>
|
|
|
|
<tbody>
|
2024-07-24 09:26:55 -07:00
|
|
|
<?php $totalCost = 0; ?>
|
2020-04-21 11:13:29 -07:00
|
|
|
@foreach ($asset->components as $component)
|
|
|
|
|
|
|
|
|
|
|
|
@if (is_null($component->deleted_at))
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<a href="{{ route('components.show', $component->id) }}">{{ $component->name }}</a>
|
|
|
|
</td>
|
|
|
|
<td>{{ $component->pivot->assigned_qty }}</td>
|
2021-10-04 20:39:24 -07:00
|
|
|
<td>{{ Helper::formatCurrencyOutput($component->purchase_cost) }} each</td>
|
2022-12-13 12:32:30 -08:00
|
|
|
<td>{{ $component->serial }}</td>
|
2023-10-03 12:30:08 -07:00
|
|
|
<td>
|
2024-08-21 05:06:16 -07:00
|
|
|
<a href="{{ route('components.checkin.show', $component->pivot->id) }}" class="btn btn-sm bg-purple hidden-print" data-tooltip="true">{{ trans('general.checkin') }}</a>
|
2023-10-03 12:30:08 -07:00
|
|
|
</td>
|
2021-10-04 20:39:24 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<?php $totalCost = $totalCost + ($component->purchase_cost *$component->pivot->assigned_qty) ?>
|
2020-04-21 11:13:29 -07:00
|
|
|
</tr>
|
|
|
|
@endif
|
|
|
|
@endforeach
|
|
|
|
</tbody>
|
|
|
|
|
|
|
|
<tfoot>
|
|
|
|
<tr>
|
|
|
|
<td colspan="2">
|
|
|
|
</td>
|
|
|
|
<td>{{ $totalCost }}</td>
|
|
|
|
</tr>
|
|
|
|
</tfoot>
|
|
|
|
</table>
|
|
|
|
@else
|
2024-08-21 05:06:16 -07:00
|
|
|
<div class="alert alert-info alert-block hidden-print">
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="info-circle" />
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ trans('general.no_results') }}
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div> <!-- /.tab-pane components -->
|
|
|
|
|
|
|
|
|
|
|
|
<div class="tab-pane fade" id="assets">
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{($asset->assignedAssets->count() > 0 ) ? '' : ' hidden-print'}}">
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="col-md-12">
|
|
|
|
|
|
|
|
@if ($asset->assignedAssets->count() > 0)
|
|
|
|
|
|
|
|
|
|
|
|
{{ Form::open([
|
|
|
|
'method' => 'POST',
|
|
|
|
'route' => ['hardware/bulkedit'],
|
|
|
|
'class' => 'form-inline',
|
|
|
|
'id' => 'bulkForm']) }}
|
|
|
|
<div id="toolbar">
|
2021-11-02 06:02:48 -07:00
|
|
|
<label for="bulk_actions"><span class="sr-only">{{ trans('general.bulk_actions')}}</span></label>
|
2020-04-21 11:13:29 -07:00
|
|
|
<select name="bulk_actions" class="form-control select2" style="width: 150px;" aria-label="bulk_actions">
|
2022-01-06 03:35:37 -08:00
|
|
|
<option value="edit">{{ trans('button.edit') }}</option>
|
|
|
|
<option value="delete">{{ trans('button.delete')}}</option>
|
|
|
|
<option value="labels">{{ trans_choice('button.generate_labels', 2) }}</option>
|
2020-04-21 11:13:29 -07:00
|
|
|
</select>
|
2023-10-18 10:46:47 -07:00
|
|
|
<button class="btn btn-primary" id="{{ (isset($id_button)) ? $id_button : 'bulkAssetEditButton' }}" disabled>{{ trans('button.go') }}</button>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- checked out assets table -->
|
|
|
|
<div class="table-responsive">
|
|
|
|
|
|
|
|
<table
|
|
|
|
data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}"
|
|
|
|
data-cookie-id-table="assetsTable"
|
|
|
|
data-pagination="true"
|
|
|
|
data-id-table="assetsTable"
|
|
|
|
data-search="true"
|
|
|
|
data-side-pagination="server"
|
|
|
|
data-show-columns="true"
|
2022-06-14 17:54:18 -07:00
|
|
|
data-show-fullscreen="true"
|
2020-04-21 11:13:29 -07:00
|
|
|
data-show-export="true"
|
|
|
|
data-show-refresh="true"
|
|
|
|
data-sort-order="asc"
|
2023-10-18 10:46:47 -07:00
|
|
|
data-bulk-button-id="#bulkAssetEditButton"
|
2020-04-21 11:13:29 -07:00
|
|
|
id="assetsListingTable"
|
|
|
|
class="table table-striped snipe-table"
|
|
|
|
data-url="{{route('api.assets.index',['assigned_to' => $asset->id, 'assigned_type' => 'App\Models\Asset']) }}"
|
|
|
|
data-export-options='{
|
2018-02-23 05:53:00 -08:00
|
|
|
"fileName": "export-assets-{{ str_slug($asset->name) }}-assets-{{ date('Y-m-d') }}",
|
|
|
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
|
|
|
}'>
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
</table>
|
2018-02-16 13:22:55 -08:00
|
|
|
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ Form::close() }}
|
|
|
|
</div>
|
2020-03-31 18:45:43 -07:00
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
@else
|
2020-03-31 18:45:43 -07:00
|
|
|
|
2024-08-21 05:06:16 -07:00
|
|
|
<div class="alert alert-info alert-block hidden-print">
|
2024-08-18 13:57:37 -07:00
|
|
|
<x-icon type="info-circle" />
|
2020-04-21 11:13:29 -07:00
|
|
|
{{ trans('general.no_results') }}
|
|
|
|
</div>
|
|
|
|
@endif
|
2020-03-31 18:45:43 -07:00
|
|
|
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
</div><!-- /col -->
|
|
|
|
</div> <!-- row -->
|
|
|
|
</div> <!-- /.tab-pane software -->
|
2018-01-10 05:44:11 -08:00
|
|
|
|
|
|
|
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="tab-pane fade" id="maintenances">
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{($asset->assetmaintenances->count() > 0 ) ? '' : ' hidden-print'}}">
|
2020-04-21 11:13:29 -07:00
|
|
|
<div class="col-md-12">
|
|
|
|
@can('update', \App\Models\Asset::class)
|
|
|
|
<div id="maintenance-toolbar">
|
2021-11-02 06:02:48 -07:00
|
|
|
<a href="{{ route('maintenances.create', ['asset_id' => $asset->id]) }}" class="btn btn-primary">{{ trans('button.add_maintenance') }}</a>
|
2020-04-21 11:13:29 -07:00
|
|
|
</div>
|
2024-07-24 09:26:55 -07:00
|
|
|
@endcan
|
2016-08-16 18:49:54 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<!-- Asset Maintenance table -->
|
2020-04-21 11:13:29 -07:00
|
|
|
<table
|
|
|
|
data-columns="{{ \App\Presenters\AssetMaintenancesPresenter::dataTableLayout() }}"
|
|
|
|
class="table table-striped snipe-table"
|
|
|
|
id="assetMaintenancesTable"
|
|
|
|
data-pagination="true"
|
|
|
|
data-id-table="assetMaintenancesTable"
|
|
|
|
data-search="true"
|
|
|
|
data-side-pagination="server"
|
|
|
|
data-toolbar="#maintenance-toolbar"
|
|
|
|
data-show-columns="true"
|
2022-06-14 17:54:18 -07:00
|
|
|
data-show-fullscreen="true"
|
2020-04-21 11:13:29 -07:00
|
|
|
data-show-refresh="true"
|
|
|
|
data-show-export="true"
|
|
|
|
data-export-options='{
|
2018-02-16 13:22:55 -08:00
|
|
|
"fileName": "export-{{ $asset->asset_tag }}-maintenances",
|
|
|
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
|
|
|
}'
|
2020-04-21 11:13:29 -07:00
|
|
|
data-url="{{ route('api.maintenances.index', array('asset_id' => $asset->id)) }}"
|
2021-07-08 12:05:40 -07:00
|
|
|
data-cookie-id-table="assetMaintenancesTable"
|
|
|
|
data-cookie="true">
|
2020-04-21 11:13:29 -07:00
|
|
|
</table>
|
|
|
|
</div> <!-- /.col-md-12 -->
|
|
|
|
</div> <!-- /.row -->
|
|
|
|
</div> <!-- /.tab-pane maintenances -->
|
|
|
|
|
|
|
|
<div class="tab-pane fade" id="history">
|
|
|
|
<!-- checked out assets table -->
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-12">
|
|
|
|
<table
|
|
|
|
class="table table-striped snipe-table"
|
|
|
|
id="assetHistory"
|
|
|
|
data-pagination="true"
|
|
|
|
data-id-table="assetHistory"
|
|
|
|
data-search="true"
|
|
|
|
data-side-pagination="server"
|
|
|
|
data-show-columns="true"
|
2022-06-14 17:54:18 -07:00
|
|
|
data-show-fullscreen="true"
|
2020-04-21 11:13:29 -07:00
|
|
|
data-show-refresh="true"
|
|
|
|
data-sort-order="desc"
|
|
|
|
data-sort-name="created_at"
|
|
|
|
data-show-export="true"
|
|
|
|
data-export-options='{
|
2018-05-02 14:13:06 -07:00
|
|
|
"fileName": "export-asset-{{ $asset->id }}-history",
|
2018-02-16 13:22:55 -08:00
|
|
|
"ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
|
|
|
|
}'
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
data-url="{{ route('api.activity.index', ['item_id' => $asset->id, 'item_type' => 'asset']) }}"
|
|
|
|
data-cookie-id-table="assetHistory"
|
|
|
|
data-cookie="true">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th data-visible="true" data-field="icon" style="width: 40px;" class="hidden-xs" data-formatter="iconFormatter">{{ trans('admin/hardware/table.icon') }}</th>
|
|
|
|
<th data-visible="true" data-field="action_date" data-sortable="true" data-formatter="dateDisplayFormatter">{{ trans('general.date') }}</th>
|
|
|
|
<th data-visible="true" data-field="admin" data-formatter="usersLinkObjFormatter">{{ trans('general.admin') }}</th>
|
|
|
|
<th data-visible="true" data-field="action_type">{{ trans('general.action') }}</th>
|
|
|
|
<th class="col-sm-2" data-field="file" data-visible="false" data-formatter="fileUploadNameFormatter">{{ trans('general.file_name') }}</th>
|
|
|
|
<th data-visible="true" data-field="item" data-formatter="polymorphicItemFormatter">{{ trans('general.item') }}</th>
|
|
|
|
<th data-visible="true" data-field="target" data-formatter="polymorphicItemFormatter">{{ trans('general.target') }}</th>
|
|
|
|
<th data-field="note">{{ trans('general.notes') }}</th>
|
|
|
|
<th data-field="signature_file" data-visible="false" data-formatter="imageFormatter">{{ trans('general.signature') }}</th>
|
|
|
|
<th data-visible="false" data-field="file" data-visible="false" data-formatter="fileUploadFormatter">{{ trans('general.download') }}</th>
|
|
|
|
<th data-field="log_meta" data-visible="true" data-formatter="changeLogFormatter">{{ trans('admin/hardware/table.changed')}}</th>
|
|
|
|
<th data-field="remote_ip" data-visible="false" data-sortable="true">{{ trans('admin/settings/general.login_ip') }}</th>
|
|
|
|
<th data-field="user_agent" data-visible="false" data-sortable="true">{{ trans('admin/settings/general.login_user_agent') }}</th>
|
|
|
|
<th data-field="action_source" data-visible="false" data-sortable="true">{{ trans('general.action_source') }}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div> <!-- /.row -->
|
|
|
|
</div> <!-- /.tab-pane history -->
|
2020-04-21 11:13:29 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="tab-pane fade" id="files">
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{ ($asset->uploads->count() > 0 ) ? '' : ' hidden-print' }}">
|
2024-07-24 09:26:55 -07:00
|
|
|
<div class="col-md-12">
|
2024-10-17 08:31:17 -07:00
|
|
|
<x-filestable
|
|
|
|
filepath="private_uploads/assets/"
|
|
|
|
showfile_routename="show/assetfile"
|
|
|
|
deletefile_routename="delete/modelfile"
|
|
|
|
:object="$asset" />
|
2022-06-28 16:17:46 -07:00
|
|
|
</div> <!-- /.col-md-12 -->
|
|
|
|
</div> <!-- /.row -->
|
|
|
|
</div> <!-- /.tab-pane files -->
|
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@can('view', $asset->model)
|
2022-06-28 16:17:46 -07:00
|
|
|
<div class="tab-pane fade" id="modelfiles">
|
2024-08-13 07:40:51 -07:00
|
|
|
<div class="row{{ (($asset->model) && ($asset->model->uploads->count() > 0)) ? '' : ' hidden-print' }}">
|
2022-06-28 16:17:46 -07:00
|
|
|
<div class="col-md-12">
|
|
|
|
|
2024-10-17 08:31:17 -07:00
|
|
|
<x-filestable
|
|
|
|
filepath="private_uploads/assetmodels/"
|
|
|
|
showfile_routename="show/modelfile"
|
|
|
|
deletefile_routename="userfile.destroy"
|
|
|
|
:object="$asset->model" />
|
2020-04-21 11:13:29 -07:00
|
|
|
|
|
|
|
</div> <!-- /.col-md-12 -->
|
|
|
|
</div> <!-- /.row -->
|
|
|
|
</div> <!-- /.tab-pane files -->
|
2024-07-24 09:26:55 -07:00
|
|
|
@endcan
|
|
|
|
</div><!-- /.tab-content -->
|
|
|
|
</div><!-- nav-tabs-custom -->
|
|
|
|
</div>
|
2020-04-21 11:13:29 -07:00
|
|
|
|
|
|
|
@can('update', \App\Models\Asset::class)
|
|
|
|
@include ('modals.upload-file', ['item_type' => 'asset', 'item_id' => $asset->id])
|
|
|
|
@endcan
|
2016-12-27 12:03:47 -08:00
|
|
|
@stop
|
2016-03-25 01:18:05 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@section('moar_scripts')
|
|
|
|
<script>
|
2023-04-27 16:00:17 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
$('#dataConfirmModal').on('show.bs.modal', function (event) {
|
|
|
|
var content = $(event.relatedTarget).data('content');
|
|
|
|
var title = $(event.relatedTarget).data('title');
|
|
|
|
$(this).find(".modal-body").text(content);
|
|
|
|
$(this).find(".modal-header").text(title);
|
|
|
|
});
|
2023-04-27 16:00:17 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
</script>
|
2020-04-21 11:13:29 -07:00
|
|
|
@include ('partials.bootstrap-table')
|
2017-06-08 18:26:55 -07:00
|
|
|
|
2024-07-24 09:26:55 -07:00
|
|
|
@stop
|