diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index cfb0aa9f15..1913c86286 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -12,6 +12,7 @@ use App\Models\Statuslabel; use Crypt; use Illuminate\Contracts\Encryption\DecryptException; use Image; +use Carbon\Carbon; class Helper { @@ -1125,5 +1126,25 @@ class Helper return $settings; } + public static function AgeFormat($date) { + $year = Carbon::parse($date) + ->diff(now())->y; + $month = Carbon::parse($date) + ->diff(now())->m; + $days = Carbon::parse($date) + ->diff(now())->d; + $age=''; + if ($year) { + $age .= $year.'y '; + } + if ($month) { + $age .= $month.'m '; + } + if ($days) { + $age .= $days.'d'; + } + return $age; + + } } diff --git a/app/Http/Transformers/AssetsTransformer.php b/app/Http/Transformers/AssetsTransformer.php index 8edcca1413..9dfc6d4e7a 100644 --- a/app/Http/Transformers/AssetsTransformer.php +++ b/app/Http/Transformers/AssetsTransformer.php @@ -8,6 +8,7 @@ use App\Models\Setting; use Gate; use Illuminate\Database\Eloquent\Collection; + class AssetsTransformer { public function transformAssets(Collection $assets, $total) @@ -80,6 +81,7 @@ class AssetsTransformer 'next_audit_date' => Helper::getFormattedDateObject($asset->next_audit_date, 'date'), 'deleted_at' => Helper::getFormattedDateObject($asset->deleted_at, 'datetime'), 'purchase_date' => Helper::getFormattedDateObject($asset->purchase_date, 'date'), + 'age' => $asset->purchase_date ? Helper::AgeFormat($asset->purchase_date) : '', 'last_checkout' => Helper::getFormattedDateObject($asset->last_checkout, 'datetime'), 'expected_checkin' => Helper::getFormattedDateObject($asset->expected_checkin, 'date'), 'purchase_cost' => Helper::formatCurrencyOutput($asset->purchase_cost), diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index bd03f29a17..5db653c7cb 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -140,6 +140,12 @@ class AssetPresenter extends Presenter 'visible' => false, 'title' => trans('general.purchase_date'), 'formatter' => 'dateDisplayFormatter', + ], [ + 'field' => 'age', + 'searchable' => true, + 'sortable' => true, + 'visible' => false, + 'title' => trans('general.age'), ], [ 'field' => 'purchase_cost', 'searchable' => true, diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index bcc08dafd4..f0b6a3f2cf 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -11,6 +11,7 @@ return [ 'admin' => 'Admin', 'administrator' => 'Administrator', 'add_seats' => 'Added seats', + 'age' => "Age", 'all_assets' => 'All Assets', 'all' => 'All', 'archived' => 'Archived', diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 39a43521c6..31321a451d 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -495,6 +495,9 @@