@@ -38,165 +38,20 @@ public function index(Request $request, User $user)
38
38
$ user ->orWhere ('email ' , 'like ' , "% {$ request ->filter }% " );
39
39
}
40
40
41
- if ($ request ->boolean ('isEnquiry ' )) {
42
- if ($ request ->filled ('status ' )) {
43
- $ user ->where ('status ' , $ request ->input ('status ' ));
44
- }
45
- } else {
46
- $ user ->onlyMember ();
47
-
48
- if ($ request ->boolean ('status ' )) {
49
- $ user ->onlyActive ();
50
- }
51
-
52
- if ($ request ->status == 'no-show ' ) {
53
- $ user ->onlyNoShow ();
54
- }
55
-
56
- if ($ request ->status == 'blocked ' ) {
57
- $ user ->onlyBlocked ();
58
- }
59
-
60
- if ($ request ->filled ('type ' )) {
61
- switch ($ request ->input ('type ' )) {
62
- case 'checked ' :
63
- $ user ->onlyChecked ();
64
- break ;
65
-
66
- case 'notchecked ' :
67
- $ user ->onlyChecked (0 );
68
- break ;
69
-
70
- case 'rec_checked ' :
71
- $ user ->onlyMemChecked ();
72
- break ;
73
-
74
- case 'rec_notchecked ' :
75
- $ user ->onlyMemChecked (0 );
76
- break ;
77
-
78
- case 'rolling ' :
79
- $ user ->onlyRolling ();
80
- break ;
81
-
82
- case 'ends ' :
83
- case 'end_date ' :
84
- $ user ->onlyRolling (false );
85
- break ;
86
-
87
- case 'monthly ' :
88
- case 'annual ' :
89
- case 'admin ' :
90
- $ user ->onlyPlan ($ request ->input ('type ' ));
91
- break ;
92
-
93
- case 'free ' :
94
- $ user ->onlyFree ();
95
- break ;
96
- }
97
- }
98
- }
99
-
100
- if ($ request ->filled ('rag ' )) {
101
- $ user ->where ('rag ' , $ request ->rag );
41
+ if ($ request ->boolean ('status ' )) {
42
+ $ user ->onlyActive ();
102
43
}
103
44
104
45
if ($ request ->boolean ('deleted ' )) {
105
46
$ user ->onlyTrashed ();
106
47
}
107
48
108
- if ($ request ->filled ('month ' ) && $ request ->filled ('year ' )) {
109
- $ user ->whereHas ('payment ' , function ($ q ) use ($ request ) {
110
- $ q ->whereYear ('created_at ' , $ request ->year )
111
- ->whereMonth ('created_at ' , $ request ->month );
112
- });
113
- }
114
-
115
49
$ users = $ user ->sortBy (optional ($ request )->sortBy ?? 'created_at ' , optional ($ request )->direction ?? 'desc ' )
116
50
->paginate (optional ($ request )->rowsPerPage ?? 15 );
117
51
118
- if ($ request ->boolean ('finance ' )) {
119
- return response ()->json ([
120
- 'data ' => $ users ->items (),
121
- 'meta ' => [
122
- 'total ' => $ users ->total (),
123
- 'per_page ' => $ users ->perPage (),
124
- 'current_page ' => $ users ->currentPage (),
125
- 'last_page ' => $ users ->lastPage (),
126
- 'from ' => $ users ->firstItem (),
127
- 'to ' => $ users ->lastItem (),
128
- 'totalMember ' => User::getStats ('count ' ),
129
- 'rolling ' => User::getStats ('rolling ' ),
130
- 'endDate ' => User::getStats ('ends ' ),
131
- 'monthly ' => User::getStats ('monthly ' ),
132
- 'annual ' => User::getStats ('annual ' ),
133
- 'free ' => User::getStats ('free ' ),
134
- 'checked ' => User::getStats ($ request ->boolean ('mem_rec ' ) ? 'rec_checked ' : 'checked ' ),
135
- 'notChecked ' => User::getStats ($ request ->boolean ('mem_rec ' ) ? 'rec_notchecked ' : 'notchecked ' ),
136
- 'adminFee ' => User::getStats ('admin:fee ' ),
137
- 'monthlyFee ' => User::getStats ('monthly:fee ' ),
138
- 'annualFee ' => User::getStats ('annual:fee ' ),
139
- 'endDateFee ' => User::getStats ('ends:fee ' ),
140
- ],
141
- ], 200 );
142
- }
143
-
144
52
return new ResourceCollection ($ users );
145
53
}
146
54
147
- /**
148
- * Display a enquiry listing of the resource.
149
- *
150
- * @return \Illuminate\Http\Response
151
- */
152
- public function enquiry (Request $ request , User $ user )
153
- {
154
- $ request ->merge ([
155
- 'isEnquiry ' => true ,
156
- ]);
157
- return $ this ->index ($ request , $ user );
158
- }
159
-
160
- /**
161
- * Display a finance type listing of the resource.
162
- *
163
- * @return \Illuminate\Http\Response
164
- */
165
- public function finance_types (Request $ request , User $ user )
166
- {
167
- $ request ->merge ([
168
- 'finance ' => true ,
169
- ]);
170
- return $ this ->index ($ request , $ user );
171
- }
172
-
173
- /**
174
- * Display a finance membership listing of the resource.
175
- *
176
- * @return \Illuminate\Http\Response
177
- */
178
- public function finance_memberships (Request $ request , User $ user )
179
- {
180
- $ request ->merge ([
181
- 'finance ' => true ,
182
- 'mem_rec ' => true ,
183
- ]);
184
- return $ this ->index ($ request , $ user );
185
- }
186
-
187
- /**
188
- * Display a finance membership listing of the resource.
189
- *
190
- * @return \Illuminate\Http\Response
191
- */
192
- public function finance_admins (Request $ request , User $ user )
193
- {
194
- $ request ->merge ([
195
- 'finance ' => true ,
196
- ]);
197
- return $ this ->index ($ request , $ user );
198
- }
199
-
200
55
/**
201
56
* Store a newly created resource in storage.
202
57
*
@@ -229,7 +84,7 @@ public function store(Request $request, User $user)
229
84
$ user = $ user ->updateOrCreateAddress ([]);
230
85
231
86
return response ()->json ([
232
- 'data ' => $ user ->fresh (['address ' , 'notes ' , ' plan ' ]),
87
+ 'data ' => $ user ->fresh (['address ' , 'logs ' ]),
233
88
'message ' => 'Member has been created successfully! ' ,
234
89
], 200 );
235
90
}
@@ -242,7 +97,7 @@ public function store(Request $request, User $user)
242
97
*/
243
98
public function show (User $ user )
244
99
{
245
- return response ()->json ($ user ->load (['notes ' , ' plan ' ]), 200 );
100
+ return response ()->json ($ user ->load (['logs ' ]), 200 );
246
101
}
247
102
248
103
/**
@@ -282,7 +137,7 @@ public function update(Request $request, User $user)
282
137
// $user = $user->updateOrCreateAddress($request->input('address'));
283
138
284
139
return response ()->json ([
285
- 'data ' => $ user ->fresh (['address ' , 'notes ' , ' plan ' ]),
140
+ 'data ' => $ user ->fresh (['address ' , 'logs ' ]),
286
141
'message ' => 'Member has been update successfully! ' ,
287
142
], 200 );
288
143
}
@@ -336,151 +191,6 @@ public function change_active(Request $request, User $user)
336
191
], 200 );
337
192
}
338
193
339
- /**
340
- * Change foc of specified resource from storage.
341
- *
342
- * @param \App\Models\User $user
343
- * @return \Illuminate\Http\Response
344
- */
345
- public function checked_foc (Request $ request , User $ user )
346
- {
347
- $ user ->update ([
348
- 'foc ' => !$ user ->foc
349
- ]);
350
-
351
- $ request ->merge ([
352
- 'amount ' => $ user ->plan ? $ user ->plan ->plan_fee : 0
353
- ]);
354
-
355
- // updated payment
356
- $ user ->payment ()->update ($ request ->only ([
357
- 'amount ' ,
358
- ]));
359
-
360
- return response ()->json ([
361
- 'message ' => $ user ->foc ? 'Member foc marked as checked successfully! ' : 'Member foc marked as unchecked successfully! ' ,
362
- ], 200 );
363
- }
364
-
365
- /**
366
- * Change mem_rec of specified resource from storage.
367
- *
368
- * @param \App\Models\User $user
369
- * @return \Illuminate\Http\Response
370
- */
371
- public function checked_mem_rec (Request $ request , User $ user )
372
- {
373
- $ user ->update ([
374
- 'mem_rec ' => !$ user ->mem_rec
375
- ]);
376
-
377
- $ request ->merge ([
378
- 'amount ' => $ user ->plan ? $ user ->plan ->plan_fee : 0
379
- ]);
380
-
381
- // updated payment
382
- $ user ->payment ()->update ($ request ->only ([
383
- 'amount ' ,
384
- ]));
385
-
386
- return response ()->json ([
387
- 'message ' => $ user ->mem_rec ? 'Member rec marked as checked successfully! ' : 'Member rec marked as unchecked successfully! ' ,
388
- ], 200 );
389
- }
390
-
391
- /**
392
- * Change membership of specified resource from storage.
393
- *
394
- * @param \App\Models\User $user
395
- * @return \Illuminate\Http\Response
396
- */
397
- public function finance_membership (Request $ request , User $ user )
398
- {
399
- // update user info
400
- $ user ->update ($ request ->only (['collect_id ' ]));
401
-
402
- $ request ->merge ([
403
- 'amount ' => $ user ->plan ? $ user ->plan ->plan_fee : 0
404
- ]);
405
-
406
- // updated payment
407
- $ user ->payment ()->update ($ request ->only ([
408
- 'amount ' ,
409
- 'admin_date ' ,
410
- 'starts_at ' ,
411
- 'ends_at '
412
- ]));
413
-
414
- return response ()->json ([
415
- 'message ' => 'Member has been update successfully! ' ,
416
- ], 200 );
417
- }
418
-
419
- /**
420
- * Display a schedules listing of specified resource from storage.
421
- *
422
- * @param \App\Models\User $user
423
- * @return \Illuminate\Http\Response
424
- */
425
- public function schedules (Request $ request , User $ user )
426
- {
427
- ClassSchedule::resolveRelationUsing ('booking ' , function ($ schedule ) use ($ user ) {
428
- return $ schedule ->hasOne (Booking::class, 'schedule_id ' )->withOnly ([])->where ('user_id ' , $ user ->id );
429
- });
430
-
431
- $ classes = $ user ->schedules ()->with ('booking ' );
432
-
433
- if ($ request ->filled ('filter ' )) {
434
- $ classes ->whereHas ('class ' , function ($ q ) use ($ request ) {
435
- $ q ->where ('name ' , 'like ' , "% {$ request ->filter }% " );
436
- });
437
- $ classes ->orWhere ('day ' , 'like ' , "% {$ request ->filter }% " );
438
- }
439
-
440
- if ($ request ->filled ('date_from ' ) && $ request ->filled ('date_to ' )) {
441
- $ date_from = Carbon::parse ($ request ->input ('date_from ' ))->format ('Y-m-d ' );
442
- $ date_to = Carbon::parse ($ request ->input ('date_to ' ))->format ('Y-m-d ' );
443
- $ classes ->havingRaw ('date_at BETWEEN ? AND ? ' , [$ date_from , $ date_to ]);
444
- } else if ($ request ->filled ('date ' )) {
445
- $ date = Carbon::parse ($ request ->input ('date ' ));
446
- $ classes ->havingRaw ('date_at = ? ' , [$ date ]);
447
- }
448
-
449
- if ($ request ->filled ('status ' )) {
450
- switch ($ request ->status ) {
451
- case 'active ' :
452
- $ classes ->havingRaw ('date_at >= CURDATE() ' )
453
- ->whereHas ('bookings ' , function ($ q ) use ($ user ) {
454
- $ q ->where ('user_id ' , $ user ->id )
455
- ->whereNull ('canceled_at ' );
456
- });
457
- break ;
458
-
459
- case 'cancelled ' :
460
- $ classes ->whereHas ('bookings ' , function ($ q ) use ($ user ) {
461
- $ q ->where ('user_id ' , $ user ->id )
462
- ->whereNotNull ('canceled_at ' );
463
- });
464
- break ;
465
-
466
- case 'noshow ' :
467
- $ classes ->whereHas ('bookings ' , function ($ q ) use ($ user ) {
468
- $ q ->where ('user_id ' , $ user ->id )
469
- ->whereNull ('canceled_at ' )
470
- ->whereHas ('schedule ' , function ($ q ) {
471
- $ q ->whereNotNull ('sign_off_at ' );
472
- })
473
- ->where ('attendence ' , 0 );
474
- });
475
- break ;
476
- }
477
- }
478
-
479
- $ classes = $ classes ->orderBy (optional ($ request )->sortBy ?? 'created_at ' , optional ($ request )->direction ?? 'desc ' )
480
- ->paginate (optional ($ request )->rowsPerPage ?? 15 );
481
- return new ResourceCollection ($ classes );
482
- }
483
-
484
194
/**
485
195
* Create notes for specified resource from storage.
486
196
*
@@ -489,40 +199,22 @@ public function schedules(Request $request, User $user)
489
199
*/
490
200
public function notes (Request $ request , User $ user )
491
201
{
202
+ $ rules = [
203
+ 'message ' => 'required ' ,
204
+ ];
492
205
493
- if ($ request ->filled ('rag ' )) {
494
- $ user ->update ($ request ->only ('rag ' ));
495
- }
206
+ // Validate those rules
207
+ $ this ->validate ($ request , $ rules );
496
208
497
- if ($ request ->filled ('message ' )) {
498
- $ request ->merge ([
499
- 'type ' => 'notes ' ,
500
- ]);
209
+ $ request ->merge ([
210
+ 'type ' => 'notes ' ,
211
+ ]);
501
212
502
- $ note = $ user ->notes ()->create ($ request ->input ());
503
-
504
- return response ()->json ([
505
- 'data ' => $ note ->load ('admin ' ),
506
- 'message ' => 'Note has been added successfully! ' ,
507
- ], 200 );
508
- } else {
509
- return response ()->json ([
510
- 'data ' => null ,
511
- 'message ' => 'Note has been added successfully! ' ,
512
- ], 200 );
513
- }
514
- }
213
+ $ note = $ user ->notes ()->create ($ request ->input ());
515
214
516
- public function reports (Request $ request )
517
- {
518
215
return response ()->json ([
519
- 'total ' => User::getStatsByMonthAndYear ('total ' , $ request ->month , $ request ->year ),
520
- 'rolling ' => User::getStatsByMonthAndYear ('rolling ' , $ request ->month , $ request ->year ),
521
- 'end_date ' => User::getStatsByMonthAndYear ('end_date ' , $ request ->month , $ request ->year ),
522
- 'monthly ' => User::getStatsByMonthAndYear ('monthly ' , $ request ->month , $ request ->year ),
523
- 'annual ' => User::getStatsByMonthAndYear ('annual ' , $ request ->month , $ request ->year ),
524
- 'free ' => User::getStatsByMonthAndYear ('free ' , $ request ->month , $ request ->year ),
525
- 'cancelled ' => User::getStatsByMonthAndYear ('cancelled ' , $ request ->month , $ request ->year ),
216
+ 'data ' => $ note ->load ('admin ' ),
217
+ 'message ' => 'Note has been added successfully! ' ,
526
218
], 200 );
527
219
}
528
220
}
0 commit comments