/** * fonction store pour créer ou éditer * @param AdministratorsRequest $request * @param $id (facultatif), valeur null par defaut * */ public function store(AdministratorsRequest $request, $id = null) { if (!empty($id)) { $administrator = Administrators::find($id); } else { $administrator = new Administrators(); } $administrator->firstname = $request->firstname; $administrator->lastname = $request->lastname; $administrator->email = $request->email; $administrator->description = $request->description; if (!empty($administrator->password)) { $administrator->password = bcrypt($request->password); //if en mode edit } $administrator->super_admin = $request->super_admin; $administrator->expiration_date = new \DateTime('+1 year'); $administrator->active = true; /** * traitement de l'upload de l'image */ $filename = ""; // si j'ai un fichier image if ($request->hasFile('photo')) { //recuperation de l'image $file = $request->file('photo'); //recuperation du nom du fichier $filename = $file->getClientOriginalName(); //stockage du chemin vers lequel l'image va etre envoyée $destinationPath = public_path() . '/uploads/administrators'; //deplacement de l'image uploadée $file->move($destinationPath, $filename); //mise à jour de la propriété de l'objet administrators $administrator->photo = asset('/uploads/administrators/' . $filename); } //sauvegarde de l'objet administrators en base $administrator->save(); //creer un messsage flash de type success if (!empty($id)) { Session::flash('success', "L'administrateur {$administrator->firstname} {$administrator->lastname} a bien été modifié."); } else { Session::flash('success', "L'administrateur {$administrator->firstname} {$administrator->lastname} a bien été créé."); } //redirection vers la liste des admins return Redirect::route('administrators_index'); }
/** * To store an administrators * ARgument $id est facultatif: null est sa valeur par défaut */ public function store(AdministratorsRequest $request, $id = null) { // creation: créer un nouvel administrateur if ($id == null) { $administrator = new Administrators(); } else { // edition: récupérer un administrateur $administrator = Administrators::find($id); } $administrator->firstname = $request->firstname; $administrator->lastname = $request->lastname; $administrator->email = $request->email; $administrator->description = $request->description; // si l'utilisateur modifie // son mot de passe en mode edition if (!empty($request->password)) { $administrator->password = bcrypt($request->password); //if en mode edit } $administrator->super_admin = $request->super_admin; $administrator->expiration_date = new \DateTime('+1 year'); $administrator->active = true; //upload $filename = ""; if ($request->hasFile('image')) { $file = $request->file('image'); $filename = $file->getClientOriginalName(); // Récupère le nom original du fichier $destinationPath = public_path() . '/uploads/administrators'; // Indique où stocker le fichier $file->move($destinationPath, $filename); // Déplace le fichier $administrator->photo = asset("uploads/administrators/" . $filename); } $administrator->save(); // Auth::login($administrator); => Autologin Session::flash('success', "L'administrateur {$administrator->email} a bien été crée"); return Redirect::route('administrators_index'); }