From 6872f8da7beacb1d1c468cad721c6154bdd33673 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 19 Apr 2023 17:31:09 -0700 Subject: [PATCH 1/3] adding total cost to user view --- app/Models/User.php | 20 +++++++++++++++++++ resources/lang/en/admin/users/table.php | 1 + resources/views/users/view.blade.php | 26 +++++++++++++++++++++++++ 3 files changed, 47 insertions(+) diff --git a/app/Models/User.php b/app/Models/User.php index 44bffe156d..efd7d537ba 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -766,4 +766,24 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo { return $this->locale; } + public function getUserTotalCost(){ + $total_cost= array(); + $asset_cost= 0; + $license_cost= 0; + $accessory_cost= 0; + foreach ($this->assets as $asset){ + $asset_cost += $asset->purchase_cost; + array_push($total_cost, $asset_cost); + } + foreach ($this->licenses as $license){ + $license_cost += $license->purchase_cost; + array_push($total_cost, $license_cost); + } + foreach ($this->accessories as $accessory){ + $accessory_cost += $accessory->purchase_cost; + array_push($total_cost, $accessory_cost); + } + + return $total_cost; + } } diff --git a/resources/lang/en/admin/users/table.php b/resources/lang/en/admin/users/table.php index e318d51545..21e2154280 100644 --- a/resources/lang/en/admin/users/table.php +++ b/resources/lang/en/admin/users/table.php @@ -29,6 +29,7 @@ return array( 'show_deleted' => 'Show Deleted Users', 'title' => 'Title', 'to_restore_them' => 'to restore them.', + 'total_assets_cost' => "Total Assets Cost", 'updateuser' => 'Update User', 'username' => 'Username', 'user_deleted_text' => 'This user has been marked as deleted.', diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index 47d6dea328..f6f6abd7f2 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -638,6 +638,26 @@ @endif +
+ +
+ {{ trans('admin/users/table.total_assets_cost') }} +
+
+ {{Helper::formatCurrencyOutput(array_sum(array ($user->getUserTotalCost())))}} + + + {{ trans('admin/hardware/form.optional_infos') }} + +
+ +
@@ -1109,6 +1129,12 @@ $(function () { } }); + $("#optional_info").on("click",function(){ + $('#optional_details').fadeToggle(100); + $('#optional_info_icon').toggleClass('fa-caret-right fa-caret-down'); + var optional_info_open = $('#optional_info_icon').hasClass('fa-caret-down'); + document.cookie = "optional_info_open="+optional_info_open+'; path=/'; + }); }); From 97df39001dec0ee9529ebce8fcdbd94a58d70b8b Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 19 Apr 2023 17:51:37 -0700 Subject: [PATCH 2/3] adds optional breakdowns for total cost --- app/Models/User.php | 12 +++++++----- resources/views/users/view.blade.php | 6 ++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/Models/User.php b/app/Models/User.php index efd7d537ba..32a11c8a09 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -767,23 +767,25 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo return $this->locale; } public function getUserTotalCost(){ - $total_cost= array(); $asset_cost= 0; $license_cost= 0; $accessory_cost= 0; foreach ($this->assets as $asset){ $asset_cost += $asset->purchase_cost; - array_push($total_cost, $asset_cost); + $this->asset_cost = $asset_cost; } foreach ($this->licenses as $license){ $license_cost += $license->purchase_cost; - array_push($total_cost, $license_cost); + $this->license_cost = $license_cost; } foreach ($this->accessories as $accessory){ $accessory_cost += $accessory->purchase_cost; - array_push($total_cost, $accessory_cost); + $this->accessory_cost = $accessory_cost; } - return $total_cost; + $this->total_user_cost = ($asset_cost + $accessory_cost + $license_cost); + + + return $this; } } diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index f6f6abd7f2..50937e9e6a 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -644,7 +644,7 @@ {{ trans('admin/users/table.total_assets_cost') }} -