MafOrderController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\StoreMafOrderRequest;
  4. use App\Models\MafOrder;
  5. use Illuminate\Http\Request;
  6. class MafOrderController extends Controller
  7. {
  8. protected array $data = [
  9. 'active' => 'maf_order',
  10. 'title' => 'Заказы МАФ',
  11. 'id' => 'maf_order',
  12. 'header' => [
  13. 'id' => 'ID',
  14. 'order_number' => '№ заказа',
  15. 'user-name' => 'Менеджер',
  16. 'product-article' => 'Артикул',
  17. 'product-nomenclature_number' => 'Номер номенклатуры',
  18. 'product-common_name' => 'МАФ',
  19. 'quantity' => 'Количество',
  20. 'created_at' => 'Дата создания',
  21. //
  22. // 'product-name_tz' => 'Наименование ТЗ',
  23. // 'product-type_tz' => 'Тип по ТЗ',
  24. // 'product-type' => 'Тип',
  25. // 'product-manufacturer_name' => 'Наименование производителя',
  26. ],
  27. 'searchFields' => [
  28. 'order_number',
  29. 'product-nomenclature_number',
  30. 'product-article',
  31. ],
  32. ];
  33. public function index(Request $request)
  34. {
  35. $model = new MafOrder;
  36. $this->createDateFilters($model, 'created_at');
  37. $q = $model::query();
  38. $this->acceptFilters($q, $request);
  39. $this->acceptSearch($q, $request);
  40. $this->setSortAndOrderBy($model, $request);
  41. $q->orderBy($this->data['sortBy'], $this->data['orderBy']);
  42. $this->data['maf_orders'] = $q->paginate()->withQueryString();
  43. return view('maf_orders.index', $this->data);
  44. }
  45. public function store(StoreMafOrderRequest $request)
  46. {
  47. MafOrder::query()->create($request->validated() + ['user_id' => $request->user()->id]);
  48. return redirect()->route('maf_order.index');
  49. }
  50. public function show(MafOrder $maf_order)
  51. {
  52. $this->data['maf_order'] = $maf_order;
  53. return view('maf_orders.edit', $this->data);
  54. }
  55. public function update(StoreMafOrderRequest $request, MafOrder $maf_order)
  56. {
  57. $maf_order->update($request->validated());
  58. return redirect()->route('maf_order.index');
  59. }
  60. public function destroy(MafOrder $maf_order)
  61. {
  62. $maf_order->delete();
  63. return redirect()->route('maf_order.index');
  64. }
  65. }