Bladeren bron

fix: hide phone number on master user

Muhammad Iqbal Afandi 3 jaren geleden
bovenliggende
commit
beb544ffa6

+ 6
- 2
app/Http/Controllers/UserController.php Bestand weergeven

@@ -38,7 +38,6 @@ class UserController extends Controller
38 38
                 ->through(fn($user) => [
39 39
                     'id' => $user->id,
40 40
                     'name' => $user->name,
41
-                    'phone' => $user->phone,
42 41
                     'email' => $user->email,
43 42
                     'role' => $user->role->name,
44 43
                     'status' => $user->status,
@@ -135,7 +134,12 @@ class UserController extends Controller
135 134
      */
136 135
     public function update(UpdateUserRequest $request, User $user)
137 136
     {
138
-        $user->update($request->validated());
137
+        $user->update([
138
+            'name' => $request->name,
139
+            'phone' => $request->phone ?? $user->phone,
140
+            'email' => $request->email,
141
+            'role_id' => $request->role_id,
142
+        ]);
139 143
 
140 144
         return back()->with('success', __('messages.success.update.user'));
141 145
     }

+ 1
- 1
app/Http/Requests/User/UpdateUserRequest.php Bestand weergeven

@@ -25,7 +25,7 @@ class UpdateUserRequest extends FormRequest
25 25
     {
26 26
         return [
27 27
             'name' => 'required|string|max:50',
28
-            'phone' => 'required|numeric|min:12|unique:users,phone,' . $this->user->id,
28
+            'phone' => 'nullable|numeric|min:12|unique:users,phone,' . $this->user->id,
29 29
             'email' => 'required|email|unique:users,email,' . $this->user->id,
30 30
             'role_id' => 'required|numeric',
31 31
         ];

+ 0
- 1
app/Models/User.php Bestand weergeven

@@ -63,7 +63,6 @@ class User extends Authenticatable implements MustVerifyEmail
63 63
         $query->when($filters['search'] ?? null, function ($query, $search) {
64 64
             $query->where(function ($query) use ($search) {
65 65
                 $query->where('name', 'like', '%' . $search . '%')
66
-                    ->orWhere('phone', 'like', '%' . $search . '%')
67 66
                     ->orWhere('email', 'like', '%' . $search . '%');
68 67
             });
69 68
         });

+ 5
- 5
public/js/resources_js_pages_user_Edit_vue.js Bestand weergeven

@@ -477,7 +477,7 @@ __webpack_require__.r(__webpack_exports__);
477 477
 
478 478
     var form = (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__.useForm)({
479 479
       name: props.user.name,
480
-      phone: props.user.phone,
480
+      phone: null,
481 481
       email: props.user.email,
482 482
       role_id: props.user.role_id
483 483
     });
@@ -1178,13 +1178,14 @@ var _hoisted_5 = {
1178 1178
   "class": "col-12 md:col-6"
1179 1179
 };
1180 1180
 var _hoisted_6 = {
1181
+  key: 0,
1181 1182
   "class": "col-12 md:col-6"
1182 1183
 };
1183 1184
 var _hoisted_7 = {
1184 1185
   "class": "col-12 md:col-6"
1185 1186
 };
1186 1187
 var _hoisted_8 = {
1187
-  key: 0,
1188
+  key: 1,
1188 1189
   "class": "col-12 md:col-6"
1189 1190
 };
1190 1191
 var _hoisted_9 = {
@@ -1223,10 +1224,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1223 1224
             })
1224 1225
           }, null, 8
1225 1226
           /* PROPS */
1226
-          , ["disabled", "error", "modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1227
+          , ["disabled", "error", "modelValue"])]), $props.user.role_id === 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1227 1228
             label: "Nomor HP",
1228 1229
             placeholder: "nomor hp",
1229
-            disabled: $props.user.role_id !== 1,
1230 1230
             error: $setup.form.errors.phone,
1231 1231
             modelValue: $setup.form.phone,
1232 1232
             "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
@@ -1234,7 +1234,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1234 1234
             })
1235 1235
           }, null, 8
1236 1236
           /* PROPS */
1237
-          , ["disabled", "error", "modelValue"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1237
+          , ["error", "modelValue"])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppInputText"], {
1238 1238
             label: "Email",
1239 1239
             placeholder: "email",
1240 1240
             disabled: $props.user.role_id !== 1,

+ 1
- 4
public/js/resources_js_pages_user_Index_vue.js Bestand weergeven

@@ -981,7 +981,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
981 981
         header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
