filterObjectives($request); $objectives = $objectives->paginate(10); return view('bo.objectives.index', compact('objectives')); } protected function filterObjectives(Request $request) { $objectives = Objectives::query(); if ($request->rst) { Session::remove('objectives.sort_col'); Session::remove('objectives.sort_way'); } if ($request->sort_col) { Session::put('objectives.sort_col', $request->sort_col); Session::save(); } if ($request->sort_way) { Session::put('objectives.sort_way', $request->sort_way); Session::save(); } if (Session::has('objectives.sort_col') and Session::has('objectives.sort_way')) { switch (Session::get('objectives.sort_col')) { case 'produit': $objectives = $objectives->orderBy('produit', Session::get('objectives.sort_way')); break; case 'qualite': $objectives = $objectives->orderBy('qualite', Session::get('objectives.sort_way')); break; case 'campagne': $objectives = $objectives->orderBy('campagne', Session::get('objectives.sort_way')); break; case 'quantite': $objectives = $objectives->orderBy('quantite', Session::get('objectives.sort_way')); break; case 'prix': $objectives = $objectives->orderBy('prix', Session::get('objectives.sort_way')); break; case 'echeance': $objectives = $objectives->orderBy('echeance', Session::get('objectives.sort_way')); break; case 'status_id': $objectives = $objectives->orderBy('status_id', Session::get('objectives.sort_way')); break; case 'user_id': $objectives = $objectives->orderBy('user_id', Session::get('objectives.sort_way')); break; } } return $objectives; } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('bo.objectives.create'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { return redirect()->route('bo.objectives.index'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $objectif = Objectives::findOrFail($id); return view('bo.objectives.show', compact('objectif')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { return view('bo.objectives.edit'); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { return redirect()->route('bo.objectives.index'); } /** * Remove the specified resource from storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function destroy(Request $request) { $deleteOk = 0; if ($request->id !== null) { $objectif = Objectives::findOrFail($request->id); if ($objectif->user_id == Auth::user()->id) { $objectif->delete(); } else { $deleteOk = 3; } } else { $deleteOk = 2; } return $deleteOk; } /** * Store a newly created resource or update an existing one * @param \Illuminate\Http\Request $request * @return array $objectif */ public function saveProDatas(Request $request) { //save data from Pro dashboard $objectif = $request->objectif; if (isset($objectif["id"])) { $o = Objectives::findOrFail($objectif["id"]); $o->produit = $objectif["produit"]; $o->qualite = $objectif["qualite"]; $o->quantite = $objectif["quantite"]; $o->campagne = $objectif["campagne"]; $o->prix = $objectif["prix"]; $o->echeance = $objectif["echeance"]; $o->volume_restant = $objectif["volume_restant"]; $o->observations = $objectif["observations"]; $o->save(); $objectif["status_id"] = $o->status_id; $objectif["status"] = $o->status; } else { $o = Objectives::updateOrCreate([ 'produit' => $objectif["produit"], 'qualite' => $objectif["qualite"], 'quantite' => $objectif["quantite"], 'campagne' => $objectif["campagne"], 'prix' => $objectif["prix"], 'echeance' => $objectif["echeance"], 'volume_restant' => $objectif["volume_restant"], 'observations' => $objectif["observations"], 'user_id' => Auth::user()->id, 'status_id' => 1, ]); $objectif["id"] = $o->id; $objectif["status_id"] = $o->status_id; $objectif["status"] = $o->status; unset($objectif["user_id"]); } return $objectif; } }