/**
  * 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');
 }
示例#3
0
 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');
         }
     }
 }