/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $campos['producto'] = Input::get('producto');
     $campos['descripcion'] = Input::get('descripcion');
     $campos['marca'] = Input::get('marca');
     $campos['cantidad'] = Input::get('cantidad');
     $campos['precio_inicial'] = Input::get('precio_inicial');
     $campos['img'] = Input::get('img');
     $campos['categoria'] = Input::get('categoria_id');
     $campos['subcategoria'] = Input::get('subcategoria_id');
     $campos['activo'] = Input::get('activo');
     $validacion = Validator::make($campos, ['producto' => 'required', 'descripcion' => 'required', 'marca' => 'required', 'cantidad' => 'required', 'precio_inicial' => 'required', 'img' => 'required', 'categoria' => 'required', 'subcategoria' => 'required', 'activo' => 'required']);
     if ($validacion->fails()) {
         return Redirect::back()->withInput()->withErrors($validacion);
     }
     ValidaAccesoController::validarAcceso('productos', 'escritura');
     $producto = new Productos();
     #extensiones permitidas
     $exts = array('png', 'jpg', 'gif');
     $file = Input::file('imgFile');
     $error = "Error al subir el archivo";
     $bnd = 0;
     $destinationPath = 'assets/img/productos/';
     $strRandom = str_random(8);
     $fileName = $strRandom . "_" . $file->getClientOriginalName();
     $_POST['imgName'] = $fileName;
     $extension = $file->getClientOriginalExtension();
     if (!in_array(strtolower($extension), $exts)) {
         $error = "Solo se aceptan los siguientes formatos de imagenes png, jpg, gif";
         $bnd = 1;
     }
     #se valida que la extension sea permitida
     $upload_success = 0;
     if ($bnd == 0) {
         $upload_success = Input::file('imgFile')->move($destinationPath, $fileName);
     }
     #se valida que se hay la img se cargo y que la extension sea permitida
     if ($upload_success && $bnd == 0) {
         if ($producto->validSave(Input::all())) {
             return Redirect::route('productos.index');
         } else {
             #eliminamos el archivo si no se guardo correctamente el producto
             File::delete($destinationPath . $fileName);
             return Redirect::route('productos.create')->withInput()->withErrors($producto->errores);
         }
     } else {
         return Redirect::route('productos.create')->withInput()->withErrors(array($error));
     }
 }