@@ -38,165 +38,20 @@ public function index(Request $request, User $user)
3838 $ user ->orWhere ('email ' , 'like ' , "% {$ request ->filter }% " );
3939 }
4040
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 ();
10243 }
10344
10445 if ($ request ->boolean ('deleted ' )) {
10546 $ user ->onlyTrashed ();
10647 }
10748
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-
11549 $ users = $ user ->sortBy (optional ($ request )->sortBy ?? 'created_at ' , optional ($ request )->direction ?? 'desc ' )
11650 ->paginate (optional ($ request )->rowsPerPage ?? 15 );
11751
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-
14452 return new ResourceCollection ($ users );
14553 }
14654
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-
20055 /**
20156 * Store a newly created resource in storage.
20257 *
@@ -229,7 +84,7 @@ public function store(Request $request, User $user)
22984 $ user = $ user ->updateOrCreateAddress ([]);
23085
23186 return response ()->json ([
232- 'data ' => $ user ->fresh (['address ' , 'notes ' , ' plan ' ]),
87+ 'data ' => $ user ->fresh (['address ' , 'logs ' ]),
23388 'message ' => 'Member has been created successfully! ' ,
23489 ], 200 );
23590 }
@@ -242,7 +97,7 @@ public function store(Request $request, User $user)
24297 */
24398 public function show (User $ user )
24499 {
245- return response ()->json ($ user ->load (['notes ' , ' plan ' ]), 200 );
100+ return response ()->json ($ user ->load (['logs ' ]), 200 );
246101 }
247102
248103 /**
@@ -282,7 +137,7 @@ public function update(Request $request, User $user)
282137 // $user = $user->updateOrCreateAddress($request->input('address'));
283138
284139 return response ()->json ([
285- 'data ' => $ user ->fresh (['address ' , 'notes ' , ' plan ' ]),
140+ 'data ' => $ user ->fresh (['address ' , 'logs ' ]),
286141 'message ' => 'Member has been update successfully! ' ,
287142 ], 200 );
288143 }
@@ -336,151 +191,6 @@ public function change_active(Request $request, User $user)
336191 ], 200 );
337192 }
338193
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-
484194 /**
485195 * Create notes for specified resource from storage.
486196 *
@@ -489,40 +199,22 @@ public function schedules(Request $request, User $user)
489199 */
490200 public function notes (Request $ request , User $ user )
491201 {
202+ $ rules = [
203+ 'message ' => 'required ' ,
204+ ];
492205
493- if ($ request ->filled ('rag ' )) {
494- $ user ->update ($ request ->only ('rag ' ));
495- }
206+ // Validate those rules
207+ $ this ->validate ($ request , $ rules );
496208
497- if ($ request ->filled ('message ' )) {
498- $ request ->merge ([
499- 'type ' => 'notes ' ,
500- ]);
209+ $ request ->merge ([
210+ 'type ' => 'notes ' ,
211+ ]);
501212
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 ());
515214
516- public function reports (Request $ request )
517- {
518215 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! ' ,
526218 ], 200 );
527219 }
528220}
0 commit comments