diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 613158508..734125ff3 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -246,6 +246,7 @@ class UsersController extends Controller 'two_factor_optin', 'two_factor_enrolled', 'remote', + 'vip', 'start_date', 'end_date', ]; diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index 0c6ab8834..83f271362 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -272,6 +272,7 @@ class UsersController extends Controller $user->activated = $request->input('activated', 0); $user->zip = $request->input('zip', null); $user->remote = $request->input('remote', 0); + $user->vip = $request->input('vip', 0); $user->website = $request->input('website', null); $user->start_date = $request->input('start_date', null); $user->end_date = $request->input('end_date', null); diff --git a/app/Models/User.php b/app/Models/User.php index 73a30b229..249178ce0 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -64,6 +64,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo 'scim_externalid', 'avatar', 'gravatar', + 'vip', ]; protected $casts = [ @@ -71,6 +72,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo 'manager_id' => 'integer', 'location_id' => 'integer', 'company_id' => 'integer', + 'vip' => 'boolean', ]; diff --git a/app/Presenters/UserPresenter.php b/app/Presenters/UserPresenter.php index bf4c81c80..4bfe4492f 100644 --- a/app/Presenters/UserPresenter.php +++ b/app/Presenters/UserPresenter.php @@ -85,6 +85,15 @@ class UserPresenter extends Presenter 'visible' => true, 'formatter' => 'usersLinkFormatter', ], + [ + 'field' => 'vip', + 'searchable' => false, + 'sortable' => true, + 'switchable' => true, + 'title' => trans('admin/users/general.vip_label'), + 'visible' => false, + 'formatter' => 'trueFalseFormatter', + ], [ 'field' => 'remote', 'searchable' => false, diff --git a/database/migrations/2023_01_23_232933_add_vip_to_users.php b/database/migrations/2023_01_23_232933_add_vip_to_users.php new file mode 100644 index 000000000..344f35d24 --- /dev/null +++ b/database/migrations/2023_01_23_232933_add_vip_to_users.php @@ -0,0 +1,34 @@ +boolean('vip')->nullable()->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + if (Schema::hasColumn('users', 'vip')) { + $table->dropColumn('vip'); + } + }); + } +} diff --git a/resources/lang/en/admin/users/general.php b/resources/lang/en/admin/users/general.php index bdd9401da..a3b1699e2 100644 --- a/resources/lang/en/admin/users/general.php +++ b/resources/lang/en/admin/users/general.php @@ -43,6 +43,8 @@ return [ 'remote' => 'Remote', 'remote_help' => 'This can be useful if you need to filter by remote users who never or rarely come into your physical locations.', 'not_remote_label' => 'This is not a remote user', + 'vip_label' => 'VIP user', + 'vip_help' => 'This can be helpful to mark important people if you would like', 'create_user' => 'Create a user', 'create_user_page_explanation' => 'This is the account information you will use to access the site for the first time.', 'email_credentials' => 'Email credentials', diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 3a85874b9..a0815b466 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -370,6 +370,19 @@ @include ('partials.forms.edit.datepicker', ['translated_name' => trans('general.end_date'), 'fieldname' => 'end_date', 'item' => $user]) + +
+
+ +

{{ trans('admin/users/general.vip_help') }} +

+
+
+
diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index cd9757854..3757dec07 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -519,7 +519,17 @@
@endif - + +
+
+ {{ trans('admin/users/general.vip_label') }} +
+
+ {!! ($user->vip=='1') ? ' '.trans('general.yes') : ' '.trans('general.no') !!} +
+
+ +
{{ trans('admin/users/general.remote') }}