Guest User

PositionController.php

a guest
Jan 21st, 2021
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.83 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Admin;
  4.  
  5. use App\Http\Controllers\Controller;
  6. use App\Http\Requests\MassDestroyPositionRequest;
  7. use App\Http\Requests\StorePositionRequest;
  8. use App\Http\Requests\UpdatePositionRequest;
  9. use App\Models\Banner;
  10. use App\Models\Position;
  11. use App\Models\BannerType;
  12. use Gate;
  13. use Illuminate\Http\Request;
  14. use Symfony\Component\HttpFoundation\Response;
  15.  
  16. class PositionController extends Controller
  17. {
  18.     public function index()
  19.     {
  20.         abort_if(Gate::denies('position_access'), Response::HTTP_FORBIDDEN, '403 Forbidden');
  21.  
  22.         $banner = Banner::get();
  23.         $banner_types = BannerType::get();
  24.         $positions = Position::with(['banner'])->orderBy("position")->get();
  25.         $banner_array = array();
  26.         $banner_no_position = array();
  27.         foreach ($banner as $banner){
  28.             if(Position::where('banner_id',$banner->id)->count() != 0){
  29.                 $banner_array = array($banner);
  30.             }else{
  31.                 // print_r($banner);
  32.                 $banner_no_position = array($banner);
  33.             }
  34.         }
  35.         // dd($banner_array,$banner_no_position,$positions);
  36.  
  37.  
  38.         return view('admin.positions.index', compact('banner', 'banner_types','positions','banner_array','banner_no_position'));
  39.     }
  40.  
  41.     public function create()
  42.     {
  43.         abort_if(Gate::denies('position_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');
  44.  
  45.         $banners = Banner::all()->pluck('banner_name', 'id')->prepend(trans('global.pleaseSelect'), '');
  46.  
  47.         return view('admin.positions.create', compact('banners'));
  48.     }
  49.  
  50.     public function store(StorePositionRequest $request)
  51.     {
  52.         $position = Position::create($request->all());
  53.  
  54.         return redirect()->route('admin.positions.index');
  55.     }
  56.  
  57.     public function edit(Position $position)
  58.     {
  59.         abort_if(Gate::denies('position_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden');
  60.  
  61.         $banners = Banner::all()->pluck('banner_name', 'id')->prepend(trans('global.pleaseSelect'), '');
  62.  
  63.         $position->load('banner');
  64.  
  65.         return view('admin.positions.edit', compact('banners', 'position'));
  66.     }
  67.  
  68.     public function update(UpdatePositionRequest $request, Position $position)
  69.     {
  70.         $position->update($request->all());
  71.  
  72.         return redirect()->route('admin.positions.index');
  73.     }
  74.  
  75.     public function show(Position $position)
  76.     {
  77.         abort_if(Gate::denies('position_show'), Response::HTTP_FORBIDDEN, '403 Forbidden');
  78.  
  79.         $position->load('banner');
  80.  
  81.         return view('admin.positions.show', compact('position'));
  82.     }
  83.  
  84.     public function destroy(Position $position)
  85.     {
  86.         abort_if(Gate::denies('position_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden');
  87.  
  88.         $position->delete();
  89.  
  90.         return back();
  91.     }
  92.  
  93.     public function massDestroy(MassDestroyPositionRequest $request)
  94.     {
  95.         Position::whereIn('id', request('ids'))->delete();
  96.  
  97.         return response(null, Response::HTTP_NO_CONTENT);
  98.     }
  99.  
  100.     public function newPosition(Request $request)
  101.     {
  102.         // $positions = Position::where('banner_id',$id)->get();
  103.         // dd($request);
  104.         if($request->id != ''){
  105.             foreach ($request->id as $key => $id){
  106.                 if(Position::where('banner_id',$id)->count()!=0){
  107.                     Position::where('banner_id',$id)->delete();
  108.                 }
  109.                 $position = new Position;
  110.                 $position->position = $key;
  111.                 $position->banner_id = $id;
  112.  
  113.                 $position->save();
  114.                 echo $key .'=>'. $id . "<br>";
  115.             }
  116.         }
  117.         if($request->delete != ''){
  118.             foreach($request->delete as $key => $id){
  119.                 Position::where('banner_id',$id)->delete();
  120.             }
  121.         }
  122.  
  123.     }
  124. }
  125.  
Advertisement
Add Comment
Please, Sign In to add comment