public function getCriarpagina() { $categoriasOngs = CategoriaOng::all(); $categoriasEmpresas = CategoriaEmpresa::all(); return view('paginas.criar', compact('categoriasOngs', 'categoriasEmpresas')); }
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']); }
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'); } } }