982 982
           return [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_InputText, {
983 983
             "class": "w-full md:w-27rem",
984
-            placeholder: "cari, contoh: 08xx, tina, tina@xx.com",
984
+            placeholder: "cari, contoh: tina, tina@xx.com",
985 985
             modelValue: $setup.search,
986 986
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
987 987
               return $setup.search = $event;
@@ -1081,9 +1081,6 @@ __webpack_require__.r(__webpack_exports__);
1081 1081
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
1082 1082
   field: 'name',
1083 1083
   header: 'Nama'
1084
-}, {
1085
-  field: 'phone',
1086
-  header: 'No HP'
1087 1084
 }, {
1088 1085
   field: 'email',
1089 1086
   header: 'Email'

+ 1
- 1
public/js/resources_js_pages_user_Show_vue.js Bestand weergeven

@@ -380,7 +380,7 @@ __webpack_require__.r(__webpack_exports__);
380 380
     var props = __props;
381 381
     var form = (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.useForm)({
382 382
       name: props.user.name,
383
-      phone: props.user.phone,
383
+      phone: null,
384 384
       email: props.user.email,
385 385
       role_id: props.user.role_id
386 386
     });

+ 0
- 3
public/js/resources_js_pages_user_tableHeader_js.js Bestand weergeven

@@ -14,9 +14,6 @@ __webpack_require__.r(__webpack_exports__);
14 14
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
15 15
   field: 'name',
16 16
   header: 'Nama'
17
-}, {
18
-  field: 'phone',
19
-  header: 'No HP'
20 17
 }, {
21 18
   field: 'email',
22 19
   header: 'Email'

+ 1
- 1
public/js/vue.js Bestand weergeven

@@ -58466,7 +58466,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
58466 58466
 /******/ 		// This function allow to reference async chunks
58467 58467
 /******/ 		__webpack_require__.u = (chunkId) => {
58468 58468
 /******/ 			// return url for filenames based on template
58469
-/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"85a497d97d470da0","resources_js_pages_auth_Login_vue":"b69ff437d119c92b","resources_js_pages_auth_ResetPassword_vue":"9bc29d6465cc0c53","resources_js_pages_auth_VerifyEmail_vue":"f88499b46d5f110c","resources_js_pages_expense_Create_vue":"6b317317dd1facc1","resources_js_pages_expense_Index_vue":"f68ad02de7919d7f","resources_js_pages_expense_Show_vue":"08ad1bd80a3b1b55","resources_js_pages_expense_tableHeader_js":"5b2c3a80fb697fff","resources_js_pages_home_Index_vue":"d37b07ec9a0de76b","resources_js_pages_member_Create_vue":"219be439cbdcb0fc","resources_js_pages_member_Edit_vue":"9be41b6f715dc3dc","resources_js_pages_member_Index_vue":"24f15d92feaabcc0","resources_js_pages_member_tableHeader_js":"61877f698532418e","resources_js_pages_member_useVehicle_js":"8edc972eb134efdf","resources_js_pages_mutation_Report_vue":"719b40705807e96b","resources_js_pages_mutation_tableHeader_js":"2c25ede9c3d1ff83","resources_js_pages_parkingfee_Create_vue":"3b5d007865a3175b","resources_js_pages_topup_Create_vue":"78970620a479025b","resources_js_pages_topup_Index_vue":"4bf34b53ba1e6f71","resources_js_pages_topup_Show_vue":"3414b5d6b7a48456","resources_js_pages_topup_tableHeader_js":"187746378ee18327","resources_js_pages_typemember_Create_vue":"4156d4c5d6d84320","resources_js_pages_typemember_Edit_vue":"837a31dd27cce269","resources_js_pages_typemember_Index_vue":"636b8e7509320ec1","resources_js_pages_typemember_tableHeader_js":"02f8a6c57093a7fe","resources_js_pages_typemember_useVehicle_js":"9bcdb75c62376835","resources_js_pages_typevehicle_Create_vue":"473e9a1484d5a361","resources_js_pages_typevehicle_Edit_vue":"771320873aaeb34e","resources_js_pages_typevehicle_Index_vue":"3f5b8f7cd6431c9c","resources_js_pages_typevehicle_tableHeader_js":"9616b18c4a750c3f","resources_js_pages_user_Create_vue":"c0966eacbaebe9f3","resources_js_pages_user_Edit_vue":"d72a87bfe38c706a","resources_js_pages_user_Index_vue":"5f3af1ecccab0573","resources_js_pages_user_Show_vue":"9fd2ebf7d82aac77","resources_js_pages_user_tableHeader_js":"21d48ec8ebf81ea7"}[chunkId] + "";
58469
+/******/ 			return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"85a497d97d470da0","resources_js_pages_auth_Login_vue":"b69ff437d119c92b","resources_js_pages_auth_ResetPassword_vue":"9bc29d6465cc0c53","resources_js_pages_auth_VerifyEmail_vue":"f88499b46d5f110c","resources_js_pages_expense_Create_vue":"6b317317dd1facc1","resources_js_pages_expense_Index_vue":"f68ad02de7919d7f","resources_js_pages_expense_Show_vue":"08ad1bd80a3b1b55","resources_js_pages_expense_tableHeader_js":"5b2c3a80fb697fff","resources_js_pages_home_Index_vue":"d37b07ec9a0de76b","resources_js_pages_member_Create_vue":"219be439cbdcb0fc","resources_js_pages_member_Edit_vue":"9be41b6f715dc3dc","resources_js_pages_member_Index_vue":"24f15d92feaabcc0","resources_js_pages_member_tableHeader_js":"61877f698532418e","resources_js_pages_member_useVehicle_js":"8edc972eb134efdf","resources_js_pages_mutation_Report_vue":"719b40705807e96b","resources_js_pages_mutation_tableHeader_js":"2c25ede9c3d1ff83","resources_js_pages_parkingfee_Create_vue":"3b5d007865a3175b","resources_js_pages_topup_Create_vue":"78970620a479025b","resources_js_pages_topup_Index_vue":"4bf34b53ba1e6f71","resources_js_pages_topup_Show_vue":"3414b5d6b7a48456","resources_js_pages_topup_tableHeader_js":"187746378ee18327","resources_js_pages_typemember_Create_vue":"4156d4c5d6d84320","resources_js_pages_typemember_Edit_vue":"837a31dd27cce269","resources_js_pages_typemember_Index_vue":"636b8e7509320ec1","resources_js_pages_typemember_tableHeader_js":"02f8a6c57093a7fe","resources_js_pages_typemember_useVehicle_js":"9bcdb75c62376835","resources_js_pages_typevehicle_Create_vue":"473e9a1484d5a361","resources_js_pages_typevehicle_Edit_vue":"771320873aaeb34e","resources_js_pages_typevehicle_Index_vue":"3f5b8f7cd6431c9c","resources_js_pages_typevehicle_tableHeader_js":"9616b18c4a750c3f","resources_js_pages_user_Create_vue":"c0966eacbaebe9f3","resources_js_pages_user_Edit_vue":"dc133cd27472979d","resources_js_pages_user_Index_vue":"285415934210f89f","resources_js_pages_user_Show_vue":"eb8620a364acd84c","resources_js_pages_user_tableHeader_js":"78beeea0dcacb81b"}[chunkId] + "";
58470 58470
 /******/ 		};
