Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. public function store()
  2. {
  3. if(Request::has('post')){
  4. $request = Request::get('post');
  5.  
  6.  
  7. if(CSRFToken::verifyCSRFToken($request->token)){
  8.  
  9. $rules = ['nome'=>['required'=>true, 'minLength' => 3, 'maxLength' => 70, 'string'=>true],
  10.  
  11. 'preco'=>['required'=>true, 'minLength'=>2, 'numbers'=>true],
  12.  
  13. 'quantidade'=>['required'=>true],
  14.  
  15. 'categoria'=>['required'=>true], 'subcategoria'=>['required'=>true],
  16.  
  17. 'descricao'=>['required'=>true, 'mixed'=>true, 'minLength'=>5]
  18.  
  19. ];
  20.  
  21. $validate = new ValidateRequest;
  22.  
  23. $validate->abide($_POST, $rules);
  24.  
  25. $file = Request::get('file');
  26.  
  27.  
  28. isset($file) ? $filename = $file->imagem->name : $filename = '';
  29.  
  30.  
  31. if(empty($filename)){
  32.  
  33. $file_error['imagem'] = ['Insira uma imagem para o produto'];
  34.  
  35. }elseif(!UploadFiles::isImage($filename)){
  36.  
  37. $file_error['imagem'] = ['A extensão do arquivo não é válida'];
  38. }
  39.  
  40. if($validate->hasError()){
  41.  
  42. $response = $validate->getErrorMessages();
  43.  
  44. count($file_error) ? $errors= array_merge($response, $file_error) : $errors = $response;
  45.  
  46. return view('/admin/produtos/create', ['categories'=>$this->categories, 'errors'=>$errors ]);
  47. }
  48.  
  49.  
  50. $ds = DIRECTORY_SEPARATOR;
  51. $temp_file = $file->imagem->tmp_name;
  52. $image_path = UploadFiles::move($temp_file, "images{$ds}uploads{$ds}products", $filename)->path();
  53.  
  54. Product::create([
  55. 'name' => $request->nome,
  56. 'price'=>$request->preco,
  57. 'description'=>$request->descricao,
  58. 'category_id'=>$request->categoria,
  59. 'sub_category_id'=>$request->subcategoria,
  60. 'image_path'=>$image_path,
  61. 'quantity'=>$request->quantidade
  62. ]);
  63.  
  64. Request::refresh();
  65.  
  66. return view('/admin/produtos/create', [
  67. 'categories'=>$this->categories, 'success'=>'Produto criado com sucesso'
  68.  
  69. ]);
  70. }
  71.  
  72. throw new \Exception('Token Mismatch');
  73. }
  74.  
  75. return null;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement