search) { $this->searchQuery( $eleveurs, $request->search, 'code_ede', 'nom', 'prenom', 'ville', 'code_inuav' ); } if ($request->type) { try { $eleveurs = $eleveurs->whereType(EleveurType::make(intval($request->type))); //phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedCatch } catch (\BadMethodCallException $e) { dd($e); // Continue. } } $searchFields = trans('Code EDE, Nom, Prénom, Ville, Code INUAV'); $eleveurs->orderBy('id', 'DESC'); return view('eleveurs.index', [ 'eleveurs' => $eleveurs->paginate(), 'searchFields' => $searchFields ]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('eleveurs.create'); } /** * Store a newly created resource in storage. * * @param StoreEleveurRequest $request * @return \Illuminate\Http\Response */ public function store(StoreEleveurRequest $request) { $eleveur = new Eleveur($request->validated()); if ($request->photo1) { $eleveur->path_photo1 = ToolboxHelper::storeImage( $eleveur->getTable(), $request->photo1 ); } if ($request->photo2) { $eleveur->path_photo2 = ToolboxHelper::storeImage( $eleveur->getTable(), $request->photo2 ); } if ($eleveur->saveOrFail()) { return redirect() ->route('bo.eleveur.edit', ['eleveur' => $eleveur]) ->with('success', trans('La fiche éleveur à été créé.')); } return back(); } /** * Show the form for editing the specified resource. * * @param \App\Eleveur $eleveur * @return \Illuminate\Http\Response */ public function edit(Eleveur $eleveur) { return view('eleveurs.edit', ['eleveur' => $eleveur]); } /** * Update the specified resource in storage. * * @param UpdateEleveurRequest $request * @param \App\Eleveur $eleveur * @return \Illuminate\Http\Response */ public function update(UpdateEleveurRequest $request, Eleveur $eleveur) { $eleveur->fill($request->validated()); if ($request->photo1) { if (!File::delete($eleveur->path_photo1)) { Session::flash('error', trans('Erreur lors de la supression de l\'ancienne photo.')); } $eleveur->path_photo1 = ToolboxHelper::storeImage( $eleveur->getTable(), $request->photo1 ); } if ($request->photo2) { if (!File::delete($eleveur->path_photo2)) { Session::flash('error', trans('Erreur lors de la supression de l\'ancienne photo.')); } $eleveur->path_photo2 = ToolboxHelper::storeImage( $eleveur->getTable(), $request->photo2 ); } if ($eleveur->saveOrFail()) { return redirect() ->route('bo.eleveur.edit', ['eleveur' => $eleveur]) ->with('success', trans('La fiche éleveur à été modifiée.')); } return back(); } /** * Export eleveurs to CSV * * @return \Symfony\Component\HttpFoundation\StreamedResponse */ public function export() { $headers = array( "Content-Encoding" => "UTF-8", "Content-type" => "Content-type: text/csv; charset=UTF-8", "Content-Disposition" => "attachment; filename=file.csv", "Pragma" => "no-cache", "Cache-Control" => "must-revalidate, post-check=0, pre-check=0", "Expires" => "0" ); $eleveurs = Eleveur::all(); $columns = array( 'Code Cafel', 'Type', 'Code EDE', 'Nom', 'Prénom', 'Naissance', 'CP', 'Ville', 'Date Début Elevage', 'Code INUAV', 'Infos Exploitation', 'A propos de l\'éleveur', 'Toujours été éleveur', 'Ce que l\'éleveur aimes', 'Loué ?', 'Photo 1', 'Photo 2' ); $callback = function () use ($eleveurs, $columns) { $file = fopen('php://output', 'w'); fputs($file, "\xEF\xBB\xBF"); // * use BOM for Office fputcsv($file, $columns, ";"); foreach ($eleveurs as $eleveur) { if ($eleveur->path_photo1 != "") { $photo1 = "OUI"; } else { $photo1 = "NON"; } if ($eleveur->path_photo2 != "") { $photo2 = "OUI"; } else { $photo2 = "NON"; } fputcsv($file, array( $eleveur->code_cafel, $eleveur->type->label, $eleveur->code_ede, $eleveur->nom, $eleveur->prenom, $eleveur->naissance, $eleveur->cp, $eleveur->ville, $eleveur->elv_date_debut, $eleveur->code_inuav, $eleveur->exploitation, $eleveur->aboutyou, $eleveur->vocation, $eleveur->likeinjob, $eleveur->loue_means, $photo1, $photo2 ), ";"); }//end foreach fclose($file); }; return Response::stream($callback, 200, $headers); } }