2019-12-04 17:30:46 +01:00
< ? php
namespace App\Http\Controllers ;
use App\Eleveur ;
use Illuminate\Http\Request ;
2020-01-08 15:13:11 +01:00
use Response ;
2019-12-04 17:30:46 +01:00
class EleveurController extends Controller
{
/**
* Display a listing of the resource .
*
* @ return \Illuminate\Http\Response
*/
public function index ()
{
$eleveurs = Eleveur :: all ();
return view ( 'eleveurs.index' , [ 'eleveurs' => $eleveurs ]);
}
/**
* Show the form for creating a new resource .
*
* @ return \Illuminate\Http\Response
*/
public function create ()
{
2020-01-08 15:13:11 +01:00
return view ( 'eleveurs.create' );
2019-12-04 17:30:46 +01:00
}
/**
* Store a newly created resource in storage .
*
* @ param \Illuminate\Http\Request $request
* @ return \Illuminate\Http\Response
*/
public function store ( Request $request )
{
2020-02-10 14:24:31 +01:00
2020-01-08 15:13:11 +01:00
$eleveur = new Eleveur ();
$eleveur -> code_cafel = $request -> code_cafel ;
$eleveur -> code_ede = $request -> code_ede ;
2020-01-29 11:07:08 +01:00
$eleveur -> civilite = $request -> civilite ;
2020-01-08 15:13:11 +01:00
$eleveur -> nom = $request -> nom ;
$eleveur -> prenom = $request -> prenom ;
$eleveur -> naissance = $request -> naissance ;
$eleveur -> cp = $request -> cp ;
$eleveur -> ville = $request -> ville ;
$eleveur -> elv_date_debut = $request -> elv_date_debut ;
$eleveur -> code_inuav = $request -> code_inuav ;
2020-02-10 14:30:50 +01:00
if ( isset ( $request -> exploitation ) && $request -> exploitation != " " ){
$eleveur -> exploitation = $request -> exploitation ;
}
if ( isset ( $request -> aboutyou ) && $request -> aboutyou != " " ){
$eleveur -> aboutyou = $request -> aboutyou ;
}
if ( isset ( $request -> vocation ) && $request -> vocation != " " ){
$eleveur -> vocation = $request -> vocation ;
}
if ( isset ( $request -> likeinjob ) && $request -> likeinjob != " " ){
$eleveur -> likeinjob = $request -> likeinjob ;
}
if ( isset ( $request -> loue_means ) && $request -> loue_means != " " ){
$eleveur -> loue_means = $request -> loue_means ;
}
2020-02-10 14:24:31 +01:00
if ( $request -> photo1 ){
$path = $request -> photo1 -> store ( 'images/photos' );
$path = str_replace ( 'public/' , '' , $path );
$eleveur -> path_photo1 = $path ;
}
if ( $request -> photo2 ){
$path2 = $request -> photo2 -> store ( 'images/photos' );
$path2 = str_replace ( 'public/' , '' , $path2 );
$eleveur -> path_photo2 = $path2 ;
}
2020-01-08 15:13:11 +01:00
$eleveur -> save ();
return redirect () -> route ( 'eleveur.edit' , [ 'eleveur' => $eleveur ]);
2019-12-04 17:30:46 +01:00
}
/**
* Display the specified resource .
*
* @ param \App\Eleveur $eleveur
* @ return \Illuminate\Http\Response
*/
public function show ( Eleveur $eleveur )
{
}
/**
* 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 \Illuminate\Http\Request $request
* @ param \App\Eleveur $eleveur
* @ return \Illuminate\Http\Response
*/
public function update ( Request $request , Eleveur $eleveur )
{
$datas = collect ( $request -> all ());
if ( $request -> photo1 ){
$path = $request -> photo1 -> store ( 'images/photos' );
$path = str_replace ( 'public/' , '' , $path );
$datas -> put ( 'path_photo1' , $path );
} else {
$datas -> put ( 'path_photo1' , $request -> input ( 'path_photo1_hidden' ));
}
if ( $request -> photo2 ){
$path2 = $request -> photo2 -> store ( 'images/photos' );
$path2 = str_replace ( 'public/' , '' , $path2 );
$datas -> put ( 'path_photo2' , $path2 );
} else {
$datas -> put ( 'path_photo2' , $request -> input ( 'path_photo2_hidden' ));
}
$eleveur -> update ( $datas -> toArray ());
return redirect () -> route ( 'eleveur.edit' , [ 'eleveur' => $eleveur ]);
}
/**
* Remove the specified resource from storage .
*
* @ param \App\Eleveur $eleveur
* @ return \Illuminate\Http\Response
*/
public function destroy ( Eleveur $eleveur )
{
//
}
2020-01-08 15:13:11 +01:00
public function export (){
$headers = array (
" Content-type " => " text/csv " ,
" 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' , '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' );
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 -> 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 ), " ; " );
}
fclose ( $file );
};
return Response :: stream ( $callback , 200 , $headers );
}
2019-12-04 17:30:46 +01:00
}