58471 58471
 /******/ 	})();
58472 58472
 /******/ 	

+ 3
- 9
resources/js/pages/user/Edit.vue Bestand weergeven

@@ -32,7 +32,7 @@ const onDeleteUser = () => {
32 32
 
33 33
 const form = useForm({
34 34
   name: props.user.name,
35
-  phone: props.user.phone,
35
+  phone: null,
36 36
   email: props.user.email,
37 37
   role_id: props.user.role_id,
38 38
 })
@@ -66,14 +66,8 @@ const onSubmit = () => {
66 66
                 />
67 67
               </div>
68 68
 
69
-              <div class="col-12 md:col-6">
70
-                <AppInputText
71
-                  label="Nomor HP"
72
-                  placeholder="nomor hp"
73
-                  :disabled="user.role_id !== 1"
74
-                  :error="form.errors.phone"
75
-                  v-model="form.phone"
76
-                />
69
+              <div v-if="user.role_id === 1" class="col-12 md:col-6">
70
+                <AppInputText label="Nomor HP" placeholder="nomor hp" :error="form.errors.phone" v-model="form.phone" />
77 71
               </div>
78 72
 
79 73
               <div class="col-12 md:col-6">

+ 1
- 5
resources/js/pages/user/Index.vue Bestand weergeven

@@ -38,11 +38,7 @@ watch(search, () => {
38 38
         <div class="grid">
39 39
           <div class="col-12 md:col-8">
40 40
             <div class="flex align-items-center">
41
-              <InputText
42
-                class="w-full md:w-27rem"
43
-                placeholder="cari, contoh: 08xx, tina, tina@xx.com"
44
-                v-model="search"
45
-              />
41
+              <InputText class="w-full md:w-27rem" placeholder="cari, contoh: tina, tina@xx.com" v-model="search" />
46 42
             </div>
47 43
           </div>
48 44
 

+ 1
- 1
resources/js/pages/user/Show.vue Bestand weergeven

@@ -12,7 +12,7 @@ const props = defineProps({
12 12
 
13 13
 const form = useForm({
14 14
   name: props.user.name,
15
-  phone: props.user.phone,
15
+  phone: null,
16 16
   email: props.user.email,
17 17
   role_id: props.user.role_id,
18 18
 })

+ 0
- 1
resources/js/pages/user/tableHeader.js Bestand weergeven

@@ -1,6 +1,5 @@
1 1
 export default [
2 2
   { field: 'name', header: 'Nama' },
3
-  { field: 'phone', header: 'No HP' },
4 3
   { field: 'email', header: 'Email' },
5 4
   { field: 'role', header: 'Hak Akses' },
6 5
   { field: 'status', header: 'Status' },