From e471aa8639a15402d5c608baac0f05b7ce4d259d Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 29 Jun 2022 11:15:15 -0700 Subject: [PATCH] adds button to email user list of assets from profile --- app/Http/Controllers/Users/UsersController.php | 14 ++++++++++++++ resources/lang/en/admin/users/general.php | 2 ++ resources/views/users/print.blade.php | 1 + resources/views/users/view.blade.php | 9 +++++++++ routes/web/users.php | 8 ++++++++ 5 files changed, 34 insertions(+) diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index c67cbcb286..d7372627b6 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -23,6 +23,7 @@ use Redirect; use Str; use Symfony\Component\HttpFoundation\StreamedResponse; use View; +use App\Notifications\CurrentInventory; /** * This controller handles all actions related to Users for @@ -614,6 +615,19 @@ class UsersController extends Controller ->with('show_user', $show_user) ->with('settings', Setting::getSettings()); } + public function emailAssetList($id) + { + $this->authorize('view', User::class); + + if( User::where('id', $id)->first()->exists()) + { + $user= User::where('id', $id)->first(); + $user->notify((new CurrentInventory($user))); + return redirect()->back()->with('success', 'admin/users/general.user_notified'); + } + + return redirect()->back()->with('error', 'admin/accessories/message.user_does_not_exist'); + } /** * Send individual password reset email diff --git a/resources/lang/en/admin/users/general.php b/resources/lang/en/admin/users/general.php index 66c9699064..c77ff8f8c7 100644 --- a/resources/lang/en/admin/users/general.php +++ b/resources/lang/en/admin/users/general.php @@ -17,6 +17,8 @@ return [ 'last_login' => 'Last Login', 'ldap_config_text' => 'LDAP configuration settings can be found Admin > Settings. The (optional) selected location will be set for all imported users.', 'print_assigned' => 'Print All Assigned', + 'email_assigned' => 'Email List of All Assigned', + 'user_notified' => 'User has been emailed a list of their currently assigned items.', 'software_user' => 'Software Checked out to :name', 'send_email_help' => 'You must provide an email address for this user to send them credentials. Emailing credentials can only be done on user creation. Passwords are stored in a one-way hash and cannot be retrieved once saved.', 'view_user' => 'View User :name', diff --git a/resources/views/users/print.blade.php b/resources/views/users/print.blade.php index 1da8353f28..76b4767682 100644 --- a/resources/views/users/print.blade.php +++ b/resources/views/users/print.blade.php @@ -67,6 +67,7 @@ {{ trans('admin/hardware/table.asset_tag') }} {{ trans('general.name') }} {{ trans('general.category') }} + {{ trans('admin/hardware/form.serial') }} {{ trans('admin/hardware/form.model') }} {{ trans('admin/hardware/form.serial') }} {{ trans('admin/hardware/table.checkout_date') }} diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index a6161f5197..296453bf83 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -188,6 +188,15 @@ @endcan + @can('view', $user) +
+
+ {{ csrf_field() }} + +
+
+ @endcan + @can('update', $user) @if (($user->activated == '1') && ($user->email != '') && ($user->ldap_import == '0'))
diff --git a/routes/web/users.php b/routes/web/users.php index bc6cd32c67..b34fae0c17 100644 --- a/routes/web/users.php +++ b/routes/web/users.php @@ -144,6 +144,14 @@ Route::group(['prefix' => 'users', 'middleware' => ['auth']], function () { ] )->name('users.print'); + Route::post( + '{userId}/email', + [ + Users\UsersController::class, + 'emailAssetList' + ] + )->name('users.email'); + Route::post( 'bulkedit', [