/** * Store a newly created resource in storage. * * @return Response */ public function postCreate(UserRequest $request) { $user = new User(); $user->name = $request->name; $user->tipo_usuario = $request->tipo_usuario; $user->username = $request->username; $user->email = $request->email; $user->password = bcrypt($request->password); $user->confirmation_code = str_random(32); $user->confirmed = $request->confirmed; $picture = ""; if ($request->hasFile('image')) { $file = $request->file('image'); $filename = $file->getClientOriginalName(); $extension = $file->getClientOriginalExtension(); $picture = sha1($filename . time()) . '.' . $extension; $destinationPath = public_path() . '/uploads/users/fotos/'; $request->file('image')->move($destinationPath, $picture); $path2 = public_path() . '/uploads/users/fotos/thumbs/'; Thumbnail::generate_image_thumbnail($destinationPath . $picture, $path2 . $picture); } $user->filename = $picture; if ($user->save()) { return redirect("/admin/users"); } }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, ModelRequest $request) { try { $roles = $request->input('roles', []); $departments = $request->input('departments', []); $user_id = $request->input('user_id', null); $clear_picture = $request->input('clear_picture', false); $model = $this->getModel($id); try { DB::beginTransaction(); $model->user_id = $user_id; $model->update($request->all()); $model->roles()->sync($roles); $model->departments()->sync($departments); if ($clear_picture) { $picture = $model->picture; if ($picture) { try { File::delete(base_path() . $picture->filename); $picture->forcedelete(); } catch (Exception $e) { } } } else { if ($request->hasFile('photo')) { $uploaded_file = $request->file('photo'); if ($uploaded_file->isValid()) { $picture = $model->picture; if (!$picture) { $picture = new Picture(); } else { try { File::delete(base_path() . $picture->filename); } catch (Exception $e) { } } $picture->filename = $this->save_picture($model->name, $uploaded_file); $picture->mime_type = $uploaded_file->getMimeType(); $picture->extension = $uploaded_file->guessExtension(); if (!$picture->extension) { $picture->extension = $uploaded_file->getExtension(); } $picture->user_id = $model->id; $picture->save(); } } } DB::commit(); Flash::info(trans($this->resource_name . 'saved', ['model' => $this->model_name])); return redirect(route($this->show_route, [$model->id])); } catch (Exception $e) { DB::rollBack(); throw $e; } } catch (Exception $e) { $errors = []; if ($e->getCode() == 23000) { $errors['email'] = trans($this->resource_name . 'duplicated_email'); } else { Flash::error($e->getMessage()); } return $request->response($errors); } }