From 6bfd428c2e5d4d456212b52ebf3fc416e876b818 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 15 Jan 2018 21:03:26 -0800 Subject: [PATCH] Use real status label names, even if deployed --- app/Http/Transformers/AssetsTransformer.php | 3 +- app/Presenters/AssetPresenter.php | 41 +++++++++++++++++++ resources/views/hardware/view.blade.php | 13 ++++-- .../views/partials/bootstrap-table.blade.php | 14 ++++--- 4 files changed, 61 insertions(+), 10 deletions(-) diff --git a/app/Http/Transformers/AssetsTransformer.php b/app/Http/Transformers/AssetsTransformer.php index c37a534783..76c9bd9f9d 100644 --- a/app/Http/Transformers/AssetsTransformer.php +++ b/app/Http/Transformers/AssetsTransformer.php @@ -34,7 +34,8 @@ class AssetsTransformer 'eol' => ($asset->purchase_date!='') ? Helper::getFormattedDateObject($asset->present()->eol_date(), 'date') : null , 'status_label' => ($asset->assetstatus) ? [ 'id' => (int) $asset->assetstatus->id, - 'name'=> e($asset->present()->statusText), + 'name'=> e($asset->assetstatus->name), + 'status_type'=> e($asset->assetstatus->getStatuslabelType()), 'status_meta' => e($asset->present()->statusMeta), ] : null, 'category' => ($asset->model->category) ? [ diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 872e37ffea..833428b5a7 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -417,6 +417,47 @@ class AssetPresenter extends Presenter return $this->model->assetstatus->name; } + /** + * @return string + * This handles the status label "meta" status of "deployed" if + * it's assigned. Results look like: + * + * (if assigned and the status label is "Ready to Deploy"): + * (Deployed) + * + * (f assigned and status label is not "Ready to Deploy":) + * Deployed (Another Status Label) + * + * (if not deployed:) + * Another Status Label + */ + public function fullStatusText() { + // Make sure the status is valid + if ($this->assetstatus) { + + // If the status is assigned to someone or something... + if ($this->model->assigned) { + + // If it's assigned and not set to the default "ready to deploy" status + if ($this->assetstatus->name != trans('general.ready_to_deploy')) { + return trans('general.deployed'). ' (' . $this->model->assetstatus->name.')'; + } + + // If it's assigned to the default "ready to deploy" status, just + // say it's deployed - otherwise it's confusing to have a status that is + // both "ready to deploy" and deployed at the same time. + return trans('general.deployed'); + } + + // Return just the status name + return $this->model->assetstatus->name; + } + + // This status doesn't seem valid - either data has been manually edited or + // the status label was deleted. + return 'Invalid status'; + } + /** * Date the warantee expires. * @return false|string diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 944db03b10..84002885e9 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -90,7 +90,12 @@ @if (($asset->assignedTo) && ($asset->deleted_at=='')) - {{ trans('general.deployed') }} {!! $asset->assignedTo->present()->glyph() !!} + + {{ $asset->assetstatus->name }} + + + + {!! $asset->assignedTo->present()->glyph() !!} {!! $asset->assignedTo->present()->nameUrl() !!} @else @if (($asset->assetstatus) && ($asset->assetstatus->deployable=='1')) @@ -555,13 +560,13 @@
'; break; - case 'deployable': + case '{{ strtolower(trans('admin/hardware/general.deployable')) }}': text_color = 'green'; icon_style = 'fa-circle'; + text_help = ''; break; - case 'pending': + case '{{ strtolower(trans('general.pending')) }}': text_color = 'orange'; icon_style = 'fa-circle'; + text_help = ''; break; default: text_color = 'red'; icon_style = 'fa-times'; + text_help = ''; } - return ' ' + value.name + ''; + return ' ' + value.name + ' ' + text_help + ' '; } else if ((value) && (value.name)) { return ' ' + value.name + ''; }