コード例 #1
0
 public function getCriarpagina()
 {
     $categoriasOngs = CategoriaOng::all();
     $categoriasEmpresas = CategoriaEmpresa::all();
     return view('paginas.criar', compact('categoriasOngs', 'categoriasEmpresas'));
 }
コード例 #2
0
 public function run()
 {
     DB::table('categoria_empresas')->delete();
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-1']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-2']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-3']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-4']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-5']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-6']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-7']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-8']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-9']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-10']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-11']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-12']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-13']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-14']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-15']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-16']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-17']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-18']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-19']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-20']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-21']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-21']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-22']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-23']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-24']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-25']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-26']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-27']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-28']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-29']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-30']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-31']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-32']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-33']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-34']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-35']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-36']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-37']);
     CategoriaEmpresa::create(['nome' => 'global.company_type-cat-38']);
 }
コード例 #3
0
 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');
         }
     }
 }