/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(SlideShowRequest $request) { // The destination path for the uploaded images if (!$request->file('imagem')->isValid()) { return back()->withErrors(['failed' => 'Something went worng. The file could not be uploaded correctly']); } // Set a random number as a name for the image in server $file_name = rand(11111, 99999) . '.' . $request->file('imagem')->getClientOriginalExtension(); $destinationPath = public_path() . '/images/slideshow'; $request->file('imagem')->move($destinationPath, $file_name); $parameters = ['original_name' => $request->file('imagem')->getClientOriginalName(), 'file_name' => $file_name, 'description' => $request->input('descricao')]; Foto::create($parameters); return back()->with('message', 'Image uploaded with success!'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { /*$this->validate($request, [ 'nombre' => 'required', 'apellido' => 'required', 'cuit_cuil' => 'required|integer', 'domicilio' => 'required', 'telefono' => 'required', 'email' => 'required|email', 'fecha_carga' => 'date', ]);*/ $fotos = $this->request->all(); Foto::create($fotos); return redirect('fotos'); }
public function postCropandsave($id = 0, CropPhotoRequest $request) { $file = Input::file('file'); if ($file && $file->isValid()) { $entidade = Auth::user()->entidadeAtiva; $destinationPath = public_path() . '/uploads/'; $extension = Input::file('file')->getClientOriginalExtension(); // Pega o formato da imagem $widthCrop = round($request->input('w')); $heightCrop = round($request->input('h')); $xSuperior = round($request->input('x')); $ySuperior = round($request->input('y')); //Se tem owner, caso nao esteja pre criano uma foto para uma entidade $naoTemOwner = $request->input('NoOwner'); // pega o tipo da foto (avatar, capa, etc) $tipo = $request->input('tipo'); if (!$tipo) { $tipo = 'avatar'; } $fileName = $this->formatFileNameWithUserAndTimestamps($file->getClientOriginalName()) . '.' . $extension; $file = \Image::make($file->getRealPath())->crop($widthCrop, $heightCrop, $xSuperior, $ySuperior); $upload_success = $file->save($destinationPath . $fileName); if ($upload_success) { //Se nao tiver owner, entao estou pre settando a foto de //avatar antes de criar a entidade. if ($naoTemOwner) { $foto = Foto::create(['path' => $fileName, 'tipo' => $tipo]); //Se tiver um owner, entao ja salvar a foto para a //entidade ativa } else { $foto = new Foto(['path' => $fileName, 'tipo' => $tipo]); /* Settando tipo da foto atual para null, checando se existe antes */ if ($tipo == 'avatar' && $entidade->avatar) { $avatares = $entidade->fotos()->where('tipo', 'avatar')->get(); foreach ($avatares as $currentAvatar) { $currentAvatar->tipo = null; $currentAvatar->save(); } } $entidade->fotos()->save($foto); } return $foto; } else { return false; } } }
public function store(Request $request) { $usuarioLogado = Auth::user(); $regras = array('nomeEmpreendedor' => 'required|string', 'razaoSocial' => 'string', 'nomeFantasia' => 'required|string', 'slogan' => 'string', 'cpfCnpj' => 'required|string', 'email' => 'required|string', 'descricao' => 'required|string', 'horarioFuncionamento' => 'required|string', 'linkFacebook' => 'string', 'linkSite' => 'string', 'tiposEmpreendimentos' => 'required|not_in:-1', 'categorias' => 'required|not_in:-1', 'tiposCartoes' => 'required|not_in:-1', 'imagemPrincipal' => 'required', 'numeroWhatsapp' => 'required|string'); $mensagens = array('nomeEmpreendedor.required' => 'O campo Nome do Empreendedor deve ser preenchido.', 'nomeFantasia.required' => 'O campo Nome Fantasia deve ser preenchido.', 'cpfCnpj.required' => 'O campo CPF ou CNPJ deve ser preenchido.', 'email.required' => 'O campo Email deve ser preenchido.', 'descricao.required' => 'O campo Descrição deve ser preenchido.', 'horarioFuncionamento.required' => 'O campo Horário de Funcionamento deve ser preenchido.', 'tiposEmpreendimentos.required' => 'O campo Tipo do Empreendimento deve ser selecionado.', 'categorias.required' => 'O campo Categorias deve ser selecionado.', 'tiposCartoes.required' => 'O campo Tipos de cartões aceitos deve ser selecionado.', 'tiposEmpreendimentos.not_in' => 'O campo Tipo do Empreendimento deve ser selecionado.', 'categorias.not_in' => 'O campo Categorias deve ser selecionado.', 'tiposCartoes.not_in' => 'O campo Tipos de cartões aceitos deve ser selecionado.', 'imagemPrincipal.required' => 'É necessário carregar a imagem principal.', 'numeroWhatsapp.required' => 'O campo Número Whatsapp deve ser preenchido.', 'string' => 'O campo :attribute deve ser texto.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Empresa/Cadastrar')->withErrors($validator)->withInput(); } if (Gate::allows('AcessoComerciante')) { //$planoUsuario = $usuarioLogado->Comerciante->AssinaturaComerciante->Assinatura->Plano; //$plano = $planoUsuario->Plano->nome; $plano = "Basico"; if (!empty($plano)) { $empresa = Empresa::create(['nomeEmpreendedor' => $request['nomeEmpreendedor'], 'razaoSocial' => $request['razaoSocial'], 'cpfCnpj' => $request['cpfCnpj'], 'email' => $request['email'], 'nomeFantasia' => $request['nomeFantasia'], 'slogan' => $request['slogan'], 'descricao' => $request['descricao'], 'horarioFuncionamento' => $request['horarioFuncionamento'], 'atendeCasa' => $request['atendeCasa'], 'linkSite' => $request['linkSite'], 'linkFacebook' => $request['linkFacebook'], 'numeroWhatsapp' => $request['numeroWhatsapp'], 'idUsuario' => $usuarioLogado->id, 'idTipoEmpresa' => $request['tiposEmpreendimentos'], 'idVendedor' => $usuarioLogado->Comerciante->id, 'idTipoCartao' => $request['tiposCartoes'], 'dataCadastro' => date('y-m-d')]); $categoria = CategoriaEmpresa::create(['idEmpresa' => $empresa->id, 'idCategoria' => $request['categorias']]); $qtdCartao = DB::table('cartoes')->count(); //TODO: Refatorar isso depois, pode dar errado caso os ids não estejam em ordem na tabela for ($i = 0; $i <= $qtdCartao; $i++) { if (!is_null($request[$i])) { $cartoesAceitos = CartaoAceito::create(['idEmpresa' => $empresa->id, 'idCartao' => $i]); } } //$usuario = User::where('id', '=', $request['usuarios']) // ->first() //->load('Comerciante'); //->load('Comerciante.AssinaturaComerciante') //->load('Comerciante.AssinaturaComerciante.Assinatura') //->load('Comerciante.AssinaturaComerciante.Assinatura.Plano'); if ($plano == 'Básico') { $tags = explode(',', $request['tags']); if (count($tags) <= 5) { //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Básico') { if ($plano == 'Básico') { for ($i = 0, $max = 0; $i < count($tags) && $max < 5; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i]]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } else { $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Seu plano não permite mais de 5 tags.'); return redirect()->back()->with('errors', $errors); } } else { if ($plano == 'Pro') { $tags = explode(',', $request['tags']); if (count($tags) <= 15) { //if ($usuario->Comerciante->Plano->nome == 'Pro') { if ($plano == 'Pro') { for ($i = 0, $max = 0; $i < count($tags) && $max < 15; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } else { $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Seu plano não permite mais de 15 tags.'); return redirect()->back()->with('errors', $errors); } } } } else { } } else { if (Gate::allows('AcessoVendedor')) { $usuarioLogado = $usuarioLogado->load('Vendedor'); $regras = array('usuarios' => 'required|not_in:-1'); $mensagens = array('usuarios.required' => 'O campo Clientes deve ser selecionado.', 'usuarios.not_in' => 'O campo Clientes deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Empresa/Create')->withErrors($validator)->withInput(); } DB::beginTransaction(); try { $empresa = Empresa::create(['nomeEmpreendedor' => $request['nomeEmpreendedor'], 'razaoSocial' => $request['razaoSocial'], 'cpfCnpj' => $request['cpfCnpj'], 'email' => $request['email'], 'nomeFantasia' => $request['nomeFantasia'], 'slogan' => $request['slogan'], 'descricao' => $request['descricao'], 'horarioFuncionamento' => $request['horarioFuncionamento'], 'atendeCasa' => $request['atendeCasa'], 'linkSite' => $request['linkSite'], 'linkFacebook' => $request['linkFacebook'], 'numeroWhatsapp' => $request['numeroWhatsapp'], 'idUsuario' => $usuarioLogado->id, 'idTipoEmpresa' => $request['tiposEmpreendimentos'], 'idVendedor' => $usuarioLogado->Vendedor->id, 'idTipoCartao' => $request['tiposCartoes'], 'dataCadastro' => date('y-m-d')]); $categoria = CategoriaEmpresa::create(['idEmpresa' => $empresa->id, 'idCategoria' => $request['categorias']]); $qtdCartao = DB::table('cartoes')->count(); //TODO: Refatorar isso depois, pode dar errado caso os ids não estejam em ordem na tabela for ($i = 0; $i <= $qtdCartao; $i++) { if (!is_null($request[$i])) { $cartoesAceitos = CartaoAceito::create(['idEmpresa' => $empresa->id, 'idCartao' => $i]); } } $tags = explode(',', $request['tags']); $usuario = User::where('id', '=', $request['usuarios'])->first()->load('Comerciante'); //->load('Comerciante.AssinaturaComerciante') //->load('Comerciante.AssinaturaComerciante.Assinatura') //->load('Comerciante.AssinaturaComerciante.Assinatura.Plano'); //TODO: verificar o que está ocorrendo aqui //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Básico') { if ($plano == 'Básico') { for ($i = 0, $max = 0; $i < count($tags) && $max < 5; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } else { //if ($usuario->Comerciante->AssinaturaComerciante->Assinatura->Plano->nome == 'Pro') { if ($plano == 'Pro') { for ($i = 0, $max = 0; $i < count($tags) && $max < 15; $i++) { if (!empty($tags[$i])) { $tag = Tag::create(['nome' => $tags[$i], 'slug' => str_slug($tags[$i])]); $tagEmpresa = TagEmpresa::create(['idEmpresa' => $empresa->id, 'idTag' => $tag->id]); $max++; } } } } // $servicoEmpresa = ServicoEmpresa::create([ // 'idEmpresa' => $empresa->id, // 'idServico' =>'', // ]); } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar a empresa.'); return redirect('SuaEmpresa/Cadastrar'); } DB::commit(); //imagem principal if ($request->file('imagemPrincipal') != null) { $imagem_principal = $request->file('imagemPrincipal'); if ($imagem_principal->isValid()) { $extensao = $imagem_principal->getClientOriginalExtension(); $destinationPath = 'uploads'; $fileName = "imagem_principal_" . $empresa->id . '.' . $extensao; $imagem_principal->move($destinationPath, $fileName); $foto = Foto::create(['foto' => $fileName]); $fotoEmpresa = FotoEmpresa::create(['idEmpresa' => $empresa->id, 'idFoto' => $foto->id, 'destaque' => true]); } else { Session::flash('error', 'A imagem principal não parece ser válida.'); } } //adicionando imagens da galeria $files = []; if ($request->file('imagem1')) { $files[] = $request->file('imagem1'); } if ($request->file('imagem2')) { $files[] = $request->file('imagem2'); } if ($request->file('imagem3')) { $files[] = $request->file('imagem3'); } if ($request->file('imagem4')) { $files[] = $request->file('imagem4'); } $index = 0; foreach ($files as $file) { if ($file->isValid()) { $extensao = $file->getClientOriginalExtension(); $destinationPath = 'uploads'; $fileName = "imagem_galeria_" . $empresa->id . '_' . $index . '.' . $extensao; $file->move($destinationPath, $fileName); $foto = Foto::create(['foto' => $fileName]); $fotoEmpresa = FotoEmpresa::create(['idEmpresa' => $empresa->id, 'idFoto' => $foto->id, 'destaque' => false]); } else { Session::flash('error', 'Uma das imagens da galeria parece não ser válida.'); } $index = $index + 1; } Session::flash('flash_message', 'Empresa adicionada com sucesso!'); return redirect('SuaEmpresa'); } } }