AdminSettingsController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Setting;
  5. use App\Models\User;
  6. use Illuminate\Http\RedirectResponse;
  7. use Illuminate\Http\Request;
  8. use Illuminate\View\View;
  9. class AdminSettingsController extends Controller
  10. {
  11. public function index(): View
  12. {
  13. $users = User::query()
  14. ->orderBy('name')
  15. ->pluck('name', 'id')
  16. ->toArray();
  17. return view('admin.settings.index', [
  18. 'active' => 'admin_settings',
  19. 'title' => 'Настройки',
  20. 'users' => $users,
  21. 'defaultMafOrderUserId' => Setting::getInt(
  22. Setting::KEY_DEFAULT_MAF_ORDER_USER_ID,
  23. (int) config('app.default_maf_order_user_id')
  24. ),
  25. 'reclamationActRepresentativeUserId' => Setting::getInt(
  26. Setting::KEY_RECLAMATION_ACT_REPRESENTATIVE_USER_ID
  27. ),
  28. ]);
  29. }
  30. public function store(Request $request): RedirectResponse
  31. {
  32. $data = $request->validate([
  33. 'default_maf_order_user_id' => ['nullable', 'integer', 'exists:users,id'],
  34. 'reclamation_act_representative_user_id' => ['nullable', 'integer', 'exists:users,id'],
  35. ]);
  36. Setting::set(
  37. Setting::KEY_DEFAULT_MAF_ORDER_USER_ID,
  38. $data['default_maf_order_user_id'] ?? null
  39. );
  40. Setting::set(
  41. Setting::KEY_RECLAMATION_ACT_REPRESENTATIVE_USER_ID,
  42. $data['reclamation_act_representative_user_id'] ?? null
  43. );
  44. return back()->with('success', 'Настройки сохранены.');
  45. }
  46. }