Browse Source

fix: hide phone number on master user

Muhammad Iqbal Afandi 3 years ago
parent
commit
beb544ffa6

+ 6
- 2
app/Http/Controllers/UserController.php View File

38
                 ->through(fn($user) => [
38
                 ->through(fn($user) => [
39
                     'id' => $user->id,
39
                     'id' => $user->id,
40
                     'name' => $user->name,
40
                     'name' => $user->name,
41
-                    'phone' => $user->phone,
42
                     'email' => $user->email,
41
                     'email' => $user->email,
43
                     'role' => $user->role->name,
42
                     'role' => $user->role->name,
44
                     'status' => $user->status,
43
                     'status' => $user->status,
135
      */
134
      */
136
     public function update(UpdateUserRequest $request, User $user)
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
         return back()->with('success', __('messages.success.update.user'));
144
         return back()->with('success', __('messages.success.update.user'));
141
     }
145
     }

+ 1
- 1
app/Http/Requests/User/UpdateUserRequest.php View File

25
     {
25
     {
26
         return [
26
         return [
27
             'name' => 'required|string|max:50',
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
             'email' => 'required|email|unique:users,email,' . $this->user->id,
29
             'email' => 'required|email|unique:users,email,' . $this->user->id,
30
             'role_id' => 'required|numeric',
30
             'role_id' => 'required|numeric',
31
         ];
31
         ];

+ 0
- 1
app/Models/User.php View File

63
         $query->when($filters['search'] ?? null, function ($query, $search) {
63
         $query->when($filters['search'] ?? null, function ($query, $search) {
64
             $query->where(function ($query) use ($search) {
64
             $query->where(function ($query) use ($search) {
65
                 $query->where('name', 'like', '%' . $search . '%')
65
                 $query->where('name', 'like', '%' . $search . '%')
66
-                    ->orWhere('phone', 'like', '%' . $search . '%')
67
                     ->orWhere('email', 'like', '%' . $search . '%');
66
                     ->orWhere('email', 'like', '%' . $search . '%');
68
             });
67
             });
69
         });
68
         });

+ 5
- 5
public/js/resources_js_pages_user_Edit_vue.js View File

477
 
477
 
478
     var form = (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__.useForm)({
478
     var form = (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__.useForm)({
479
       name: props.user.name,
479
       name: props.user.name,
480
-      phone: props.user.phone,
480
+      phone: null,
481
       email: props.user.email,
481
       email: props.user.email,
482
       role_id: props.user.role_id
482
       role_id: props.user.role_id
483
     });
483
     });
1178
   "class": "col-12 md:col-6"
1178
   "class": "col-12 md:col-6"
1179
 };
1179
 };
1180
 var _hoisted_6 = {
1180
 var _hoisted_6 = {
1181
+  key: 0,
1181
   "class": "col-12 md:col-6"
1182
   "class": "col-12 md:col-6"
1182
 };
1183
 };
1183
 var _hoisted_7 = {
1184
 var _hoisted_7 = {
1184
   "class": "col-12 md:col-6"
1185
   "class": "col-12 md:col-6"
1185
 };
1186
 };
1186
 var _hoisted_8 = {
1187
 var _hoisted_8 = {
1187
-  key: 0,
1188
+  key: 1,
1188
   "class": "col-12 md:col-6"
1189
   "class": "col-12 md:col-6"
1189
 };
1190
 };
1190
 var _hoisted_9 = {
1191
 var _hoisted_9 = {
1223
             })
1224
             })
1224
           }, null, 8
1225
           }, null, 8
1225
           /* PROPS */
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
             label: "Nomor HP",
1228
             label: "Nomor HP",
1228
             placeholder: "nomor hp",
1229
             placeholder: "nomor hp",
1229
-            disabled: $props.user.role_id !== 1,
1230
             error: $setup.form.errors.phone,
1230
             error: $setup.form.errors.phone,
1231
             modelValue: $setup.form.phone,
1231
             modelValue: $setup.form.phone,
1232
             "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
1232
             "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
1234
             })
1234
             })
1235
           }, null, 8
1235
           }, null, 8
1236
           /* PROPS */
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
             label: "Email",
1238
             label: "Email",
1239
             placeholder: "email",
1239
             placeholder: "email",
1240
             disabled: $props.user.role_id !== 1,
1240
             disabled: $props.user.role_id !== 1,

+ 1
- 4
public/js/resources_js_pages_user_Index_vue.js View File

981
         header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
981
         header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
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, {
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
             "class": "w-full md:w-27rem",
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
             modelValue: $setup.search,
985
             modelValue: $setup.search,
986
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
986
             "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
987
               return $setup.search = $event;
987
               return $setup.search = $event;
1081
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
1081
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
1082
   field: 'name',
1082
   field: 'name',
1083
   header: 'Nama'
1083
   header: 'Nama'
1084
-}, {
1085
-  field: 'phone',
1086
-  header: 'No HP'
1087
 }, {
1084
 }, {
1088
   field: 'email',
1085
   field: 'email',
1089
   header: 'Email'
1086
   header: 'Email'

+ 1
- 1
public/js/resources_js_pages_user_Show_vue.js View File

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

+ 0
- 3
public/js/resources_js_pages_user_tableHeader_js.js View File

14
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
14
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
15
   field: 'name',
15
   field: 'name',
16
   header: 'Nama'
16
   header: 'Nama'
17
-}, {
18
-  field: 'phone',
19
-  header: 'No HP'
20
 }, {
17
 }, {
21
   field: 'email',
18
   field: 'email',
22
   header: 'Email'
19
   header: 'Email'

+ 1
- 1
public/js/vue.js View File

58466
 /******/ 		// This function allow to reference async chunks
58466
 /******/ 		// This function allow to reference async chunks
58467
 /******/ 		__webpack_require__.u = (chunkId) => {
58467
 /******/ 		__webpack_require__.u = (chunkId) => {
58468
 /******/ 			// return url for filenames based on template
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 View File

32
 
32
 
33
 const form = useForm({
33
 const form = useForm({
34
   name: props.user.name,
34
   name: props.user.name,
35
-  phone: props.user.phone,
35
+  phone: null,
36
   email: props.user.email,
36
   email: props.user.email,
37
   role_id: props.user.role_id,
37
   role_id: props.user.role_id,
38
 })
38
 })
66
                 />
66
                 />
67
               </div>
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
               </div>
71
               </div>
78
 
72
 
79
               <div class="col-12 md:col-6">
73
               <div class="col-12 md:col-6">

+ 1
- 5
resources/js/pages/user/Index.vue View File

38
         <div class="grid">
38
         <div class="grid">
39
           <div class="col-12 md:col-8">
39
           <div class="col-12 md:col-8">
40
             <div class="flex align-items-center">
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
             </div>
42
             </div>
47
           </div>
43
           </div>
48
 
44
 

+ 1
- 1
resources/js/pages/user/Show.vue View File

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

+ 0
- 1
resources/js/pages/user/tableHeader.js View File

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