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