Просмотр файла app/Controllers/Admin/TransferController.php

Размер файла: 1.42Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Controllers\Admin;
  6.  
  7. use App\Models\Transfer;
  8. use App\Models\User;
  9. use Illuminate\Http\Request;
  10.  
  11. class TransferController extends AdminController
  12. {
  13. /**
  14. * Конструктор
  15. */
  16. public function __construct()
  17. {
  18. parent::__construct();
  19.  
  20. if (! isAdmin(User::MODER)) {
  21. abort(403, __('errors.forbidden'));
  22. }
  23. }
  24.  
  25. /**
  26. * Главная страница
  27. *
  28. * @return string
  29. */
  30. public function index(): string
  31. {
  32. $transfers = Transfer::query()
  33. ->orderByDesc('created_at')
  34. ->with('user', 'recipientUser')
  35. ->paginate(setting('listtransfers'));
  36.  
  37. return view('admin/transfers/index', compact('transfers'));
  38. }
  39.  
  40. /**
  41. * Просмотр всех переводов
  42. *
  43. * @param Request $request
  44. *
  45. * @return string
  46. */
  47. public function view(Request $request): string
  48. {
  49. if (! $user = getUserByLogin($request->input('user'))) {
  50. abort(404, __('validator.user'));
  51. }
  52.  
  53. $transfers = Transfer::query()
  54. ->where('user_id', $user->id)
  55. ->orderByDesc('created_at')
  56. ->with('user', 'recipientUser')
  57. ->paginate(setting('listtransfers'))
  58. ->appends(['user' => $user->login]);
  59.  
  60. return view('admin/transfers/view', compact('transfers', 'user'));
  61. }
  62. }