public function store(Request $request) { $regras = array('email' => 'required|string', 'name' => 'required', 'perfis' => 'required|min:1'); $mensagens = array('required' => 'O campo :attribute deve ser preenchido.', 'perfis.min' => 'O campo perfil deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect('Usuario/cadastrar')->withErrors($validator)->withInput(); } $perfil = PerfilUsuario::where('id', '=', $request['perfis'])->first(); $usuarioLogado = Auth::User()->load('Vendedor'); if (Gate::allows('AcessoVendedor') && $perfil->tipo == 'Vendedor') { DB::beginTransaction(); try { $senha = rand(100000, 999999); $usuario = User::create(['name' => $request['name'], 'email' => $request['email'], 'password' => Hash::make($request['password']), 'idPerfilUsuario' => $request['perfis']]); Mail::send('Usuario.EmailTemplate', ['email' => $usuario->email, 'password' => $senha], function ($message) use($usuario) { $message->to($usuario->email, $usuario->name)->subject('BrasilSpot Login'); }); if ($perfil->tipo == 'Vendedor') { $regras = array('tiposVendedores' => 'required|min:1', 'metas' => 'required|min:1'); $mensagens = array('tiposVendedores.required' => 'O campo Tipos De Vendedores deve ser selecionado.', 'tiposVendedores.min' => 'O campo Tipos De Vendedores deve ser selecionado.', 'metas.required' => 'O campo Metas deve ser selecionado.', 'metas.min' => 'O campo Metas deve ser selecionado.'); $validator = Validator::make($request->all(), $regras, $mensagens); $vendedor = Vendedor::create(['idUsuario' => $usuario->id, 'idTipo' => $request['tiposVendedores'], 'idMeta' => $request['metas'], 'idVendedorPai' => $usuarioLogado->id]); } } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar o usuario.'); return redirect()->back(); } DB::commit(); Session::flash('flash_message', 'Usuário adicionada com sucesso!'); return redirect()->back(); } else { if (Gate::allows('AcessoVendedor') && $perfil->tipo == 'Comerciante') { DB::beginTransaction(); try { $senha = rand(100000, 999999); $usuario = User::create(['name' => $request['name'], 'email' => $request['email'], 'password' => Hash::make($senha), 'idPerfilUsuario' => $request['perfis']]); Comerciante::create(['idVendedor' => $usuarioLogado->Vendedor->id, 'idUsuario' => $usuario->id]); Mail::send('Usuario.EmailTemplate', ['email' => $usuario->email, 'password' => $senha], function ($message) use($usuario) { $message->to($usuario->email, $usuario->name)->subject('BrasilSpot Login'); }); } catch (Exception $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroException', 'Não foi possivel cadastrar o usuario.'); return redirect()->back()->withErrors($errors); } DB::commit(); Session::flash('flash_message', 'Usuário adicionada com sucesso!'); return redirect()->back(); } } return redirect()->back(); }
public function store(Request $request) { $regras = array('estado' => 'required|not_in:-1', 'endereco' => 'required', 'bairro' => 'required', 'cidade' => 'required', 'telefone' => 'required', 'isPrincipal' => 'required'); $mensagens = array('estado.required' => 'O campo Estado deve ser selecionado.', 'estado.not_in' => 'O campo Estado deve ser selecionado.', 'endereco.required' => 'O campo Endereço deve ser preenchido.', 'bairro.required' => 'O campo Bairro deve ser preenchido.', 'cidade.required' => 'O campo Cidade deve ser preenchido.', 'telefone.required' => 'O campo Telefone deve ser preenchido'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } DB::beginTransaction(); try { $endereco = Endereco::create(['endereco' => $request['endereco'], 'bairro' => $request['bairro'], 'estado' => $request['estado'], 'cidade' => $request['cidade'], 'lon' => $request['lon'], 'lat' => $request['lat'], 'cep' => $request['cep']]); $telefone = Telefone::create(['numero' => $request['telefone']]); $whatsAppNumero = $request['whatsapp']; if (!empty($whatsAppNumero)) { $whatsApp = WhatsApp::create(['numero' => $whatsAppNumero]); } $usuario = Auth::user(); $empresa = Empresa::where('idUsuario', '=', $usuario->id)->first(); $idEmpresa = $empresa->id; if (empty($idEmpresa)) { DB::rollBack(); return redirect()->back(); } $filial = Filial::create(['idEmpresa' => $idEmpresa, 'idEndereco' => $endereco->id, 'idTelefone' => $telefone->id, 'idWhatsApp' => $whatsApp->id, 'isPrincipal' => $request['isPrincipal']]); $idComerciante = Comerciante::where('idUsuario', '=', $usuario->id)->first(); $idsAssinaturasLiberadas = DB::select(DB::raw("select a.id from assinaturas a inner join assinaturasComerciantes ac on a.id = ac.idAssinatura where ac.idComerciante = :idComerciante and a.id not in(select idAssinatura from assinaturasFiliais)"), ['idComerciante' => 1]); if (count($idsAssinaturasLiberadas) > 0) { AssinaturaFilial::create(['idAssinatura' => $idsAssinaturasLiberadas[0]->id, 'idFilial' => $filial->id]); } else { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Não existe assinatura disponivel.'); return redirect()->back()->withErrors($errors); } } catch (ValidationException $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroTags', $exception); return redirect()->back()->withErrors($errors); } DB::commit(); Session::flash('flash_message', 'Filial adicionada com sucesso!'); return redirect()->back(); }
public function minhasAssinaturas() { $usuario = Auth::user(); $comerciante = Comerciante::where('idUsuario', '=', $usuario->id)->first(); $qtdAssinaturasTotais = Assinatura::where('idComerciante', $comerciante->id)->count(); $assinaturasComerciantes = Assinatura::where('idComerciante', $comerciante->id)->get(); return view('Comerciante.Assinatura')->with('qtdAssinaturas', $qtdAssinaturasTotais)->with('assinaturasComerciante', $assinaturasComerciantes); }