diff --git a/app/Http/Transformers/AssetsTransformer.php b/app/Http/Transformers/AssetsTransformer.php index 869666d7a0..68dc731f07 100644 --- a/app/Http/Transformers/AssetsTransformer.php +++ b/app/Http/Transformers/AssetsTransformer.php @@ -102,10 +102,10 @@ class AssetsTransformer foreach ($asset->model->fieldset->fields as $field) { if ($field->isFieldDecryptable($asset->{$field->db_column})) { $decrypted = Helper::gracefulDecrypt($field, $asset->{$field->db_column}); - $value = (Gate::allows('superadmin')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted')); + $value = (Gate::allows('assets.view.encrypted_custom_fields')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted')); if ($field->format == 'DATE'){ - if (Gate::allows('superadmin')){ + if (Gate::allows('assets.view.encrypted_custom_fields')){ $value = Helper::getFormattedDateObject($value, 'date', false); } else { $value = strtoupper(trans('admin/custom_fields/general.encrypted')); diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index f1e817ca16..9d493e85bb 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -146,6 +146,11 @@ class AuthServiceProvider extends ServiceProvider } }); + Gate::define('assets.view.encrypted_custom_fields', function ($user) { + if($user->hasAccess('assets.view.encrypted_custom_fields')){ + return true; + } + }); // ----------------------------------------- // Reports diff --git a/config/permissions.php b/config/permissions.php index 0b65a4e26b..10c44a1896 100644 --- a/config/permissions.php +++ b/config/permissions.php @@ -106,6 +106,13 @@ return [ 'display' => true, ], + [ + 'permission' => 'assets.view.encrypted_custom_fields', + 'label' => 'View and Modify Encrypted Custom Fields', + 'note' => '', + 'display' => true, + ], + ], 'Accessories' => [ diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 6c1aef99eb..a583602958 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -410,7 +410,7 @@ @endif @if ($field->isFieldDecryptable($asset->{$field->db_column_name()} )) - @can('superuser') + @can('assets.view.encrypted_custom_fields') @if (($field->format=='URL') && ($asset->{$field->db_column_name()}!='')) {{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }} @elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!='')) diff --git a/resources/views/models/custom_fields_form.blade.php b/resources/views/models/custom_fields_form.blade.php index cbc6a731ab..011ad4ca9b 100644 --- a/resources/views/models/custom_fields_form.blade.php +++ b/resources/views/models/custom_fields_form.blade.php @@ -53,7 +53,7 @@ @else - @if (($field->field_encrypted=='0') || (Gate::allows('admin'))) + @if (($field->field_encrypted=='0') || (Gate::allows('assets.view.encrypted_custom_fields'))) @else