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 @@