PracticeManagementController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\AppSession;
  4. use App\Models\Client;
  5. use App\Models\ProTransaction;
  6. use Illuminate\Http\Request;
  7. class PracticeManagementController extends Controller
  8. {
  9. public function dashboard(Request $request)
  10. {
  11. return view('app.practice-management.dashboard');
  12. }
  13. public function rates(Request $request)
  14. {
  15. return view('app.practice-management.rates');
  16. }
  17. public function previousBills(Request $request)
  18. {
  19. return view('app.practice-management.previous-bills');
  20. }
  21. public function financialTransactions(Request $request)
  22. {
  23. $transactions = ProTransaction::where('pro_id', $this->performer()->pro->id)->orderBy('created_at', 'desc')->get();
  24. return view('app.practice-management.financial-transactions', compact('transactions'));
  25. }
  26. public function pendingBillsToSign(Request $request)
  27. {
  28. return view('app.practice-management.pending-bills-to-sign');
  29. }
  30. public function HR(Request $request)
  31. {
  32. return view('app.practice-management.hr');
  33. }
  34. public function directDepositSettings(Request $request)
  35. {
  36. return view('app.practice-management.direct-deposit-settings');
  37. }
  38. public function w9(Request $request)
  39. {
  40. return view('app.practice-management.w9');
  41. }
  42. public function contract(Request $request)
  43. {
  44. return view('app.practice-management.contract');
  45. }
  46. // video call page (RHS)
  47. // generic call handle (no uid)
  48. // specific call handle (uid of client)
  49. public function meet(Request $request, $uid = false) {
  50. $session = AppSession::where('session_key', $request->cookie('sessionKey'))->first();
  51. $pro = $session ? $session->pro : null;
  52. $client = !empty($uid) ? Client::where('uid', $uid)->first() : null;
  53. return view('app.video.call', compact('session', 'pro', 'client'));
  54. }
  55. // ajax ep used by the video page
  56. // this is needed bcoz meet() is used not
  57. // just for the client passed to the view
  58. public function getOpentokSessionKey(Request $request, $uid) {
  59. $client = Client::where('uid', $uid)->first();
  60. return json_encode(["data" => $client ? $client->opentok_session_id : '']);
  61. }
  62. }