diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index c67cbcb28..1fcfad9cf 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 @@ -615,6 +616,28 @@ class UsersController extends Controller ->with('settings', Setting::getSettings()); } + /** + * Emails user a list of assigned assets + * + * @author [G. Martinez] [] + * @since [v6.0.5] + * @param \App\Http\Controllers\Users\UsersController $id + * @return \Illuminate\Http\RedirectResponse + */ + 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 66c969906..c77ff8f8c 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/view.blade.php b/resources/views/users/view.blade.php index a6161f519..296453bf8 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 bc6cd32c6..b34fae0c1 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', [